a面:介绍项目,拷打项目1、sql优化问题2、mysql底层的数据结构,为啥要用b+树3、设计模式,单例模式4、rabbitmq的可靠性如何保证b面:1、java的三大特性2、Spring的单例模式,线程安全问题,Spring单例模式的作用域3、限流是怎么做的,什么场景下4、redis的穿透击穿问题(这边讲反了,被绕晕了)5、redis宕机该如何做(我说了最好做集群部署,然后他就问集群模式有哪些,给自己挖坑了)6、java中的线程安全问题是什么7、有哪些锁,详细讲讲8、线程池的参数,拒绝策略,阻塞队列9、redis的多线程设计,为什么要这么设计10、树的遍历怎么做,不用递归,为什么递归不好?(提到了可能会内存溢出,然后问为什么会内存溢出,就问到迭代法里面也用到栈了,这个栈存在哪儿?脑子抽了说在栈里面,应该是堆里面)11.redis的数据类型,string的最长长度是多少12.redid的默认aof刷盘到rdb的间隔时间