15:00 - 16:01
1. 自我介绍
2. 实习公司情况
3. 实验室做的两个项目介绍
4. 用过哪些集合类
5. HashMap 的底层实现原理
6. HashMap 的扩容原理
7. 为什么要扩成 2 的次方倍
8. HashMap 是线程安全的吗?为什么
9. ConcurrentHashMap 的实现
10. CAS 是什么,原理
11. CAS 会带来的问题(ABA),ConcurrentHashMap 怎么解决 ABA 的
12. Java 中锁的实现
13. synchronized 关键字的底层原理,是否可重入,为什么可重入
15. 公平和非公平锁是什么
14. ReentrantLock 的实现
16. synchronized 和 Lock 的区别
17. 线程的实现方式
18. 你用过哪些线程方法
19. wait 和 sleep 的区别
20. ThreadLocal 的原理
21. ThreadLocal 的缺点?如何解决
22. GC 触发条件
23. 如何判断是垃圾
24. 类加载过程
25. SpringBoot 的启动流程
26. 用过哪些注解,有什么用
27. Bean 的实例化过程
28. @Autowire 的底层实现
29. Linux 用过哪些命令、查看 Java 进程的命令
30. 工厂模式的底层原理、基本结构
手撕:
1. 单例模式
2. 合并 K 个有序链表
3. 快排
反问:部门业务,还有几面(3 技术 + 1 HR),可以提前实习吗,表现得怎么样(还是不能说)
流程已结束。