总体比较简单,面试官人也很好时间线:4.16投简历,4.18约面,4.24一面,4.26二面,晚上oc一面:(65min)1、HashMap 原理、为什么线程不安全、红黑树的结构2、ConcurrentHashMap 怎么保证线程安全、1.8 版本做了什么优化、为什么把 ReentrantLock 改成了 CAS + synchronized3、hashcode 和 equals,只重写一个会有什么问题4、最左匹配原则,联合索引 (a, b, c),查询条件:①a= 1 and c = 2 and b = 3、②a = 1 and b > 2 and c = 3、还有一个忘了5、为什么用 B+ 树作为索引6、事务隔离级别、可重复读解决了什么问题7、MySQL 实现的可重复读怎么解决脏读和不可重复读问题8、JVM 内存结构9、Redis 常用数据类型10、Redis 实现分布式锁11、缓存穿透、缓存雪崩12、缓存空值和布隆过滤器的区别、优缺点13、用过什么 mq、RocketMQ 的结构14、怎么保证不重复消费、消费失败了怎么办15、简单聊项目16、做题、LC143 重排链表二面:(60min)1、拷打项目半小时2、IoC3、BeanFactory 和 FactoryBean 的区别4、举例 AOP 适用场景、AOP 失效原因5、synchronized 和 ReentrantLock 区别、AQS 原理6、七个设计原则(面试前一小时才看过一遍,结果还是忘了一个)7、做题,LC82 删除排序链表中的重复元素II(一开始被题目描述的“进阶:空间 O(n),时间 O(n)”误导了,以为要用 HashMap,面试官提醒才反应过来其实一次遍历就行)8、怎么快速上手新项目9、怎么学习 Redis 的10、反问 #面经# #美团# #后端#