美团 一面凉经
到店 平台技术部
1, 自我介绍
2. raft的选举过程,raft的节点可以是偶数个吗?
3. raft集群出现网络抖动,选举出一个leader但是出现了网络问题导致其他节点重新选举并且这个过程一直持续,怎么办?
4.为什么用websocket不用http,websocket是如何实现的?
5.mysql的隔离级别
6.MVCC,MVCC的好处
7.mysql索引的底层
8.为什么用B+树不用B树
9.有一个sql语句select * from t where a=x and b = y
a).现在有a和b两个索引,会走哪个索引?
b).现在有a,b,(a,b),(b,a)四个索引会走哪个索引?
10. select * from t where a=x and b = y and c > z,有(a,b),(a,b,c),(b,c,a)会走哪个索引?
11. 为什么用redis而不用本地缓存,什么时候用redis?
12.如何保证redis和mysql的一致性?(说了延迟双删和先更新数据库再删缓存,又问这两个策略的使用场景)
13.redis的持久化方法,RDB和AOF的区别
14. 为什么redis比其他内存数据库快?
15.为什么用消息队列?
16.消息队列如何处理消息堆积?
17.如果说消费者代码有问题,怎么重新处理消费过的数据?
项目是一个6.824 raft和一个im系统,面试官说项目太轻量,进去不能直接做业务。
没问语言,没有算法题