拼多多-服务端-上海现场面 3面凉经
两技术面、一HR面
一面:
先介绍下项目,然后问简历中提到的。我写到了netty、HBase、Redis、ZK、Hadoop,主要问了我netty和Redis、HBase
问到的框架会先问使用场景,然后就根据说的内容再随便问了
1. netty
从IO模型,说到线程模型,说到零拷贝,说到内存池,说到TCP参数调优
2. HBase
主要说了LSM,compaction等等
3. Redis排查故障
蒙对了一个理由,问还有什么原因,也不告诉我
3. 算法题,100万个有序区间,判断一个数是否在
4. 算法题 归并排序
这个题我当时有点蒙了,我以为是考MapReduce过程中 或者其他计算/存储框架中的多路文件合并,所以以为是多个有序的数组/链表进行合并,面试官提示了也没反应过来。结束面试之后立马回想起来,说的是递归的归并排序,但是当时就是没想起来,因为前面在说HBase的compact,理所当然地以为是多个有序文件的合并了。
二面:
一个年龄较大的面试官,问的都是基础,很基础的让人无法回答的基础....
先问项目,然后问基础
这一面主要是问了Java基础、网络和操作系统,答得不好,许多都是一些觉得无关紧要的,不重要的东西,自己看能看懂,但是空口说说不上来的,就问这些,让我很郁闷,说的坑坑巴巴的
算法题: 求最长路径,我鬼使神差地以为是求最短的,结果没有思路,只能暴力解硬钢,他也不提醒我,最后他检查代码问我代码逻辑,我才反应过来,但也来不及改了,其实如果是最长路径是很好写的....
这一面的教训: 网络和OS基础最好能够背下来....能一直BB的那种,不然碰到话少的面试官,场面很尴尬
而且最好要结合具体的linux下的应用与实现,比如问进程和线程的区别,除了常规的几个区别外,如果能说出来linux内核中是没有线程概念的,然后说进程和轻量级进程的区别,说clone的不同参数,再说do_fork,这样就会比较容易得到面试官的肯定。
再比如说到链路层,可以说下lvs可以在内核态中,链路层的层面修改mac地址进行负载均衡
也就是说最好结合具体的例子,不然光靠背答案,一是背全面比较难,会忘,二是可能太浅了,难以引起面试官的兴趣。
HR面:
查户口
接受加班不
对于拼多多的看法
这一面舔就完了
去的比较早,等了两个小时下来,人都傻了。跟二面面试官沟通的太差了,答得好多驴头不对马嘴,他又重复一遍问题我才反应过来,算法题我嘴上念着最长路径,结果tm的一直在按最短思考,想半天想不出来硬是暴力怼。 二面也不问什么高深的,就是问Java、网路、OS基础,这里没怎么深入复习,答得很差,面试官也不引导我,也不提示我,可能面试一天了比较累吧,场面极度尴尬
有的面试官喜欢问原理,有的喜欢问基础,有的问用法,而且很多面试官并不会多么地引导人,太难伺候了。
总结:简历上的框架要特别熟悉。今天我HBase很久没看,很多东西都说不上来了。
另外,一定要能BB,能连续几分钟不停的那种。 如果一问一答,场面太尬,面试官也会以为你就知道那么点。