职位类型:技术类
面试时间:2015校招(2014年9月)
招聘公司:美团网
笔试:
9月11号在哈工大参加了美团的笔试。拿到笔试题后,发现一共8个算法题和几个选做题(选做题一个都没做)。由于有一些acm的做题经验,当时感觉1个半小时估计做不完8道题目了,所以得先把自己会的做了。笔试题除了第一个没思路,第8个没时间做之后,其它的基本都按题意写了思路和代码,在写代码的时候注意边界条件的判断(三面面试官告诉我他们判卷的时候很注重这个)。笔试完后,感觉答的不是太好,其中有好几个题方法不是最优的。比如求A(n)可以用等比数列,最后这个题的分数也只得了一半分数。
笔试完当天晚上12点左右接到的面试通知,第二天进行面试。一面和二面是一个大教室,有n个面试官和n个学生,一对一进行一面和二面。
一面:
面试官感觉很年轻的样子,估计也是刚工作不久。他先看了下我的笔试卷子,在报告书上写了下我的总分。然后他找了一个我没有做的题(第8题),问我为什么不做,我说没有时间了。然后他让我看下题,说下思路,不用写代码。好在笔试完后看了下第8题,找到一个用递归求第k排列的方法,所以给面试官讲了下大体思路,他可能听的不是很清,但还是点头同意了下我的答案,这个题算是过了。
接着又给我出一个算法题,求二叉树的变种树类别。这个题我没有急着去回答,想了一分钟感觉没有什么好的方法(这个时候心里有点紧张),但最后连问代说的总算把这个题过了。之后问了一个外排序的问题,这个题我讲了下外排合并的过程,之后提到了用败者树优化等方法,总算把自己从紧张的状态中调整过来了。
下面就是一边问我问题,然后他一边往一个表格中记录下东西,大概问的有bit-map、tcp\ip、操作系统内存分配算法、mvc思想、范式、sql(左连接和右连接)、hash、爬虫和一些智力题吧!整体答的不错,问爬虫的时候说了一些队列的细节,由于之前说bit-map的时候我讲到布隆过滤器(bit-map的一个变种),然后他问我爬虫队列的为什么不用布隆过滤器来去重,我讲了下布隆过滤器去重的缺点。就这样结束了一面,用时一个小时多一点儿。
二面:
一面结束后第一分钟左右就开始了二面,二面面试官感觉成熟一点儿,看到我简历最熟悉的语言是java,说了句挺好的。于是就开始了java基础面试。java问了一些虚拟机内存分区、线程、java中的基础类型和封装类型还有一些集合和android的东西吧....基本都是点到为止,不会深究。
然后就从我简历上的项目一个一个问了。项目问完之后(占的时间最长,其间我还主动的介绍了一下我的项目和实习做的东西),出了一些怎么样去攻击QQ(分别从网络的几个层答的),然后用爬虫抓取web页面后去html串进行一个标签中字段的过滤。我先讲了下爬虫,然后说用shell脚本去过滤html串。他其实指引我用正则表达式过滤html串,但shell脚本也没什么问题。之后他只好说了下用正则表达式可以解决这个问题,我同意了他的想法,但说了下其实这两种方式本质没什么区别,这个题就算过了。
之后问了一些sql语句(考查limit)....二面大概用了50分钟左右吧,问题基本都是引导性的方式问的,基本都是点到为止,估计是考查学生的思维能力和学习能力....总体感觉二面是在讨论,问的问题几乎都能用自己的方式答出来了,这个时候一点儿都不紧张了。
三面:
二面结束后,感觉应该能进三面了。之后hr带我去了另一个屋子,里面只有3个面试官,也是一对一的面试。进去之后问了我在百度的一些实习情况;然后看到我简历上有acm的经历,就跟我讨论了acm的经历(之后才知道他是一个acm大牛)。
整个三面基本不考技术了,就是两个人各种聊天,说一些个人的技术博客,大学最自豪的事儿和最遗憾的事儿……
总之三面就是在和面试官谈心,给我介绍一些程序的自传书和一些技术博客。最后,问我有什么问题,我就直接问他offer的事儿,他也很坦率的说发offer的事儿,不是三面面试官一个人决定的,还得和之前的面试官去讨论,但能保证我三面是肯定过了。