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

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

第一面 — 30分钟

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

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

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

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

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

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

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

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

第二面 — 50多分钟

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

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

当时听到这个问题,我就知道还有下文,肯定是不安全的,这还用说,为什么?我就开始长篇背诵,HashMap 的实现里没有锁的机制,然后巴拉巴拉一大堆,至于为什么不安全我相信观众肯定也都知道,具体的为什么不安全,请看之前的文章,最近也有一个文章在说 HashMap,

重点来了,说完之后,接下来问,如果我要用线程安全的,效率还稍微较高的,这时候来了 ConcurrentHashMap 就开始继续吹了,结果还行,这个问题回答的还可以。之后就是第二个问题了

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

总结

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

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

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

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

文章来源于Java极客技术 ,作者懿

Image placeholder
IT头条
未设置
  56人点赞

没有讨论,发表一下自己的看法吧

推荐文章
清华退学王垠 VS 阿里P10 赵海平,这场面试之战到底谁赢了?

知乎上有一个话题:如何评价阿里P10赵海平对王垠的面试?最近成了热帖,这下赵海平跟王垠这次是真的火了。由于本事件像电影的情节一环扣一环,文章比较长,直接一句话说下该事件始末:网红王垠受邀面试阿里P9岗

【搞定 Java 并发面试】面试最常问的 Java 并发基础常见面试题总结!

Java并发基础常见面试题总结 1.什么是线程和进程? 1.1.何为进程? 进程是程序的一次执行过程,是系统运行程序的基本单位,因此进程是动态的。系统运行一个程序即是一个进程从创建,运行到消亡的过程。

在美国当工程师有多爽

一名美国程序员以自己五分之一的薪资,把自己的工作外包给中国程序员。这样他啥也不干,就完成工作,还年入20万美元…​​​这事发生在2012年,事情是这样的…主人公是个叫Bob的美国程序员。他40多岁,性

DBA职业发展之路:去“IOE”等挑战之下,DBA将何去何从?

开篇随着近些年来,开源、自动化、云化的兴起,DBA职业也正悄然发生一些变化。经常有朋友咨询我,职业发展规划;特别是近期Oracle的大幅裁员之后,针对DBA这一职业未来该如何发展?本文是个人对此问题的

TF中文社区之下,国内云网络的开源之路

北国的冬,似乎比想象中要来得晚一些。立冬前夕,阳光还未褪去金秋的温婉,碧云黄叶,书香意气,充盈在山东大学(青岛校区)的校园里。迎着温暖的阳,和煦的风,中国开源云网络的种子在这里生根发芽——Tungst

GitHub回应突然断供:身在美国不由己,无权提前通知预警

乾明发自凹非寺 转自量子位 |公众号QbitAI“GitHub受美国贸易法的约束,就像任何在美国开展业务的公司一样。”这是GitHubCEONatFriedman对GitHub限制伊朗等地账户给出的回

美团BERT的探索和实践

他山之石,可以攻玉。美团点评NLP团队一直紧跟业界前沿技术,开展了基于美团点评业务数据的预训练研究工作,训练了更适配美团点评业务场景的MT-BERT模型,通过微调将MT-BERT落地到多个业务场景中,

美团点评Kubernetes集群管理实践

背景作为国内领先的生活服务平台,美团点评很多业务都具有非常显著、规律的“高峰”和“低谷”特征。尤其遇到节假日或促销活动,流量还会在短时间内出现爆发式的增长。这对集群中心的资源弹性和可用性有非常高的要求

美团大规模微服务通信框架及治理体系OCTO核心组件开源

微服务通信框架及治理平台OCTO作为美团基础架构设施的重要组成部分,目前已广泛应用于公司技术线,稳定承载上万应用、日均支撑千亿级的调用。业务基于OCTO提供的标准化技术方案,能够轻松实现服务注册/发现

美团下一代服务治理系统 OCTO2.0 的探索与实践

本文根据美团基础架构部服务治理团队工程师郭继东在2019QCon(全球软件开发大会)上的演讲内容整理而成,主要阐述美团大规模治理体系结合ServiceMesh演进的探索实践,希望对从事此领域的同学有所

美团云注资增至8.7亿元,穆荣均将替换王兴成为CEO

据企查查工商信息显示,美团云运营主体北京三快云计算有限公司在12月25日发生工商变更,注册资本由1000万元变更为8.7亿元,公司实际控制人、最终受益人由美团创始人王兴推出,法定代表人变更为美团联合创

TPC-C解析系列03_TPC-C基准测试之SQL优化

TPC-C是一个非常严苛的基准测试模型,考验的是一个完备的关系数据库系统全链路的能力。这也是为什么在TPC-C的榜单前列,出现的永远只是大家熟知的那几家在业界有着几十年积累、从关系数据库理论开始发展就

TPC-C解析系列05_TPC-C基准测试之存储优化

TPC-C规范要求被测数据库的性能(tpmC)与数据量成正比。TPC-C的基本数据单元是仓库(warehouse),每个仓库的数据量通常在70MB左右(与具体实现有关)。TPC-C规定每个仓库所获得的

TPC-C基准测试之链路层优化

作者:易鸿伟闫建良王光树在TPC-C标准定义中,测试系统分为RTE(RemoteTerminalEmulator)和SUT两部分。在实际的TPC-C测试流程中,不只是对DB端能力的考验,对链路中的所有

TPC-C解析系列04_TPC-C基准测试之数据库事务引擎的挑战

OceanBase这次TPC-C测试与榜单上Oracle和DB2等其他数据库在硬件使用上有非常大的不同,OceanBase的数据库服务器使用的是204+3台型号是ecs.i2.16xlarge阿里云E

全球“黑客大赛”冠军霸气讲述:我是如何让50个文件一起骗过AI安防系统的?

大数据文摘出品来源:medium编译:邢畅、张睿毅、钱天培你有没有想过当黑客呢?破解手机密码,黑入公司系统,甚至…控制全球电脑。打住打住!违法犯罪的念头显然不能有。再退一步讲,咱也不一定有这本事。尤其

我是程序员,每一天都太难了!

互联网圈子里有一个神奇的群体——程序员。他们每天穿着格子衫,背着双肩包挤地铁,一到公司就陷入了“打代码-喝水-上厕所-打代码-喝水-上厕所”的死循环。热(jia)爱(ban)工(yan)作(zhong

“我是技术总监,你干嘛总问我技术细节?”

题图:fromZoommy每个周末的午后,把儿子送进EF读书,随后找个环境幽静的咖啡馆坐一会,这便是我一周中最放松的时光。在咖啡厅的气氛和环境这两点上,我似乎有强迫症,比如装修主色调的运用,地上装饰是

java字符串“我是谁”的转码问题

微信公众号:爱问CTO专业编程问答社区www.askcto.com 问题出场publicstaticvoidmain(String[]args)throwsException{ Stringa="我是

都9012年了,怎么还会有人不会面试?

我是一家互联网公司的一线HR,负责公司技术人员的招聘。今天我有两个候选人又被fail了。关于这个岗位,我也很无奈。按理说,全是基础岗位的招聘,薪资也给的不算低,应该很容易招才对。但好巧不巧,我们公司是

PHP 是怎么接收到请求的?

php是怎么接收到请求的? 本片文章主要描述一下几点 nginx怎么转发请求给PHPFPM? CGI和FastCGI到底是个什么玩意? PHPFPM是什么?有什么作用? 简单场景描述 在浏览器上访

JVM是怎么和操作系统交互的?

来源:阿里巴巴中间件肉眼看计算机是由CPU、内存、显示器这些硬件设备组成,但大部分人从事的是软件开发工作。计算机底层原理就是连通硬件和软件的桥梁,理解计算机底层原理才能在程序设计这条路上越走越快,越走

当年“你说什么,我都能实现”的软件公司,后来都是怎么死的?

在 #“我,80后,曾经靠副业的收入买车买房”# 的评论区里,有读者问,十几年前,圈内有不少软件公司,规模大小不一,遍布各个行业,但这几年似乎都没动静了,他们还活着吗?我说,撇开纯做“劳工”输出的外包

MySQL是怎么保证数据一致性的

在《写数据库同时发mq消息事务一致性的一种解决方案》一文的方案中把分布式事务巧妙转成了数据库事务。我们都知道关系型数据库事务能保证数据一致性,那数据库到底是怎么设计事务这一特性的呢?一、MySQL事务

Spring Boot到底是怎么运行的,你知道吗?

导读SpringBoot方式的项目开发已经逐步成为Java应用开发领域的主流框架,它不仅可以方便地创建生产级的Spring应用程序,还能轻松地通过一些注解配置与目前比较流行的微服务框架SpringCl