引言
最近项目上线的频率颇高,连着几天加班熬夜,身体有点吃不消精神也有些萎靡,无奈业务方催的紧,工期就在眼前只能硬着头皮上了。脑子浑浑噩噩的时候,写的就不能叫代码,可以直接叫做Bug
。我就熬夜写了一个bug
被骂惨了。
第一家是美团
美团的话,三面下来,设计的内容知识也是挺广的吧,有MySQL、Redis、Kafka、线程、算法、+、volatile、线程、并发、设计模式等等…
一面问题:MySQL+Redis+Kafka+线程+算法
-
mysql知道哪些存储引擎,它们的区别
-
mysql索引在什么情况下会失效
-
mysql在项目中的优化场景,慢查询解决等
-
mysql有什么索引,索引模型是什么
-
B-树与B+树的区别?为什么不用红黑树
-
mysql主从同步怎么做
-
乐观锁与悲观锁的区别?
-
binlog日志
-
redis 持久化有哪几种方式,怎么选?
-
redis 主从同步是怎样的过程?
-
redis 的 zset 怎么实现的?
-
redis key 的过期策略
-
hashmap 是怎样实现的?为什么要用红黑树,而不用平衡二叉树?为什么在1.8中链表大于8时会转红黑树?HashMap为什么线程不安全的?
-
如何实现线程安全的hashmap?
-
select 和 epoll的区别
-
http与https的区别,加密怎么加的?
-
raft算法详细讲解
-
Kafka 选主怎么做的?
-
kafka如何保证生产与消费都是同步的?
-
kafka 怎么保证不丢消息的
-
redis如何保证高可用
-
算法:剪绳子(贪心或递归解决)
-
算法:给前序和中序遍历,重建二叉树
二面问题:volatile+线程+并发+算法+设计模式
-
自我介绍
-
讲讲项目(项目没啥亮点,直接问基础)