今天是美团面试成都站最后一天,早上6:20就起床洗漱,然后去坐校车,无赖,刚到那时,车上人都坐满了,正打算出发,没办法,只有继续在那里等,等了大约20分钟,车终于来了,等人坐满之后,终于出发了,由于今天有条道路需要维修,然后校车改线路了,无赖,今天又下雨,又各种堵车,最后的结果当然是迟到啦,刚下校车就打车去面试地点,还在车上的时候就接到HR的电话(问我怎么还没到?),我说:今天堵车,马山就过来了。到了之后,签到,排序号,然后就是漫长的等待过程(在哪里等初面的人还是挺多的,还有挺多霸面的,以至于都没有座位,好多人都在那里翻阅着书籍)。等了大约半个多小时,终于叫到我的名字了。然后就跟着HR进去。
一面(大约一个小时):
首先是叫我做自我介绍,叽噜咕噜说完之后,又叫我介绍常见的排序算法
(由于第一次面试当时还是有点紧张,介绍得一塌糊涂。)
然后就是编程题:给定字符串dsd32fds4535435jk4354fd,求最长的连续数字串。(手写代码)当时写了大约20分钟吧,面试官在17分钟的时候提醒了我一下,叫我尽量在20分钟内完成。我说:好的,过了一会就写完了。写完之后就给他解释我的程序思路以及实现过程。
然后让介绍你最有成就感的一个项目,并画出项目框架图。我当时就说了我进大学的第一个项目,关于硬件的,面试官也不懂,我在那一边奖,他在哪一边点头,也不知道听懂没。
介绍在浏览器上输入美团的域名到显示出界面都会经过哪些过程,用到了哪些技术?
你是怎么样自学的大数据?
TCP连接三次握手,断开四次握手?画图并解释
为什么断开要四次握手?
TCP与UDP的区别?
为什么说TCP是安全的协议?
一个6L的水杯和一个5L的水杯怎么得到3L的水?
(将6L的水杯中的水倒入5L的水杯中,剩下1L的水,再讲5L水杯的水清空,将1L的水倒进去5L水杯中,再将6L的水倒入剩有1L水的5L水杯中,6L的水杯中剩下2L,再将它倒入空的5L水杯中,再将6L的水导入倒入剩有2L水的5L水杯中,这时候6L的水杯就剩下3L的水)
HTTP的标志位有哪些?
谈谈GC收集算法?
问我有什么问题要问的?(当时问了美团大数据有哪些方面?)
叫我出去等通知,本以为自己会挂掉,结果,几分钟之后,就叫我去二面了。
二面(大约一个小时):
自我介绍
介绍其中一个项目,直到给他讲清楚为止?当时讲了半天创建Hive外部表,然而并没有说清楚。(自己做过的项目自己一定要好好准备一下,不然真有可能答不上来)
二叉树的前序中序后序遍历?
mapreduce的处理流程?
详细介绍一下shuffle?(当时随便聊了聊,然后顺便讲了讲百度内部自己研发的内存流式shuffle)
什么时候使用Combiner,什么时候不用Combiner?
partiotion的使用?
讲讲MapReduce的二次排序?
编程题:两个有序的数组,合并成一个有序的数组,重复的数,不重复打印,尽量考虑最优?
cookie和session的区别?
当session访问量比较大的时候,怎么解决?
概率统计:50个红球和50个篮球,放入两个箱子,怎么样放置才能使拿到红球的概率最大,并说出推导过程。(当时说出了正确答案,推到过程并没有说出来。)
怎么样统计出成都市的火锅店的总收益额?
介绍Mysql数据库的索引?
B树有哪些优点?
把B树索引的结构画出来?(累觉不爱,发现自己并会了,然后就画了一个B树。)
然后当时有出了一个关于级联索引的题型,当时我们会不会走索引,我说不会,然后又改了一下,问我会不会?我还是说不会。然后他让我说一个会走索引的(当时自己并不知道,并没有说出来,后来面试了58赶集回来,慢慢才想起当时面试这道题的原意)
然后叫我等通知,几分钟之后就叫我去三面,无赖,到了三面的时候,刚好要吃中午饭了,然后叫我们也先去吃饭,最后吃完饭回来面试,结果他们的饭还没有到,又继续等,结果一等,就是三点多钟才叫我去面试。
三面(大约二十分钟):
自我介绍
介绍你认为自己做得最好的项目?
有多少个人?你参与的比重,扮演的什么角色?
主要做了哪些工作?
你认为数据开发工程师应该具备什么?
并针对项目场景给我出了一个题,当时没有给我解释清楚,后面就换了下面这一道题,怎么样统计新浪微博中今天是第一次访问我的微博的人数?(用Hive写,然而并有有写出,写了一条sql语句,用表连接。解释了很久才给我说明白,这个问题答得不好,感应该是跪在这里了。)
问我还有什么问题?