zoukankan      html  css  js  c++  java
  • 头条java 后台一面凉经

    链接:https://www.nowcoder.com/discuss/142537

    下午三点视频面:一上来怼jvm和gc

    1.讲讲jvm运行时数据库区

    https://blog.csdn.net/strawqqhat/article/details/88807835

    2.讲讲你知道的垃圾回收算法

    https://blog.csdn.net/strawqqhat/article/details/88129909#%E5%9E%83%E5%9C%BE%E5%9B%9E%E6%94%B6%E7%AE%97%E6%B3%95

    标记清除,复制,标记整理,分代回收。

    3.jvm内存模型jmm 知道的全扯了一遍

    4.内存泄漏与内存溢出的区别

    https://blog.csdn.net/strawqqhat/article/details/88817163

    5.何时会STW,所有垃圾回收器都会有STW吗

    答案:都有stw。

    包括

    1.1 Young GC类算法:Serial Young GC(DefNew)、Parallel Young GC、ParNew GC;

    1.2 Full GC类算法:Serial Old GC、PS MarkSweep GC / Parallel Old GC、Full GC for CMS算法、Full GC for G1 GC算法;

    1.3 G1 GC算法:Young GC/Mixed GC 是stw的;

    2. CMS算法是怎么回事呢?

    2.1 CMS(Old)GC算法只在初始标记(initial mark)和再标记(remark)阶段stw一下;

    2.2 类似的,G1 GC算法在其标记阶段某几个时段是stop the world的,比如初始标记(initial mark)、再标记(remark)、清理(cleanup)阶段;

    6.mysql数据库默认存储引擎,有什么优点

    InnoDB 引擎

    MySQL 5.5 及以后版本中的默认存储引擎,他的优点如下:

    灾难恢复性好
    支持事务
    使用行级锁
    支持外键关联
    支持热备份
    对于InnoDB引擎中的表,其数据的物理组织形式是簇表(Cluster Table),主键索引和数据是在一起的,数据按主键的顺序物理分布
    实现了缓冲管理,不仅能缓冲索引也能缓冲数据,并且会自动创建散列索引以加快数据的获取
    支持热备份
    MyISAM引擎

    特性如下:

    不支持事务
    使用表级锁,并发性差
    主机宕机后,MyISAM表易损坏,灾难恢复性不佳
    可以配合锁,实现操作系统下的复制备份、迁移
    只缓存索引,数据的缓存是利用操作系统缓冲区来实现的。可能引发过多的系统调用且效率不佳
    数据紧凑存储,因此可获得更小的索引和更快的全表扫描性能
    MEMORY 存储引擎

    提供内存表,也不支持事务和外键。显著提高访问数据的速度,可用于缓存会频繁访问的、可以重构的数据、计算结果、统计值、中间结果。

    缺点如下:

    使用表级锁,虽然内存访问快,但如果频繁的读写,表级锁会成为瓶颈
    只支持固定大小的行。Varchar类型的字段会存储为固定长度的Char类型,浪费空间
    不支持TEXT、BLOB字段。当有些查询需要使用到临时表(使用的也是MEMORY存储引擎)时,如果表中有TEXT、BLOB字段,那么会转换为基于磁盘的MyISAM表,严重降低性能
    由于内存资源成本昂贵,一般不建议设置过大的内存表,如果内存表满了,可通过清除数据或调整内存表参数来避免报错
    服务器重启后数据会丢失,复制维护时需要小心
    如果选择合适的引擎?

    是否需要事务支持
    是否为高并发,InnoDB实现了行锁,这方面的表现大大优于MyISAM
    索引,不同存储引擎的索引实现不同
    是否需要外键
    高效缓冲数据,InnoDB缓冲数据而MyISAM只缓冲了索引
    备份,是否需要支持热备份

    7.优化数据库的方法,从sql到缓存到cpu到操作系统,知道多少说多少

    参考:https://www.cnblogs.com/jpfss/p/7363927.html

    8.什么情景下做分表,什么情景下做分库

    https://blog.csdn.net/strawqqhat/article/details/88818291

    9.linkedList与arrayList区别 适用场景

    https://blog.csdn.net/strawqqhat/article/details/88818522

    10.array list是如何扩容的

    https://blog.csdn.net/zymx14/article/details/78324464

    11.String str = new String(“abc”)的操作有几个对象产生

    https://blog.csdn.net/strawqqhat/article/details/88818628

    12.手撕代码 删除链表中所有重复元素

    https://blog.csdn.net/strawqqhat/article/details/88819261

    13.怼项目 秒杀模块怎么设计的,如何压测,抗压手段,如何保证数据库与redis缓存一致的,消息队列怎么用的

    (一小时左右)

    结束 面试官说三天内给消息?

  • 相关阅读:
    关于博客转移
    Leetcode 双周赛 42 题解
    Leetcode 220 周赛 题解
    Leetcode 双周赛 41 题解
    Leetcode 周赛 219 题解
    求解组成最大最小周长三角形
    友链
    维护日志
    投喂记录
    Scipy.optimization
  • 原文地址:https://www.cnblogs.com/strawqqhat/p/10602160.html
Copyright © 2011-2022 走看看