一、项目+八股(55min)1、自我介绍2、简单介绍一下你的项目3、压测的性能瓶颈?怎么调试的?4、缓存的数据一致性问题怎么解决的?为什么选择这个方案?还可以优化吗?5、Redis为什么快?6、Redis的数据结构?7、Redis内存淘汰策略?8、什么是可重入?如何基于Redis实现一个可重入的分布式锁?9、set和set nx命令有什么区别?10、zet如何优化底层的查询的?11、设计冗余字段的背景是什么?优点是什么?缺点又是什么?12、MySQL的索引结构?13、为什么一般采用自增ID当主键?14、为什么做深度分页的时候会很慢?15、MySQL的日志文件主要有哪几种?16、事务管理通过哪些文件来管理的?17、String、StringBuilder和StringBuffer的区别?18、Synchorized和Lock的区别?19、Synchorized的锁升级过程?20、学习Java过程中,有没有什么事情是你反复练习的事情?21、介绍一件收获最大的事情?22、介绍一下项目中的多机竞争?怎么优化的?23、多机竞争的核心本质是什么?24、分表为什么要按照大小分表?有没有别的思路?分表解决的问题是冷热分离吗?25、用什么其他方案能够解决冷热数据的问题?26、怎么通过任务ID来定位到存储的表的?27、在任务生成前已经知道该任务存储到哪里了?28、你怎么知道切表了?二、算法(25min)重排链表(没做过,做了半天A了一半测试用例,面试官让说了一下思路)三、反问(5min)您觉得我本次面试有什么不足的地方?可以提供一些建议吗?(1)基础扎实,但是缺乏实践(2)实践的时候要多思考,选用哪种方案?为什么选用这种方案?有没有其他更好的方案?不要闭门造车。四、总结面试官很和蔼,遇到不会的问题也是循序渐进地引导,就是对于项目的拷打太狠了,另外算法还是刷的少了面完3分钟,北森代发短信通知过了,有佬知道美团会用这玩意吗?我一度怀疑是不是美团发的短信,如果我的外卖也能有这么高的效率就好了