一面
美团问项目问的好深啊,在讲项目的时候穿插一些基础知识的问题,有些问题会问到不会为止
面试官很nice会进行一些提醒
1、说说你的第一个项目,从头开始说说。
2、Redis有哪些数据结构?
3、Redis的hyperloglog的原理知道吗?
4、Redis缓存与数据库数据的同步为什么要删除缓存而不是更新缓存?(答的是更新缓存的消耗比直接删除更大,成本问题)
5、Redis数据淘汰策略?
6、Redis为什么要使用LRU作为淘汰方式,不使用LFU呢?(底层实现简单)
7、如何实现一个LRU队列?
8、Redis为什么这么快?
9、为什么Redis要用单线程?(Redis的瓶颈不是在速度,而是在IO上)
10、除了epoll多路复用IO模型外,还了解其他的IO模型吗?
11、阻塞跟同步是什么区别?
12、kafka怎么保证消息不丢失
13、kafka怎么保证消息不重复消费
14、项目中遇到的最大的挑战是啥?
15、如何保证缓存跟DB数据的一致性?
16、项目给你带来的最大的收获是什么?
17、手写单例模式(双重判空+同步)
18、为什么要双重判空?
19、为什么要加volatile?volatile原理?
20、这样的单例模式是否会被破坏?
21、反射如何破坏的?(构造器)怎么防止反射破坏?
22、除了反射还有其他方法能够破坏单例模式吗?(序列化、克隆)
#美团面经#