全程50+min1.自我介绍2.先做题lc56.合并区间,最开心的一集3.在本地ide上用的AI代码助手是哪家的,你还用过哪些相关产品,相比之下有什么优点(我用的是通义灵码,狠狠地舔了一波)4.先拷打一下项目(我做的是尚硅谷的乐尚代驾),问的问题没有那么深入 a)司机抢单分布式锁的实现? b)如果司机取消抢到的订单,整体业务会有什么变化? c)怎么使用drools编写规则的,为什么要用(大致是这个意思)? d)分布式事务不用Seata的@GlobalTransactional注解的话,你会如何实现?5.Java基础 a)反射为什么要比普通调用速度慢?(没答出来) b)枚举类是可继承的吗?为什么?(忘记了,我跟面试官说我猜是用final修饰的) c)创建对象的方法有哪些? d)ConcurrentHashMap是线程安全的吗,原理是什么 e)介绍线程池的corePoolSize, maximumPoolSize, workQueue以及他们之间如何相互作用的? f)两个线程同时执行++i操作,为什么会发生问题? g)两个线程同时对一个volatile修饰的变量进行修改,会发生这种问题吗 h)Synchronized和Reentrantlock的区别? i)ThreadLocal原理? j)讲一下强引用和弱引用? k)用过哪些多线程编程的相关类?(没想起来,只答了CompletableFuture还有相关使用)6.Redis a)关于磁盘IO(我说了持久化机制,应该……可以吧) b)Hash数据结构的rehash,主要细问了渐进式hash。 c)Redis是单线程吗?为什么会有这么高的性能?7.Mysql a)Mysql使用的存储引擎中什么是支持事务的? b)InnoDB用的什么数据结构?B+树相比B树的优点是什么? c)可重复读和读已提交是如何实现的? d)Undolog链什么时候会删除?(没有关注过这个,没答出来) e)索引相关,学生表查询name和score,你会如何设计索引?8.Spring a)Spring AOP原理? b)Transactional注解的原理是什么? c)关于Bean的作用域相关的问题,使用什么注解来设置作用域?(真忘了) d)Spring是如何解决循环依赖的?大致就记得这么多……目前面试表现最好的一次,也是八股问的最多的一次