美团意想不到三面
昨天去面试的美团,意想不到能到三面,真是阿弥陀佛了!
早上出发的时候,还挺紧张、烦躁,觉得自己就是去打个酱油,估计一面就结束了,没想到一路杀到三面,三面之后9点多了,抓紧坐上地铁回学校,晚上回到学校,意外收到腾讯面试短信,这个更想不到了;睡一觉起来,今天晚上网易互联网笔试,先抽空把这次面经写了吧。
一面:明明是3点半的安排,结果等到了4点才排到我。
面试官比较年轻,说话比较快,人还挺nice的,面试氛围还不错,挺轻松的,我是没怎么紧张,一直跟着面试官的问题走。
首先让我自我介绍,我就简单一说,他们都有一个好几页的简历,好多表格,进行填充并且打分。
问我对什么比较熟悉,我说java比较熟悉。好吧,上来就问hashmap的实现过程,我边说边画图,讲了讲,ok,既然不是线程安全的,有没有线程安全的实现方式,我说有的,concurrenthashmap,好的,说一下这个的实现原理,我又边说边画图,他一直在点头,说好,我也不知道是否是真的好。多线程的一个场景,syncronized的用法是怎么样的?可重入锁懂不懂?额,这个我当时想有点记忆,但是说不上来,我说了说可重入代码(实在不知道说什么好了,又不想直接说不知道)。他明白了,然后给我写了个代码,问我会不会死锁,字体很烂,他自己也有自知之明,给我讲了讲他的代码,我说会死锁,其实是蒙的,结果他就给我分析这个过程,结果是不会死锁,而且讲了这就是可重入锁,我记得《java内存模型》中讲过这个东西,可是忘了。。volatile变量的用法;写一个算法题,字符串翻转,并且证明自己的思路;mysqlB-树索引的优点?为什么不用二叉树?
项目中有什么困难?如何解决?jvm的内存模型,最后问我有没有问他,他还给我讲了讲美团后台开发的两个方面,bababa。。。
二面:等了不到十分钟就进入二面,觉得自己很幸运,有木有~~~
面试官拿到一面面试官写的那几页纸,首先问的项目开发几个问题;用java定义一个二叉树的类,然后写一个判断二叉树是否是对称的方法;有没有用过组合索引,什么时候索引会失效?https的实现过程;网络协议七层模型,tcp和udp的区别,tcp的三次握手;innodb和myisam的区别;run和start方法的区别;sleep和wait的区别;如何创建一个线程;假设让你实现一个线程池,你会考虑哪些方面?目前项目中哪些地方需要优化,从哪些方面入手?linux熟悉吗?用过哪些命令?jvm的gc机制、双亲委派模型。
三面:这个面试官有点严肃~~~~
看了看我的简历,问了几个问题,这几个问题比较细致,其他面试官都没问过;写个算法题,还是处理字符串的,幸亏不难;又出了一个思维题;问我有没有职业规划;同学对我的评价,我觉得哪些最符合;又给我说了下,新员工美团是如何培养的一个过程,等等,前两面都是1个小时,这一面也就40分钟,他们估计也要回去了。
希望给广大同道中人一个参考!