美团-到家-Java开发-1面-11.17(80min)

秋招的第十五次面试。
  • 自我介绍。
  • 项目相关:
①Redis(有哪些数据类型,数据类型的底层实现;跳表用到了哪些数据类型,是怎么实现的;单机redis,集群redis了解多少;redis的持久化机制,分别是怎么实现的,两种机制的优缺点,哪种块哪种慢;缓存和数据库的一致性怎么保证;缓存雪崩,缓存击穿,缓存穿透);
②Kafka(一些宏观的名词解释,比如broker, topic,partion;消费者是自己去拉队列的数据,还是生产者把数据发给消费者;为什么要使用Kafka。)
③SpringBoot(IOC是什么,用了什么设计模式,虽然说没有看过源码,但还是引导我去分析源码实现;AOP是什么,用了什么设计模式,同样,虽然说没有看过源码,但还是引导我去分析源码实现;Bean的生命周期。)
④es(刚好面试官部门就是做推荐搜索的,业务中对es用的很多,但在我表明我只是简单应用之后,没有再追问。)
  • Java基础:ArrayList和LinkedList的区别和优缺点;HashMap的底层实现,1.8之前是怎么样的,1.8呢?
  • MySQL:索引(底层实现,为什么用B+树);锁(表锁,行锁,表锁和行锁哪个开销大,行锁发生锁冲突的概率比较小)
  • Java并发机制:悲观的并发策略;乐观的并发策略;详细问了synchronized的底层是怎么实现的(锁升级,synchronized里可以放String对象吗,不可以,锁不住);CAS机制(3个值,ABA问题,ABA问题怎么解决。)
  • JVM:JVM的组成;垃圾回收机制;新生代和老年代的划分比例(答错了,是1:2,15次之后转为老年代,老年代占比大);
  • 场景题:怎么求两个链表的相交部分(简单方法:双重循环;进阶:跳表;继续进阶:数据量非常大时,考虑桶排序,还有几种技术方案没记住);针对我的项目提问,怎么实现一键登录。
  • 其他:一致性哈希了解吗?
  • 算法题:LeetCode21.合并两个有序链表(第二次碰到这个题目了,快手也考过)。
  • 反问:面试官比较面善,人也很好。所以问了一个比较私人的问题(选择延毕半年找实习再就业是一个好的选择吗),面试官建议说不要害怕,不给自己留退路,逼自己一把,有差不多的offer就按时毕业入职。另外建议我可以加强对Redis源码和Spring源码的学习。
自我总结:
秋招遇到的最好的面试官,循循善诱,有引导有启发有建议。
从项目到基础到代码风格,各个方面都考察到了,不是机械式的你问我答,有引导有讨论,从浅入深,从一般到复杂,不会的还会给我讲明白,这是什么神仙面试官啊!
这次和往常面试很不一样的一点是,面试官会引导,比如我说没看过源码,面试官会说没关系,那你觉得可以怎么实现?然后一边提问一边提示一边复盘,他想看到你思考和解决问题的能力,这个过程真的让我学习到了很多。
希望能够有二面,有这样的mentor也太幸福了!
另,其实在这次面试前,我经历了一个长时间的内耗,翻来覆去不想面不想准备,就是心处精神油锅的状态,一度想打电话取消面试。但我反复告诉自己,没关系的,完成比完美更重要,完成它就好了,不用100分,60分也行,不及格也没关系。80min分钟面试结束,我又一次战胜了自己,为自己积累了下一次站在能力边界向外突破的勇气。勇气就是在这样一次次做让自己害怕的事情中积累出来的,不要被自己打倒!
全部评论
80分钟,换我底裤都问没了!
2 回复 分享
发布于 2021-11-18 12:10
很好,完成比完美更重要
2 回复 分享
发布于 2021-11-17 23:44
很棒的!向楼主学习!
点赞 回复 分享
发布于 2022-02-12 12:42
666
点赞 回复 分享
发布于 2022-01-19 10:51
怀疑我们遇到的是不是同一个面试官😂
点赞 回复 分享
发布于 2021-11-24 18:04
小姐姐有offer了吗
点赞 回复 分享
发布于 2021-11-22 11:29
面试官好好人
点赞 回复 分享
发布于 2021-11-20 12:26
加油,你的精神也鼓舞了我。完成比完美重要
点赞 回复 分享
发布于 2021-11-18 16:51
好强呀
点赞 回复 分享
发布于 2021-11-18 15:02
楼主很棒!
点赞 回复 分享
发布于 2021-11-18 13:53

相关推荐

不愿透露姓名的神秘牛友
07-08 13:05
点赞 评论 收藏
分享
评论
22
45
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务