一、HR提问:
(1)MVCC(√)
(2)数据库的四种隔离级(√)
(3)MySQL的隔离级别怎么由读已提交提高到可重复读(×)
(4)普通索引和主键索引的查询过程(× 把有关锁的东西全部背了一遍)
(5)Synchronized和ReentrantLock区别(× 当时没反应过来ReentrantLock是重入锁,一阵输出Synchronized)
(6)ArrayList和LinkedList的区别(√)
(7)Spring Boot中的Starter(×)
(8)ConcurrentHashMap底层(√)
(9)Java的八大基本类型(√)
(10)Redis数据类型(√)
(11)缓存穿透/击穿/雪崩,怎么预防(√)
(12)深入问了怎么通过加锁的方式预防缓存击穿(× 真不会)
(13)为什么Redis6.0之前是单线程(√)
(14)一个Java并发的场景题(× 具体是什么忘记了,真不会)
(15)Redis多层嵌套对象应该用String还是Hash存储(× 答成了Hash)
(16)ThreadLocal(√)
(17)线程的生命周期和状态(√)
(18)手撸二分查找(√)
二、反问:
我问:“我还有哪些地方需要加强”
HR:“你之前说八股没背完,不能抱着面试造火箭工作拧螺丝的态度去学习,不然来个1KW的并发你就招架不住”
三、总结:
数据库、Java容器、Java并发的八股背的还行,要开始背Spring Boot的八股了,项目经历有点单薄