一面
1.判断True or false
Integer a=128;
Integer b=128;
Integer c=2;
Integer d=2;
sout(ab);
sout(cd);
2.你对Java并发编程的理解
3.Java内存模型
4.JDK,JRE,JVM的关系
5.JVM内存模型
6.类加载过程
7.Redis的原子性如何实现?
8.Redis的缓存穿透?
9.Redis多个语句之间的原子性如何解决?(Lua脚本)
10.讲讲你的项目
11.算法:合并两个有序数组 , 快排
二面
1.NIO,AIO 一直深入到操作系统底层
2.线程池 线程池到底有什么用?打破沙锅问到底
3.Mysql的可重复读实现(MVCC原理)
4.Volatile的底层实现(Mesi缓存一致性协议)
5.手写单例模式,懒汉式到双重检查锁时,追问:如何防止被反射,
继续追问:如何防止被序列化拿到对象?
6.算法: 二叉树最大路径和(从根出发和不从根出发两种情况分别解)