我的实习面经
记得一年前,我还在网上拼命地搜索面经,也曾经向xyb等大牛讨教过面经,没想到今天
我竟然也有机会在这里写一写我自己的面经的。
其实本来我不想写,因为我感觉我自己的面试情况都比较差,没能做到最好。但是在接
连拿到了baidu和MSRA的实习Offer之后,师兄提议我是应该写一点东西,哪怕是小小的
经验的也好。不过根据我自己的情况,在写面经之前,我可以很负责任地说一句,去大
公司,其实并没有想象中的那么难!
我算是今年baidu第一批招的实习生,我的一些朋友还有本科的师弟参加了baidu的第二
批实习生招聘。老实说,单纯论技术水平的话,我的那些师弟们不少人都胜过我不少,
但是遗憾的是他们都没能拿到Offer。抛开学历的关系不谈,我隐隐地感觉到,面试这东
西,或许真的是有那么一点偶然性以及技巧性在里面。
首先我大概说说我自己这个学期的安排吧!我现在研一,我在上学期就已经确定了要找
工作,并且作了一些简单的准备。上学期师兄师姐们在找工作的时候,我还仔细问了他
们当时的笔试题和面试题。总之,准备得不多。在这学期开始的时候,就有点懊悔,上
学期浪费了太多的时间。这学期一开始,我非常关注各大公司的实习生招聘。最开始是
投的MSRA,但是许久都没有收到消息。然后一个在baidu工作的同学推荐我参加baidu的
笔试。所以我拿到Offer的顺序大致是:
投MSRA
同学推荐投baidu
baidu笔试
baidu三面
同学帮忙推荐MSRA
MSRA笔试
拿到baidu Offer
MSRA两面
拿到MSRA Offer
这里首先要说的一点是,推荐很重要。因为有人推荐,首先能够在公司里给你一个好的
印象,而且可以直接过简历筛选那步直接进入笔试。接下来就要看自己的努力了。笔试
没什么好说的,就是靠基本功。我主要说一下面试的经验,都是电话面试。
baidu第一面:
我自己的总结是,前半段很糟糕,后半段还可以
开头面试官要我讲自己做过的一个项目,于是我就说了一个大三时做的项目。面试官挑
了项目里的进程与线程的区别这样的问题来问,当我回答完我知道的区别之后,面试官
追问了一句:“还有呢?”结果我就有点蒙了,开始紧张,后面又陆续说了一些区别,
有的对的,有的错的。然后面试官又问我堆与栈有什么区别,总是就是一些底层的东西
,我是完全不擅长,答得一团糟,当时都快要放弃了。后来面试官转问算法题,答得还
可以。最后面试官问我“你还有没有别的什么问题?”当时我就感到,完了,这次面试
要结束了。于是我赶紧地向面试官解释前面的那些底层的问题我不太熟悉,没有答好,
我特长是项目经验比较多,等等。结果话题这样被我一带,面试官似乎突然又对我有了
兴趣,于是又追问了我不少项目经验的问题。后面的回答,我自己感觉也就一般。50多
分钟的面试时间,30分钟左右面试官想要结束面试,最后被我死活又多拖了20分钟。一
面情况大致如此。
对于baidu一面我总结的经验就是:
1、面试时遇到自己不会的,与其去自由发挥答案,不如直接告诉面试官“我不会,我擅
长的是某某方面”
2、面试不到最后结束,绝对不要轻易放弃
baidu的第二、第三面
第二面的时候,面试官问我的第一个问题是我对于自己的一面是否满意。于是我又极其
怨念地说一面前半部分问题没有回答好,那些是我不擅长的,但是后来一面和二面之间
我恶补了这方面知识,我还问面试官是否需要我重新回答一下一面时没有回答上的问题
,结果面试官说不用了。于是二面开始。baidu的二面问得主要都是项目经验,而且问得
很细。好在我本身项目经验比较多,近期又作了紫丁香的技术站务,我就把紫丁香这个
项目说给面试官听。二面时自我感觉发挥不错。
二面后没过两天就来三面电话,当时我心里就一个想法,赶快面完,心里也不紧张了。
于是火速地就开始了三面。三面时聊得比较多,面试官主要问了三个方面,1、你对你不
熟悉领域的认识。2、你对你熟悉的领域的认识。3、介绍一个自己熟悉的项目。然后还
闲聊了一些个人爱好,实习时间安排等等。
三面完后,我还顺便参加了baidu在工大的交流会,和baidu来的HR和工程师都打了一声
招呼。惊奇地是HR竟然记得我这个名字。又过了几天,波澜不惊地收到了baidu的实习O
ffer。
baidu实习,我是尽全力去准备的。拿下Offer,也是在我的计划之内。相比之下,微软
亚洲研究院的实习,对我来说就是一种意外的惊喜了。
前面说过了,我是先投的MSRA,但是没有消息,我原以为被默拒了,但是后来MSTC在院
版上不断地发招实习生的帖子。我又很幸运地得到了小罗的推荐。于是最后MSRA还是给
我发了笔试邀请。这就是我说过的推荐的重要性,没有人推荐的话,我可能就挂在简历
筛选那一拨了。
MSRA一面
MSRA比较看重算法,这点我之前就知道了,但是没有想到他们是那么地看重。一面问得
全是算法题,我的头都大了。有不少问题答不上来,或者是算法说明白了,时间复杂度
没算明白。这一点是我的错,因为我几乎逃了全部的算法课。后来,面试官问我“你还
有没有什么问题”的时候,我当时想,这次恐怕没戏了,就随便问问吧。于是我就问了
微软实习生的招聘要求,实习生都做些什么等等,也解释了一下自己在算法这边的弱项
。后来面试官和我说了一句话:“你如果想再进一步的话,一定要加强对算法方面的培
养。”这句话触动了我,从那个时候开始我努力地恶补算法。
收到MSRA二面的时候,我感觉很意外,同时又感觉这是我的一个机会。二面的时候,面
试官邀请我上Live meeting 。二面问了项目的问题,个人觉得答得还是比较顺利,然后
问了算法题,因为有准备过,所以回答得也很顺利。后来还问了几条SQL语句的问题,我
也照实说,一般开发的时候都是现查手册,没有记载脑子里,我知道是用那几个语句,
但是格式可能不对。最后让我写了一小段代码,也很简单。最后我问了面试官时间安排
的问题,因为我的6月到9月已经签给baidu了,还问了总共有几面,面试官说是有三面。
二面结束后很久都没有消息,我当时估计我是被拒了。因为已经拿到了baidu的实习,所
以我也没太在意。后来在我出差,与网络隔离的时候,MSRA突然给我电话,问我是否收
到邮件。我才知道原来我已经通过了。
总之,面经说出来,也就那么多,里面可能有一些小技巧在里面。主要还是要学会如何
突出自己的长处,回避短处,对面试官的水平展示要诚恳一点。大致如此。还有就是准
备要趁早,要有取舍,我几乎逃了研一下学期所有的课程为了保障实习面试和实验室项
目,收获虽大,但是为此付出的代价也是很大的。
下面推荐大家三本书,这三本书对我帮助很大,分别是:
《程序员面试宝典》,《编程之美——微软技术面试心得》,《编程珠玑》
最后我曾经在我的Blog上总结过一些面试前应该做的准备,就直接贴过来了
1、算法的素养大于对语言的掌握
与其花时间去学习一门新的程序设计语言,不如扎扎实实学好算法。这是大多数IT公司
的观点,不是我的观点。我认为掌握语言、用熟、有开发经验,这些和算法水平同等重
要。原来我在IBM俱乐部的时候,大多数的时间都是在做项目,算法几乎没有任何的培养
。后来进入实验室,则是进入了具体方向的研究阶段,算法一直都没有好好的看。我的
算法水平,还不如我那些大三的师弟。直到找工作的时候才开始慢慢地去补算法这方面
的功力,时间有点晚。说实话,算法题,因为没经验而解不出来,心里还是很难受的。
接下来还要继续努力。
2、要多关心业界动态
其实很简单,如果你以后想找工作,做个程序员,那么尽量看一看每一期的《程序员》
杂志吧。原来我还有有在抓虾上看IT业界动态,但是最近因为时间问题,很久都没看了
。于是造成了对业界的很多信息都不了解,哪个公司、在做什么,等等。baidu面试官问
我,对baidu将来的发展有没有什么想法,老实说,我说不上来,随便编了几句,但是感
觉编得不好。所以,多关心一些业界动态,订阅CSDN的RSS,看看每个月的《程序员》都
有好处。
3、锻炼自己的口才
面试过程中,很多时候都是你在说,怎么表达出自己的意思,怎么抓住面试官所关心的
焦点。这些很重要。面试官问你一个问题,大致猜测一下面试官这个问题的实质,然后
有针对性地去回答,能够得到更好的效果。还有就是,答不出问题来的时候,不要结巴
,实在答不出,不如诚实地说答不上来,对这个方面不了解,然后把话题转到你了解的
方面。
以上。
计算机系即将找工作的兄弟姐妹们如果有问题,可以随时来找我,呵呵。站内信联系我
即可,或者人肉出我的手机号码给我打电话也行。不过我下半年可能大多数时间都在实
习,不在哈尔滨,所以欲联系从速,呵呵!
【查看并发表评论】