职位类型:研发工程师
面试时间:2015校招(2014年9月19日)
招聘公司:美团网
上午去参加腾讯二面,结果没成,下午听说同学去参加携程宣讲会,我觉得无聊也就去了,到那却发现美团网也在招聘。我看到美团有人在提交简历,我正好带了,就在简历上写了“职位:研发工程师”给美团的HR,并说明了我是因为腾讯面试才没机会参加美团网的笔试的。
我是尝试着投递看看的,也没报多大希望。只是觉得这是一个机会,而且我确实是因为在腾讯面试的缘故。当天晚上12点05分,美团网的HR打电话通知我上午11点参加面试。我太受宠若惊了,HR解释说面试官刚筛选完简历才给HR,所以才这么晚通知的。原来如此,这个机会我很珍惜。
9月19号美团的面试,我已经知道三面都有算法题,所以我也很淡定,正常发挥应该就好了。
一面:
1. 一面上来就让我写程序,是“A == B ”的字符串问题,要求大小写字母忽略,字母出现次数不计,只考虑字母出现与否,我思考了一会,说了想法,面试官还给我提示,后来讨论了一个很好的解决方案,然后我就写了程序给他,中途让我考虑是否有改进的地方(这一方面我回答不是非常到位)。
2. 接下来问了TCP协议的通信状态,我写了个完整的给他,他很满意,接着问我 TIME_WAIT有很多,我补充说是不是通过netstat –a查看,他听完后在我的面试评价上记录了,估计是觉得我Linux比较熟悉吧,我说这种现象是因为很多进程并发执行且在一段时间内集中终止通信连接导致的。
3.然后问了我一些堆和堆排序的问题,我回答的很详细。
4. 再后来就是聊了一些问题,包括腾讯面试的问题,我也强调腾讯职位在深圳,我不可能去那么远的地方等等,无意间我还看到他通过手机访问我的博客,后面的一些技术问题我想不起来了,然后他就让我在外面等等,意思是通过一面了,我感觉跟那个面试官聊得还挺开心的,至少我表现的很自信。
二面:
我刚到休息室等一会,就被二面面试官叫了过去。还是刚才一面的教室,一二面的面试官都在那儿。
1. 刚开始是简单自我介绍,我重点强调了我擅长Linux的命令,Shell脚本和相关的文件结构等,然后就开始讲了最近在三星实习的一个项目,他很详细的问了我的实现原理和结构设计,讨论完了就开始做题。
2. 第一道算法题目是[012120012…]排成有序,即[00…11…22…],这个显然用快速排序的一趟排序方法即可,先从数组的前后搜索,将0置换到数组前面,然后从0末尾位置的下一位开始将1都置换到前面,我还跟面试官强调可以将“一趟排序”写成子函数,只要传递start和key两个参数即可实现更多值的排序,他很满意。
3. 一道算法题,即PHP trim函数的实现,char* trim( const char* str,int len),注意这里是constant,意思是不能改变原有的str值,需要分配空间,我开始没考虑,后来在他提示之下进行了简单的改进,分配了新的空间,这里注意一个细节问题,一个是关于字符长度的问题,另外一个就是字符串末尾结束符’\0’ 或者0,切记不可忘记添加。
4. 一道概率题,红黑球,然后第一次取出的概率是1/2,依次取球,取出黑球继续,取出红球终止,求取出球个数的期望,我首先写了期望的计算公式,计算取一个球,两个球,多个球的顺序,我本来想找个公式给他的,他说没必要,看看我写的推导过程就说可以了。我用的是归纳法,然后找规律的。
5. 他看了会我的简历,然后问我Linux命令很熟悉吧,我说是啊,很自信的说,他问了我 top 命令,我跟他详细说了可以查看负载,第一行显示的,又说uptime和w都可以查看系统负载,top主要是显示进程占用的资源排序。还问了ps,我说ps也可以查看占用资源情况,如 ps –e –o ‘pid,rse,vse’,一般我都是来查看进程情况,需要kill掉的进程。
6. 问我还有啥问题么,我就问美团的整体架构是啥样的,我如果进入会有哪方面的工作范畴?他详细跟我讲了美团的架构,其中后台涉及到java,PHP ,而PHP是我擅长的语言之一,可以没提及C/C++。然后他就通知让我再外面等HR的安排。
三面:
1. 自我介绍,我已经倒背如流了。
2. 跟我详细探讨了最近的两个项目,一个是三星的TZ项目,还有一个是国家自然科学基金项目,其中第二个他很感兴趣,虽然和互联网不相关,他还是问了我好多理论的东西,我当时的回答虽然有点乱,但基本的流程表达的还是挺清晰的感觉。算法上问了,在具体应用上他也问了,主要是问做出来的东西有什么用途。算是对项目的深入理解和探讨。还和我讨论了我的经历和基本信息。
3. 由于我没有笔试,所以他就开始让我做题,第一道据说是考试的第八题,我后来才知道的,两个数组L[N],R[N]一一对应,L,R是一个坐标轴上的两个点,他们描述一个区间(L 4. 一个智力题,关于老鼠吃米,程序员面试宝典上的改编题,1000袋大米有一袋有毒,老鼠吃完后7分钟才见效,问需要多少只老鼠且在尽可能短的时间内找到有毒大米。面试官问我是否见过这道题,我说先让我看完,因为好多题目都是换了个描述,他笑笑。的确,我跟他说这题和N瓶水一瓶有毒类似,用二进制的思想去做,他说这题过,下一题目。 5. 题目是关于策略问题,一堆一分硬币,一个方桌,A B两人交替摆放且每次一个,问是否有决胜的策略让一方必胜。在他的提示下,我用归纳法总结了只能放一个,两个,三个,等等,他说思路是对的,可以推出来,见我还在考虑,就说不一定要完整的答案,思路正确就行了。 6. 然后就问我对美团怎么看,以及腾讯和美团的工作看法。我说了第一次团购电影票是在美团,还有在三星叫外卖之类的,肯定了美团对社区生活的一种思维方式,还有强调了选择工作首先看地域,然后看内容,这方面美团在北京,腾讯在深圳,美团用PHP,腾讯是后台,而我是徐州人,显然会更倾向于美团。中途还提了阿里巴巴大数据竞赛,他也很感兴趣,我就说用了基于用户协同过滤算法的改进,首轮只排到700多名,前500名可以晋级。 7. 还有啥问题,我问了美团对于面试结果啥时候通知(他说得等贵校三方下发之前),然后就问美团在北京是否是整栋大楼,有健身房么?他说有跑步机。然后我就说没问题了。 最后他很客气的和我握了握手,还提醒我包在身后,我在起身的时候看到简历上获得的国家奖学金和建模竞赛的奖项被红笔圈了起来,看来美团很看重获奖情况。 总体上,美团面试是我最开心的一次,因为和面试官聊得很开心,至少给想进入互联网公司的我一个极大的鼓励和信心,希望我的三面等级高一些。