#面试#40min左右大致问题如下:1. 项目中收获最大,印象最深的技术或者难点2. 什么是工厂模式?项目中怎么用到了3. redis如何实现防止超卖,加锁加的是什么锁?4. 如果不使用redis锁,在并发的情况下,单独依靠mysql怎么保证线程安全,防止超卖?5. CAS、版本号,怎么避免CAS重试6. Kafka怎么保证数据不丢失?7. Kafka中如果leader宕机了,而follower没有同步完成,造成的数据丢失怎么避免?—— 配置问题8. Kafka为什么一个分区只能由消费者组的一个消费者消费?这样设计的意义是什么?9. Redis有哪些数据结构10. 使用redis实现布隆过滤器?讲一下布隆过滤器的原理?11. Redis的高可用体现在哪里?12. Redis集群分区为什么使用散列插槽而不是用哈希13. MySQL聚簇索引和非聚簇索引的区别?14. 为什么MySQL索引使用B+树?15. Java中的线程状态16. Java线程池的创建方式17. 线程池的参数18. 任务丢进线程池的流程19. Java中的synchronized和ReentrantLock的区别20. ReentrantLock怎么实现可重入21. AQS底层原理反问点评:缺少实习经历,项目技术栈不深入,有待加强。面试官人很好,会引导回答,可惜菜的是我,没有抓住机会