过了好久,突然想写一下美团面经,来纪念第一个offer(Android岗)~
时间回拨到9月1号,自实习离开某厂广投内推后第一个接到的面试信息,一面面试官和我约好一面的时间在下周二,并具体定好时间,怀着无比鸡冻、期待的心情等待着秋招的第一场战役。
在约好的5点到来时,反倒不再鸡冻,而是慢慢冷静下来了,面试官会问什么一下子在脑海中不断的推演,自己该怎么完美的见招拆招,一秒一秒过去,内心的视野慢慢聚焦,但是电话依旧没响,时间拨到5点半,收到的来自面试官的短信:电话线路出现故障,半小时后再联系。简单回复后,我仍然很期待的在整理思维,又过了半小时,6点了,收到了第二条短信:今天线路估计是修补好了,明天再约。Galigeigei~~~莫名想笑。。
第二天上午以前约好11点开始,终于正常沟通上了,面试官声音听起来很年轻,也没有很俗套的让我自我介绍,直接忽略,开门见山发问(这点第一直觉告诉我这个面试官很务实,不喜欢废话,待会回答问题要点到为止,懂的就细说,不懂的就直接坦白(和最近面试的某兴一样,坦白面对自己的不足并不是件很丢人的事情,问道有先后,术业有专攻,面试官想知道你懂什么,而不是想知道你不懂什么,这点很重要,记在小本子上,期末必考。并且在职业人面前最好别耍小聪明,他可能是你未来的直接主管或上司,别给别人你在忽悠他的印象,否则自行脑补))。问题的深度是梯度上升的,他问什么,我答什么,如果我不小心提到了什么其他的他感兴趣的问题,他会继续挖,这时候他是很想知道你对某个问题了解的深度的,比如说,android内存管理有个LRU算法,你知道怎么实现的吗?我很详细的介绍了远离以及底层实现的机制,他没表达什么态度,接着停顿了几秒,又接着问LRU算法除了我说的那种实现方式之外还有没有其他的实现方式,其实除了LinkedHashMap我还真没见过有其他的实现方式,可能当时有些远离记混了,答了一个FIFO,说完就后悔了,自己都觉得不对,面试官又停顿了一下没说了什么换了一个问题(想知道其他实现方式的可以自行查阅,是利用新的集合来实现的)。前前后后大概问了20分钟,为什么是20分钟待会再讲,这里要做笔记,必考!
说道这里可能有人会很想知道他到底问了什么。。
我一一列举出来,可能不全,但基本都在这了:
1.onSaveInstanceState和onRestoreInstanceState的作用以及是否成对出现的。
2.ArrayList与LinkList的区别
3.activity与fragment生命周期
4.Lru算法实现原理,有几种实现lru算法的方式
5.几种基本的数据类型(8种)
6.check型错误和unchecked错误
7.接口与抽象类区别。
8.final修饰类,方法,变量时的区别
9.finalize,finally用法含义(当时差点没听懂读音,hin尴尬~)
10.一种限定修饰符(public ,protected,default,private)的范围,区别
11.覆盖与重载
12.引用型变量?
···
主要问题都在这里了,每个问题都不是只停留在表面问你,这些只是从点到面,首先点一下你的手臂看看有没有反应,有反应,就掐一下,接着就是勒、敲,强度慢慢上升。知道你承受不住,他会立马停手换个部位继续。
其实有几个问题我回答的自己都不是很满意,比如WT6,刚说出这个问题的时候,我没反应过来,后来一想是不是就是编译时错误与运行时错误,缓解短暂的思维断路尴尬后,面试官接着问了句空指针异常属于哪个?老实说,本质上我真的不知道,但是想想每次运行后才知道有的变量报空,这应该就是空指针异常,不就时运行时异常吗?秒回运行时异常,是那种表面很自信内心很虚的那种自信,反正他当时看不到我的表情。面试官回答了嗯,接着就问其他问题了。后来查了下,发现运气真好,答对了,因为空指针异常是继承与运行时异常类的。同样的问题1,说实话平时写程序经常看到过但是没关注这两个回调函数,当时也没讲清楚,最后面试官也是问了一个问题,两个是不是同时调用,从哲学角度角度来看,这个WT是送分题,这两个函数长得这么想,90%就是一对的,要用一起用,但是你都知道了他还问?我也是很自信的回答了不是,因为感觉我但是如果回答是,那面试官会不会觉得我在侮辱他的IQ,嗯,他又问其他问题了。回头查了一下,又蒙对了,Galigeigei,这两个一般是可以同时调用的,但是我说的是一般!所以。。。这里是我的视点盲区,也反映了我平时想当然的以为常见的不会问,常见自己都懂,但是当别人换一种j问法(可能每个人对WT本身理解的角度不同,发问的层级或角度不一样,导致你可能第一时间get不到面试官的点),你就蒙圈了。
一面先写到这里,夜深了,下次补二面和20分钟的事情。
最后告诉大家,学习东西别停留在表面,因为你自己想想都心里发虚的东西,你会很踏实的向别人表现出来吗?很显然不可能。大家不要只是停留在别人的经验之下,可能我说的这些点你都清楚一点两点,但是当有人将问题升级,比如问完hashmap的hash碰撞,如果现在有人问你现在我要将hashmap的key前面全部加上我司的前缀,你怎么实现?这也是今年杭州某养猪场问过的WT,是不是一想好简单,但是再一想好像按你第一次想的那样操作会出现并发修改异常?然后呢?这可能就是你知道了原理但是脱离了应用,这个答案网上可以收集到,这里不啰嗦。
睡个觉,下次再补下集。。。
好的,接着昨晚的继续写(不对,应该是今天早上1点多),二面发生在8号上午,但是刚好那天有事,和面试官反馈了一下,再约时间,面试官很爽快的答应了,但是我说了过两天,都行,可是接下来的两天面试官并没有发消息过来,继续等。。。
终于13号,接到了短信通知半小时后开始面试,我同意了,面试我的不是之前的那个人,听声音应该是部门大主管或技术总监这种级别的人,电话接通也是开门见山说他是今天二面、三面的面试官,美团的面试官都是这样务实、直接、不拖沓。
二面面试官其实没单独问一些较深的技术疑难杂症,而是问经历,项目经历,实习经历,你的角色,你碰到的WT,你怎么解决的,你怎么协调项目中人员关系的(这些都是很常规的WT)。感觉这主要是在考察个人的性格和宏观技术能力,一面偏向于微观技术能力。我就按时间节点一个一个说,面试官对于你在某个项目或实习经历中,他比较关心的应该是你解决问题的能力与方式,你个人的收获和感悟有多少(这和某兴二面面试官问的如出一辙),我就讲了很多很详细的事情(其实这是表现你个人性格的时候,如果你想秀一波操作,这是很好的机会,这里既能体现你的技术,又能体现你的性格)。
问完经历,最后问了一个关于个人奖励的事情,我详细的介绍了自己参加的一个全国研究生比赛(三等奖),还是问你的角色定位以及你怎么协调组员之间的关系,重点马上又来了。。。
当谈到我比赛的某个创新点时,我有谈到利用了某地图技术时,面试官一下兴致起来了,问的很详细,并且明显感觉这个应该是他当前正在做的方向或者项目的keyword······这也许就是机会吧,后来问了个人性格,也就是优点和缺点分别是什么。这个问题,说实话,我没有多想,耿直的回答了一句:我好像没什么优点,缺点倒是可以让我想想。面试官笑了一下,我接着说,自己的缺点·····好的,中间的部分省略···相信大家也不会对我的缺点感兴趣,但是这是体现个人EQ的时候,相信大家都或多或少的听说过做,答这个问题不要自作聪明,比如说我是完美主义者,不能允许生活或工作中有一点错误,面试官这是额头上估计3条波浪线呈正弦从右向左传播,你说的好像不是缺点,而是优点,如果你是他,你会怎么想?;但是也不要太直接,比如说我做事很急躁,这样太生硬了,大家可以在网上查查如何优美快速的穿过5连发卡弯,关于这种WT的完美解答网上有很多,但是我当时真的忘了,当时言语之间我将这个缺点缩小化了并找到了回路,我觉得缺点每个人都有,你是怎么克服的可以在你讲故事的时候尽量圆回来,这波操作很能体现个人的EQ,很关键,这里要记笔记。最重要的是:现在和你说话的可能就是将来直接带你的导师(主管级别的,那可不一样),他通过这些问题了解你的性格,如果他觉得合适,或者说刚刚那波操作你秀得他云里雾里、不知所以,可能他就忘了这是你的缺点,对你的印象分一下子从B到A,对于你的定级问题,就不用我多说了吧。。。好处多多呀。。。
说完这个缺点,他看到我的社团活动经历,提示了我一下我做过班委,在院研究生院干过(这些我都没说过,因为没有自我介绍环节)然后,我下意识问了句爱运动算是优点吗,面试官又笑了笑,然后前面又有一大波操作即将上演。。。
既然爱运动也算优点,那我可以和他聊很久,期间我特地将自己的某段环岛骑行的经历绘声绘色的给他讲了一遍,他完全就当听故事了,这里就给你足够的秀操作的时间和空间了,如果你没有什么特殊的经历,请参考中国好声音(那些故事不管你信不信,反正我是信了),个人的故事就不详细介绍了,只问你:你见过有一群人骑自行车上高架吗,你在市中心最繁华的地段见过一群人蹬海边旅游骑行的两人车吗······见过没吧,我和一群小伙伴们就干过。只是告诉大家这是表现自我的机会,要张驰有度。我讲述的过程中面试官一直在笑,因为那段经历自己回想起来的确是段很难忘的经历,以后还要再试试类似的经历。
可能这样的我得到了面试官的认可,他开始很详细介绍自己现在的业务和方向,果然和我之前预期的一样,然后一讲就是差不多20多分钟,中间主动和面试官互动了几次,避免出现单口相声的尴尬,最后提到问我有没有时间去实习,能去实习是最好的,如果中间有事情可以和他打个招呼就可以走了(感觉这里好像是套路)。面试官谈完当前的发展方向,就谈到了一些美团的很nice的文化氛围。然后很欢迎我尽早去报道。
最后我多余的问了句:我的这次面试是不是就算通过了。。。面试官又笑了笑说他这边没问题,写完评价后过两天HR应该会和我联系,如果HR没有联系我可以打电话给他(也就是当前正在通话的号码,一面是公司座机号),他来帮我催HR,还告诉我他姓什么,如果以后有什么WT可以直接问他。
整个过程真的就是“聊”过来的。个人感觉美团是真的想招贤纳士,不像某c场,并且面试官感觉都比较直接干练,你不懂就不问,换方向问,尽量避免面试真空现象。如果大家有机会或有意向,美团是个很不错的选择,个人职业成长来说,在互联网行业绝对排在很前面。
最后我想说一下,我一面没表现的很好(早期刚实习回来没时间准备),但是二面、三面和面试官“聊”得很开心。