面试经验分享平台

将近几年的名企精品面试汇总、筛选、整理,再分享给大家
经验详情
2015校招阿里、搜狗、百度、蘑菇街、人人的面试经验分享与总结

阿里(测试开发)

一面(挂)(约30分钟):

1 自我介绍

2 项目中用的训练模型是怎样的?

3 Nginx源码看了多少?Nginx进程模型?工作进程挂了,管理进程如何得知?Nginx与Apache的区别及优势?Nginx如何进行热部署?Nginx配置文件中有哪些项?  注重配置使用和Nginx特点

4 定义一个双向链表,自己定义一个操作,实现代码。

5 有1000万的数据,如何保持前10万个经常被访问的数据在缓存中?(用双向链表,每次访问到就把该结点作为该链表的头结点)

6 平时看过什么测试的书?

7 黑盒,白盒,以及什么是灰盒测试?


搜狗(C++后台开发[垂直搜索])

一面(挂)(约60分钟):

1 简单自我介绍

2 简单介绍项目

3 说了一些Nginx

4 自己写了了解socket编程,用linux中的网络编程接口,写了一个简单的 客户、服务器模型,解释了下三次握手。

5 问你会哪些设计模式,我写了一个模板单例,但是写错了。

6 算法问题1:有30天的日志(也就是每天用户在搜索引擎上输入的搜索词),数据很大,如何统计前10万个词频最高的记录;问题2:计算两个字符串的相似度,编程之美的3.3原题;3 在搜索框里输入 要搜索的东西,问 第一页最后的相关搜索词条是怎么被推荐出来的(可以在百度搜索框里输入自己名字,拉到最后 看看相关搜索词条,就可以理解题意了)

7 你有什么问题要问我的?


百度(软件研发工程师)

一面(约50分钟):

1 自我介绍

2 聊了一点项目和Nginx

3 聊Nginx时,问了它的高性能的体现?select、Poll、epoll概念,区别,哪个好?

4 C++基础,比如用引用的方式传递参数有什么特点(扯了很多,但是就是说我没答到要点,你们可以去搜搜哦)、malloc/free/new/delete的区别。

5 算法题:用两个栈,栈A有数据1、2、3、4,栈B为空,不用别的空间,将A中的数据的顺序变成4、3、2、1,这些数据也是在原来的栈A中。(用递归实现即可)

6 写一个堆排序。

7 问他问题。

二面(约50分钟):

1 介绍自己

2 1/2的时间感觉在聊项目,也就是跟他解释,自己这个东西是什么,怎么做的,包含哪些流程,以及自己解决了哪些问题。

3 算法题:给你1000亿的数,无序,找出它的中值。(主要考虑内存不足、尽量减少IO次数)这个题自己说了两种思路:哈希;用数的最高位的0或1对文件进行划分类似剑指offer第40题的方法,最后他提示了一种用位图的思路。这个题互相讨论了很久。

4 提问

三面(约50分钟):

1 简单介绍

2 还是介绍自己的项目

3 如果在浏览器的URL输入栏输入 tao,如何给用户自动提示相关的URL地址,比如www.taobao.com

4 平时除了做项目,还喜欢做什么?扯自己多么上进,看了Nginx。

5 最大优点、最大缺点?

6 浙江的人,怎么期望工作在北京?

7 还有好多都忘了呢。。。


蘑菇街(网站开发工程师)

一面(约50分钟):

1 介绍自己

2 解释自己的两个项目。把他说懂为止。

3 聊爱好:骑行。

二面(与90分钟):

1 介绍

2 介绍项目,项目怎么做的,创新点,结果怎样。说的太多太长凌乱了,忘了自己说啥了

3 还面过哪些公司?结果?为什么挂了?问了什么问题?

4 你用的是C/C++,我们公司用别的语言开发,要你转语言你怎么看这个?

5 HR:在同学中你有遇到过很厉害的人吗?

6 你在同学关系中,你的排名是怎样的?

7 还有些HR问题,忘了,最后说 看你这么紧张,我还是不问你问题了(其实是我太饿太渴了  囧)


人人(研发工程师)

一面:

1 算法题1:求一串数(有正有负)中,连续的最大子数组和(剑指offer第30题),写代码。算法题2:第一题的变体,由第一题的一个连续字串的最大和,改为由两个连续的字串,且字串不相交,所构成的和最大,并返回该值,写代码。

2 做完就叫我回去等通知。。。


一点体会

1、挂的原因、小小建议:

阿里原因:第一次去心仪的公司面试,还是挺紧张的,没练过自我介绍、项目描述、以及基础知识的清晰叙述。另外在问到Nginx的配置时,自己没有认真看过,导致直接被人格鄙视。

小小建议:简历的东西还是按照 精和熟练而不要追求多的原则可能会好一些,被面试官问倒自己写的熟悉的东西,减分会比较多的感觉;岗位选择,不要随意的报,尽可能去看它的要求,看看自己最符合哪项,自己感觉还是不要因为它可能容易进,就选择它。

搜狗原因:面试官挺nice的,但是自己对文本匹配的题目实在看的太少,上面的3个算法题,只做出了第1个。

小小建议:如果面的是互联网公司的研发,特别像百度、搜狗之类的,感觉他们还是比较会问匹配相关的问题,也就是上面的第2、3题,因为后来在百度面试也被问到,所以平时可以做一些适当的这方面的准备。

百度感觉:百度的三面会有明显的偏向。一面面基础;二面根据你的岗位,会侧重考查一项;三面是经理(技术)面的感觉,更看中你这个人怎么样,考查的会更全面。

小小建议:平时有空做做上面的一些编程题,虽然很多也不会被问到,但是一不小心曾经的一个题的思路,在面试过程中就帮助了自己;前两面只能踏踏实实的去准备,三面的时候,适当的发挥一下自己,表扬一下自己的优点等等。

蘑菇街感觉:蘑菇街没有问任何基础的问题,运气比较好,把自己平时总结的项目问题,基本上都用上了。也比较努力地去表现自己的上进心及踏实。

小小建议:毕业了找工作,前期靠积累和努力,后期就要看运气和缘分了。。。多去尝试,不小心,哪家公司就认可了自己。


2、小体会

  其实总的东西都在上面的面试回忆和小小建议中了,因为自己面的只有这5家公司,面的也很少,在很多问题上的认知肯定有偏见,师弟师妹随意看看就好。

师弟师妹们,现在也可以用空余的时间,想想一年后自己大概要做一份怎样的简历?然后针对这份简历或者某个岗位可以提前做点准备啊。我的简历也发给大家了,没什么特点,没什么突出,大家可以参考大概的格式。在面试过程中,如果自己技术特长,那么就尽量去体现这个,如果没有,(强烈建议哦)去表现自己有多踏实、多有进取心(当然要想有哪些依据事实可以证明这些)等等素质。

  有其它问题,可以随时问我啊。我平时不是很善于去沟通,但是我没徐博可怕的,哈哈,大家有什么我可以帮忙的,随便说啊。

--------------------------------------------------------------------------------------------------------------------------------

阿里测试开发的总结

阿里

一面:

1.针对Junit提问

2.java反射机制

3.项目方面

4.问我使用的JDK版本,JDK6与JDK7的区别,现在最新的JDK8

5.怎么调试java程序

6.实现双链表,并测试自己的代码

7.LRU算法

8.为什么没有去实习

9.指着简历问:你本科多次获得奖学金,为什么研究生期间没有?

二面:

技术:

1.Junit执行测试用例的原理

2.指着我的实验二问,预测算法的思想?问遇到什么问题?

3.反射原理

4.为什么想做测试?你对测试的了解

5.为什么对多线程感兴趣?

HR:

1.你家里有哪些人?父母从事什么工作?你为什么想在杭州工作?

2.一天的日常作息

3.你的身体素质好么?

4.你妥协过么?

5.最遗憾的事?

6.最难堪的事?

7.有委屈的时候么?

三面:

技术:

1.你熟悉java容器,那你最常用哪些?答HashSet。打断我问为什么用这个?HashSet底层用什么实现的?答HashMap。问HashMap实现原理?我答完后问处理哈希冲突的方法还有哪些?一直追问还有呢?问这些处理冲突的方法的优缺点,也是一直追问还有呢?

2.Jvm垃圾回收机制。描述标记-整理算法。学了jvm对你有什么帮助?

3.问项目和Junit

4.两个智力题(1.有100层楼,两个鸡蛋    2.有4枚硬币,初始状态未知。你的眼睛被蒙住,看不到硬币的状态,但可以随便翻任何几个硬币。你每翻一次以后,旁边有一个人会告诉你现在又几枚是朝上的,如果4枚硬币的状态是全正面朝上或者全背面朝上,那么成功了。问最少翻几次可以保证成功?)

HR:

1.一开始,技术面试官不在,她在问我项目问题

2.你学习过程中有艰难的时候吗?

3.你做的项目好像都是你一个人完成的,如果你来做公司的项目,你觉得自己会遇到什么问题?

4.大多数和上面的HR的问题差不多