一面 30min

一面几乎全在问Java,问的很细致要求讲解源码中的具体实现

Java

  1. 集合类的三种类型(List\Set\Queue),每种的具体实现类,是否是线程安全的;

  2. HashMap的插入和扩容原理,插入时具体进行的操作,若遇到值相同如何操作,要求讲源码;

  3. ConcurrentHashMap如何保证线程安全,size方法源码,如何保证读取和计算size并发安全

  4. 线程安全的定义和实质,产生并发不一致的根本原因(原子性、顺序性、可见性),与JMM内存模型结合分析

  5. 可见性:volatile

  6. 锁机制的ReentrantLock的源码介绍,CAS和Volatile的作用

  7. CMS采用的垃圾回收算法,存在的问题(内存碎片),如何解决(Full GC)

  8. Java一个对象new从类加载机制到垃圾回收的具体操作

  9. Java的线程池的最大生存时间的作用

网络

  1. TCP报文中有哪些重要的字段

  2. 可靠性通过哪些 机制实现

  3. 流量控制如何实现

  4. 拥塞控制过程

  5. BBR算法

反问

多线程、源码多看看;线程池

感觉和之前看到的一个面经一样后悔没多准备😭 https://www.nowcoder.com/discuss/822941