26届暑期之美团、快手
美团面试体验很好,中间有一些题目忘记了,总体难度相比腾讯、字节小很多,八股盛宴,可能我运气好不是很难?
有趣的事,美团的面试是能看到上次面试官出的题目的,第一次见~
美团一面3.25:
1、算法:合并两个有序数组
2、算法优化:如果不是两个有序的你会怎么处理?(排序。。)
3、线程池的核心参数?
4、怎么排查线程池是否出现问题?(不会)
5、Mysql如果不建主键会有主键吗?(提到隐藏列RowId、事物id和版本链指针)
6、为什么会有隐藏列RowId的设计?(猜测是保证底层双向链表的一致性)
7、介绍一下HashMap(我从Java的HashMap一直讲到Redis的Hash,面试官也没打断我?)
8、介绍一下红黑树?红黑树最关键的步骤是哪一块?
9、拷打实习和项目
10、select a, b, c from table where b = ? 的情况下,a是主键,b是普通索引。问你这个SQL在什么场景下索引B会失效?为什么?什么是优化器?优化器认为全表扫描比走索引快,那具体是为什么?(给提示:说是在区分度较低的字段上建索引可能会导致索引失效)
美团二面3.26:
1、拷打实习和项目
2、SQL题(主键id、订单号id、订单类型):查不同订单类型中最大主键id的订单号;
3、不用手撕,讲思路:怎么找到数组中(没给大小)出现重复次数的前三个元素
4、解析一下为什么叫“不可重复读”的隔离级别?
5、Mysql是怎么解决不可重复读的问题的?
6、假设两个线程去并发做库存扣减导致“超卖”,你会怎么解决?(提到乐观、悲观的解决方案)
7、悲观加锁的话,具体加在什么位置?为什么?
8、如果不是并发,而是一个线程一前、一后,但是就是导致了“超卖”?你会怎么解决?(不知道想问什么?)
9、你知道多少种存储引擎?有什么区别?
10、你知道哪些设计原则?(提到依赖倒置、单一职责等等)
补充:
11、如果有个很急的需求,由你来主R,但是某些人的进度一直推进很满,不太愿意配合,你会怎么处理?(跟老板讲清楚这个需求的收益和价值,把该需求排到P0的优先级,让老板找对方老板沟通配合一下)
12、但是如果对方的rd还是不太配合,你该怎么办?(我也不知道该怎么办了~)
快手,永远的白月光!还是想回快手看看,面试官很友好,看起来很干练,手撕撕的很快,所以总体时间也比较短。
快手一面3.24(已过,下周二面):
1、算法:LRU
2、拷打实习和项目
3、Redis的数据结构介绍一下?
4、Redis的Hash相比之下做了哪些优化?(zipList、listpack、hashTable)
5、Redis的跳表介绍一下?
6、为什么Redis采用跳表而不是红黑树?为什么不是B+树?
7、其他忘了,主要拷打实习项目和Redis这块,因为偏toC