第一次能连续过2面,不容易(已过二面)有些记得不是很清楚,但是大差不差1.== 与equals的区别2.提到了Integer,Integer a = 1,b = 1;a == b结果是什么?3.有用到java里的哪些集合?4.你说用到了ArrayList,哪你是用ArrayList做什么操作的?5.假如你做了一个项目很多人去访问数据,但是你的系统服务器CPU飙升,但是数据库CPU正常,这是怎么回事?怎么去解决?6.你说到HashMap了,你知道他的原理是什么吗7.哪提到了死循环了,哪你是如何判断有死循环的(力扣判断环形链表),哪你咋找到的这个环的入口的(力扣判断环形链表II)8.如果在多线程情况下无法使用HashMap,哪有什么解决方案吗9.为啥不去选择HashTable?ConcurrentHashMap你是怎么用的10.你在你的项目中是如何保证线程安全的11. 说一下对volatile的理解12.Volatile底层原理是什么13.volatile与synchronization的区别是什么?14.如果有任务来了,如果线程池核心线程数满了,任务队列满了,这个任务会有个啥结果?你说会创建空闲线程去执行,哪他一定会被空闲线程去执行吗?15.说一下线程池的拒绝策略16.有用过什么数据库吗?17.为什么去使用MySQL(答的他性能好,又各种的客户端界面,方便,成本低)18.你提到了索引,说一说索引他又有什么失效的场景?19.你是怎么排查的索引失效的?20.假如你有一张表去查询他的数据,响应的时间很长,是什么情况导致的,有什么解决方案(SQL慢查询)21.看你项目里使用的Redis,哪你是如何保证Redis和MySQL的一致性的22.很多人去访问你的项目,多到1秒10w人访问,想你项目中有用户的信息,商户的一些信息,你是如何保证他们的信息安全,怎么保证他们访问的就是自己的数据(答了保证接口安全的一些,jwt令牌,redis存储信息好像都不对ThreadLocal蹭点边让我好好思考)23.如果你有一个实体类,我对实体类有很多操作,但是大部分代码是重复的,如何在添加进数据库之前节省一点操作?(答了使用AOP但是还有一些操作)24.MybatisPlus是怎么用的(说了自己咋定义的实体类,咋使用他的一些方法)25.反问