一、HR提问:
(1)InnoDB / MyISAM(√)
(2)聚簇索引 / 非聚簇索引(√)
(3)MySQL大表优化(√)
(4)水平分表策略(√)
(5)List / Set(√)
(6)HashMap中JDK1.6 / 1.7的区别(√)
(7)红黑树的查找过程(×)
(8)HashMap扩容过程(√)
(9)sleep() / wait()(√)
(10)两个大文件怎么找出相同的数字(×)
(11)ThreadLocal(√)
(12)子线程如何获得父线程的ThreadLocal(×)
(13)线程能同时访问类中的两个Synchronized的同步方法吗(√ 蒙对了)
(14)这两个同步方法能互相访问吗(√ 蒙对了)
(15)lock锁(√)
(16)如何实现所有线程在某个线程发生了之后再执行(×)
(17)如何保证多线程下的i++结果正确(√ i++是非原子性操作 要加锁保证原子性)
(18)volatile是怎么知道多线程下数据变更的(×)
(19)哪些情况会出现Full GC(√)
(20)如何排查Full GC(√)
(21)数组在JVM的堆中还是栈中(√ 数组是引用数据类型)
(22)线程池的执行流程(√)
(23)线程池的拒绝策略(√)
二、总结:
(1)Java基础、集合、并发的基础的部分掌握的还行,JVM、计算机网络的八股还没开始背
(2)一些深入的八股还有待研究。
(3)以后碰到Java并发的场景设计题,要多往 synchronized 关键字和 Lock 接口上靠
(3)每次遇到设计场景题都不知道怎么答