美团平台java后端一面面经
昨天下午面的,到现在没消息估计是寄了。挣扎一下写个面经攒攒人品。
1. 介绍一下你自己
2. 手撕算法剑指 Offer 42. 连续子数组的最大和
3. 智力题:n个直线分割一个平面,写f(n)
1+n(n+1)/2
4. 智力题附加:n个角(一端顶点俩射线)分割一个平面,写f(n)
不会
5. 实习经历说一下
讲了把表的附加属性字段(需要经常添加的字段)分离出来,用一个字段json串存储,又建了一个附加表去对应字段,然后被狠狠问附加表和这个json字段冗余的存在意义。答得是方便后续像品牌增加属性的管理,以及前端做匹配需要这个表。
6. (前一问扯到mysql的表级锁)mysql用什么索引,只有表级锁么
InnoDB索引,颗粒度很高,表级锁行级锁意向锁间隙锁之类的都有。(后面又扯了一会儿这个附加表的价值,最后面试官觉得我的表架构他理解了,但是还是觉得没必要上这个冗余。。。。)
7. 问做过的索引优化
业务条件查询时,做了一个联合索引
8. 问InnoDB引擎查询sql语句时,怎么匹配
Select * from t where a=1,b=1,c=1
联合索引时遵循最左匹配原则,其中原理和索引的数据结构有关,B+树存储横向是先a再b再c
9. 问没有联合索引的情况下呢?普通索引
看主键索引,因为主键索引中叶子节点是存储了该数据所有字段信息的。
10. 那如果没有主键索引呢?
知识盲区
(后来看了一眼是优化器计算开销,看过但是忘了)
11. 写个sql吧,name主键,score字段,查这个表中分数第二高的人。
面试官人很好,气氛引导很轻松,中间一直在说没事,这是额外的问题。然后问业务的时候争论了一阵子,不知道好事坏事。最后没感谢我的时间,详细介绍了一下部门业务,以为会过的😭#你收到了团子的OC了吗##美团2024秋招#
1. 介绍一下你自己
2. 手撕算法剑指 Offer 42. 连续子数组的最大和
3. 智力题:n个直线分割一个平面,写f(n)
1+n(n+1)/2
4. 智力题附加:n个角(一端顶点俩射线)分割一个平面,写f(n)
不会
5. 实习经历说一下
讲了把表的附加属性字段(需要经常添加的字段)分离出来,用一个字段json串存储,又建了一个附加表去对应字段,然后被狠狠问附加表和这个json字段冗余的存在意义。答得是方便后续像品牌增加属性的管理,以及前端做匹配需要这个表。
6. (前一问扯到mysql的表级锁)mysql用什么索引,只有表级锁么
InnoDB索引,颗粒度很高,表级锁行级锁意向锁间隙锁之类的都有。(后面又扯了一会儿这个附加表的价值,最后面试官觉得我的表架构他理解了,但是还是觉得没必要上这个冗余。。。。)
7. 问做过的索引优化
业务条件查询时,做了一个联合索引
8. 问InnoDB引擎查询sql语句时,怎么匹配
Select * from t where a=1,b=1,c=1
联合索引时遵循最左匹配原则,其中原理和索引的数据结构有关,B+树存储横向是先a再b再c
9. 问没有联合索引的情况下呢?普通索引
看主键索引,因为主键索引中叶子节点是存储了该数据所有字段信息的。
10. 那如果没有主键索引呢?
知识盲区
(后来看了一眼是优化器计算开销,看过但是忘了)
11. 写个sql吧,name主键,score字段,查这个表中分数第二高的人。
面试官人很好,气氛引导很轻松,中间一直在说没事,这是额外的问题。然后问业务的时候争论了一阵子,不知道好事坏事。最后没感谢我的时间,详细介绍了一下部门业务,以为会过的😭#你收到了团子的OC了吗##美团2024秋招#