我是怎么倒在美团第三轮面试之下的

简介: 说实话,之前我从来没想过能有大厂会给我机会让我去面试,一个专科生,不是科班出身,这些硬性条件好像都没有一个符合的,但是却获得了美团的面试机会。很庆幸自己获得那次机会,也让我深刻体会到了面试大厂,到底需要你达到什么样子的水平。

第一面 -- 30分钟

说起来第一面还挺有意思的,之前刚刚去外边面试回来,然后一个电话打了进来,当时没有指明需要我去现场面试,只是说能否进行一个视频面试或者电话面试,然后邀约时间,就这样,我就答应了下来,于是在一个夜黑风高的晚上,一个视频电话打了过来。

第一面好像给面试官的印象还不错,做完自我介绍之后,他随口提了一句,数据结构怎么样?,我回答的是还可以,说实话,我当时虚的要命,因为那时候数据结构我虽然一直在看,也刷过一些题,但是确实不是很熟练,但是这个牛吹出去了,也得继续把他吹圆满呀,于是开始了问题。

1. 定义栈的数据结构,在该类型中实现一个能够得到栈最小元素的 min 函数。

这个问题我在知识星球里面也分享过了,回答的还可以,当时可能是在刷面试题的时候有印象,然后回答好之后面试官点了点头,说大致思路是对的,具体的实现就不需要我写了,于是心惊胆战的过了这一道题。

2. 你在工作中遇到过棘手的什么问题么?可以随便列举。

当时听完这句话,瞬间想爆炸,我当时在想,我要说个空指针会不会被弄死,哈哈哈哈,开玩笑的,当时就回答了几个在使用框架的时候遇到的一些版本不一致的坑,还有在 Redis 中遇到的因为 GC 的问题导致 Redis 数据异常的一些情况,然后说了我们当时是怎么处理的,说完自我感觉良好,面试官当时思考了几分钟之后,应付的说了两句话,也没有发表任何的意见。我当时心里感觉慌了,完了,第一波这是要凉凉呀,反转剧情出现,面试官开始和我聊人生,然后问了问年纪,工作了几年之类的话题,于是30分钟的电话面试就结束了。

挂断电话,内心还懵逼中,两个问题,然后就开始聊人生了?9.jpg

当时内心已经不抱任何希望了,没想到第三天电话再次打来,邀约进行现场面试。

第二面 -- 50多分钟

第二面确实是很全面的面试了,内容包含的挺全面的,从基础,到框架,到服务器上的一些 Linux 的一些命令,我给大家简单的列举几个

  1. HashMap 是线程安全的吗?为什么?

当时听到这个问题,我就知道还有下文,肯定是不安全的,这还用说,为什么?我就开始长篇背诵,HashMap 的实现里没有锁的机制,然后巴拉巴拉一大堆,至于为什么不安全我相信观众肯定也都知道,具体的为什么不安全,请看之前的文章,最近也有一个文章在说 HashMap,重点来了,说完之后,接下来问,如果我要用线程安全的,效率还稍微较高的,这时候来了 ConcurrentHashMap 就开始继续吹了,结果还行,这个问题回答的还可以。之后就是第二个问题了

  1. JVM 的垃圾回收机制你了解么?能简单说说么?

这个面试题之前我是有准备过的,然后就开始了我的老年代和新生代的各种垃圾回收机制和算法,具体文章

[https://mp.weixin.qq.com/s/y0cGrnqFLcRUOTLM-9WOzw]

这个问题回答完,时间才过去20分钟而已,感觉好煎熬,怎么办?硬撑,这2个问题还算是可以的,然后就开始第三道题目了。

  1. 你对设计模式是怎么理解的,工作中使用过么?都是怎么使用的,为什么会使用呢?

一连串的问题,让我有点蒙圈,不过我还是比较老实的回答了,设计模式,单例,工厂,策略,然后简单的说了一下他们在具体工作中我都是怎么使用的,尤其是写代码的时候会注意到哪些内容。10.jpg

当时我感觉第四个问题会不会深度更加的大的时候,然后面试官说了一句,你们工作中用的都是什么框架,你觉得他们都有哪些缺陷?

这个问题抛出来的时候,我还很开心,结果事实证明,高兴过头是需要付出代价的,我把 Spring, SpringMVC, Mybatis, 都说了,顺带也提了 Hibernate 和Struts2,结果因为我的话多了,面试官问到了那你们用的时候怎么选型的,为什么使用 Hibernate 而不适用 Mybatis,区别在哪里,优点和缺点在哪里?

这句话说完,内心感觉快凉透了呀,这你让我说 Spring 和 SpringMVC 还有Mybatis,那我还能扯淡一会,但是你让我说他们怎么选型,考虑哪些方面,这个我确实是了解的不多呀,我就简单的说了一下,面试官问了一下,还有呢?我回答的是,我目前了解的只有这么多了,结果可想而知,面试官的脸色已经开始阴云密布了。于是开始了不愉快的第四题。

  1. Linux 用的多么?你们之前公司都是怎么负责上线的?

由于之前的公司小的很,确实没什么可说的,于是我的经典回答,项目第一次部署不是我,我们更改了需求之后都是在测试环境下,然后编译出相对应的class 文件,然后做替换,然后我说了我上一家公司的名字,面试官可能百度了一下,确实是个小公司,可能没有那么正规,于是这个问题回答的还算凑活,在我看来,可能算是勉勉强强过关了。

  1. 你前端怎么样,你们之前公司前端使用的是什么?你写前端代码么?

说实话,这个问题有坑,你如果说你不写,那是不可能的,你如果说你写,那问题就多了,于是我偷了个巧,说了一句,前端还是写的,我们大部分写的都是 JS 代码,HTML 和 CSS 代码我会改,然后面试官问了几个常用的 JS 方法,还有常用的前端框架中的几个知识点,这完美的第二次面试就过去了。

  1. Mysql的存储引擎你都知道哪些,如何做优化等问题。

关于这个确实我不是很擅长,这也可能是我的一个非常薄弱的一个地方,然后我回答的总之不是特别的好,后来回来之后,把关于数据库的知识,恶补了一下,也曾经写过一篇文章,专门来谈索引的优化,和数据库方面的,有兴趣的伙伴可以去看一下。

总体来说,二面结果还行,和我预料的虽然不太一样,但是效果还可以,出门的时候,如释重负,感觉空气都新鲜了好多。11.jpg

第三面 -- 40多分钟左右的样子

第二面面完之后,我当时很庆幸,和面试官聊得还行,于是,有了第三次的邀约面试,这次面试感觉就不如之前的面试了,总体面试体验不是很好,因为是第三面了,结果最终倒在了这一轮,成功的被美团拒之门外,这次面试可能确实是一个坎,我给大家说一下都有哪些问题。

  1. 如何排查线上出现的 JVM 的问题。
  2. 给你一个接口,你如何处理重复的请求。
  3. TCP/IP 协议,三次握手和四次挥手到底是怎么回事。
  4. 分布式的 Session 如何处理。

目前我好像记住的就是这个四个问题了,这四个问题,自我感觉,这四个问题,面试官好像是一点都不满意,结果不用想,其他的回答上来的问题,记得不太清楚了,其中有何第二轮面试相似的题目,而我,成功的倒在了第三轮面试中。

其实说真的,我没抱希望能够进美团,毕竟人家是大厂,问的东西确实很给力,最后的这几个问题,面试官还给我做了解答,虽然没有通过面试,但是面试官给我的一些建议我还挺高兴的。

面试官最后对我说,其实很多东西底层都是相通的,这些东西有时候你会用,但是你不知道他到底是怎么实现的,这就有很大的问题了,因为你不知道他怎么实现,所以当它出现问题的时候,你根本不知道怎么去处理,所以你现在欠缺的是把如何用变成为什么用?这句话让我醍醐灌顶呀,确实,现在太多的东西都知道怎么用,但是为什么用,这么用有什么好处却真的不知道。

总结

其实通过这次面试,我也总结出大厂对社招人员的一些要求:

  1. 性能优化,数据结构和算法(非常重要)。
  2. 高并发,怎么处理这类的事情。
  3. 数据库的分库分表,底层实现,索引优化。
  4. 基础(HashMap,JVM,Mybatis,Http,TCP/IP)。

这就是我拜倒在美团门前的一些经验,希望各位能加快自己的脚步,补充自己的知识,早日进入大厂,完成自己的目标。

我是懿,一个正在被打击却努力前进的码农。


欢迎加入我们的知识星球,一起成长,交流经验。加入方式,长按下方二维码噢

最后,我想重复一句话:选择和一群优秀的人一起成长,你成长的速度绝对会不一样!

相关文章
|
2月前
|
存储 安全 Java
每日大厂面试题大汇总 —— 今日的是“美团-后端开发-一面”
文章汇总了美团后端开发一面的面试题目,内容涉及哈希表、HashMap、二叉树遍历、数据库索引、死锁、事务隔离级别、Java对象相等性、多态、线程池拒绝策略、CAS、设计模式、Spring事务传播机制及RPC序列化工具等。
49 0
|
26天前
|
SQL 缓存 关系型数据库
美团面试:Mysql 有几级缓存? 每一级缓存,具体是什么?
在40岁老架构师尼恩的读者交流群中,近期有小伙伴因未能系统梳理MySQL缓存机制而在美团面试中失利。为此,尼恩对MySQL的缓存机制进行了系统化梳理,包括一级缓存(InnoDB缓存)和二级缓存(查询缓存)。同时,他还将这些知识点整理进《尼恩Java面试宝典PDF》V175版本,帮助大家提升技术水平,顺利通过面试。更多技术资料请关注公号【技术自由圈】。
美团面试:Mysql 有几级缓存? 每一级缓存,具体是什么?
|
2月前
|
算法 Java 数据库
美团面试:百亿级分片,如何设计基因算法?
40岁老架构师尼恩分享分库分表的基因算法设计,涵盖分片键选择、水平拆分策略及基因法优化查询效率等内容,助力面试者应对大厂技术面试,提高架构设计能力。
美团面试:百亿级分片,如何设计基因算法?
|
2月前
|
存储 监控 算法
美团面试:说说 G1垃圾回收 底层原理?说说你 JVM 调优的过程 ?
尼恩提示: G1垃圾回收 原理非常重要, 是面试的重点, 大家一定要好好掌握
美团面试:说说 G1垃圾回收 底层原理?说说你 JVM 调优的过程  ?
|
2月前
|
SQL 存储 关系型数据库
美团面试:binlog、redo log、undo log的底层原理是什么?它们分别实现ACID的哪个特性?
老架构师尼恩在其读者交流群中分享了关于 MySQL 中 redo log、undo log 和 binlog 的面试题及其答案。这些问题涵盖了事务的 ACID 特性、日志的一致性问题、SQL 语句的执行流程等。尼恩详细解释了这些日志的作用、所在架构层级、日志形式、缓存机制以及写文件方式等内容。他还提供了多个面试题的详细解答,帮助读者系统化地掌握这些知识点,提升面试表现。此外,尼恩还推荐了《尼恩Java面试宝典PDF》和其他技术圣经系列PDF,帮助读者进一步巩固知识,实现“offer自由”。
美团面试:binlog、redo log、undo log的底层原理是什么?它们分别实现ACID的哪个特性?
|
28天前
|
SQL 关系型数据库 MySQL
美团面试:Mysql如何选择最优 执行计划,为什么?
在40岁老架构师尼恩的读者交流群中,近期有小伙伴面试美团时遇到了关于MySQL执行计划的面试题:“MySQL如何选择最优执行计划,为什么?”由于缺乏系统化的准备,小伙伴未能给出满意的答案,面试失败。为此,尼恩为大家系统化地梳理了MySQL执行计划的相关知识,帮助大家提升技术水平,展示“技术肌肉”,让面试官“爱到不能自已”。相关内容已收录进《尼恩Java面试宝典PDF》V175版本,供大家参考学习。
|
2月前
|
算法 Java 数据库
美团面试:百亿级分片,如何设计基因算法?
40岁老架构师尼恩在读者群中分享了关于分库分表的基因算法设计,旨在帮助大家应对一线互联网企业的面试题。文章详细介绍了分库分表的背景、分片键的设计目标和建议,以及基因法的具体应用和优缺点。通过系统化的梳理,帮助读者提升架构、设计和开发水平,顺利通过面试。
美团面试:百亿级分片,如何设计基因算法?
|
2月前
|
消息中间件 存储 缓存
美团面试: Kafka为啥能实现 10Wtps 到100Wtps ?kafka 如何实现零复制 Zero-copy?
40岁老架构师尼恩分享了Kafka如何实现高性能的秘诀,包括零拷贝技术和顺序写。Kafka采用mmap和sendfile两种零拷贝技术,前者用于读写索引文件,后者用于向消费者发送消息,减少数据在用户空间和内核空间间的拷贝次数,提高数据传输效率。此外,Kafka通过顺序写日志文件,避免了磁盘寻道和旋转延迟,进一步提升了写入性能。尼恩还提供了系列技术文章和PDF资料,帮助读者深入理解这些技术,提升面试竞争力。
美团面试: Kafka为啥能实现 10Wtps 到100Wtps ?kafka 如何实现零复制 Zero-copy?
|
2月前
|
NoSQL Java API
美团面试:Redis锁如何续期?Redis锁超时,任务没完怎么办?
在40岁老架构师尼恩的读者交流群中,近期有小伙伴在面试一线互联网企业时遇到了关于Redis分布式锁过期及自动续期的问题。尼恩对此进行了系统化的梳理,介绍了两种核心解决方案:一是通过增加版本号实现乐观锁,二是利用watch dog自动续期机制。后者通过后台线程定期检查锁的状态并在必要时延长锁的过期时间,确保锁不会因超时而意外释放。尼恩还分享了详细的代码实现和原理分析,帮助读者深入理解并掌握这些技术点,以便在面试中自信应对相关问题。更多技术细节和面试准备资料可在尼恩的技术文章和《尼恩Java面试宝典》中获取。
美团面试:Redis锁如何续期?Redis锁超时,任务没完怎么办?
|
2月前
|
SQL 关系型数据库 MySQL
美团面试:mysql 索引失效?怎么解决? (重点知识,建议收藏,读10遍+)
本文详细解析了MySQL索引失效的多种场景及解决方法,包括破坏最左匹配原则、索引覆盖原则、前缀匹配原则、`ORDER BY`排序不当、`OR`关键字使用不当、索引列上有计算或函数、使用`NOT IN`和`NOT EXISTS`不当、列的比对等。通过实例演示和`EXPLAIN`命令分析,帮助读者深入理解索引失效的原因,并提供相应的优化建议。文章还推荐了《尼恩Java面试宝典》等资源,助力面试者提升技术水平,顺利通过面试。

热门文章

最新文章

下一篇
无影云桌面