百度校招2012应届生面试总结(一)

编程入门 行业动态 更新时间:2024-10-27 12:34:42

百度校招2012<a href=https://www.elefans.com/category/jswz/34/1763965.html style=应届生面试总结(一)"/>

百度校招2012应届生面试总结(一)

    导言:面试百度还是去年十一之前的事情,其实早就想写一篇文章总结一下了,一直拖着却始终没有动笔。现在终于放假有时间了,趁着还没有把面试题忘干净,赶紧写一写。对自己,算是一种纪念;对别人,算是一种借鉴。

    百度是去年十一之前来我们学校进行的校招,算是最早的一批企业之一。校招的流程大致就是:宣讲--网投--笔试--一面--二面--三面--offer。其实面试之前自己并没有什么把握,本着增长经验,碰碰运气的想法我在网上投了简历。网投基本上是不刷人的,只要符合最基本的要求(比如必须是应届毕业生),就能获得笔试的机会。由于我网投的职位是研发工程师,所以以下经验也仅适用本职位和其他类似的技术岗位,对于非技术岗位的参考意义可能不大。

    网投以后,百度在我们学校统一进行了笔试。去笔试时,由于不在我们校区,坐公交还有些堵车,所以晚了半个小时,还好本来也不是抱太大希望,所以心里也没啥紧张的。当时到了笔试现场,心又凉了一半:光考场就十几个,少说也得几百人参加笔试,而且我扫了一眼笔试名单,硕士几乎占了半壁江山,而且还有博士。但既然来了,怎么也得考考试试吧。考题拿到手:4道简答,3道算法,1道系统设计。具体分值记不清了,大概是:简答30,算法50,系统设计20。

    简答题算是基础题,我记得考了一道死锁的4个条件(操作系统上的经典题目,答案我就不用说了吧,大家都懂);面向对象程序设计的4个特点和几个设计原则:4个特点简单:继承/抽象/封装/多态。设计原则应该是属于《设计模式》的内容,当时我刚买来这本书,还没细看。凭借大致印象和软件工程上的一些知识我自己编了几个。后来我对照来一下书,我写的那几个也基本能算对。还有两道简答题实在记不住了,但难度也和上两道差不多,属于教科书范围之内或者稍微发散一点点的,总之算是对你的专业基础知识的考察。

   算法题3道都是很具体的题目,题目内容我都记不住了,只记得有一个是淘汰赛,让计算胜率,要求都是用伪代码实现。这三个题目我感觉考察的是我们程序设计的基本功:包括抽象思维的能力,对概率论,组合数学等知识的运用能力,对算法,数据结构等的掌握程度,思维的灵活度等等。整体上的难度感觉不算太难,但也需要稍微思考一下的。我记得我当时有一个答得还可以的,另外两个答得不太好。

    最后一道属于系统设计题,就给了一个很具体的例子,我记得当时做的是对手机通讯录进行改进的一道题。这道题我基本算是白仍了,因为之前没有接触过这类题目,根本不知道系统设计到底要写些啥,当时题目也没给更多要求,所以我只是简单画了一个流程图就扔在那了。2个小时的考试,我迟到了半个小时,题目写完又提前半个小时交卷出来了,算是就做了一个小时。当时出来时感觉希望不大了,尤其最后那道大题感觉很伤。

   本来以为没希望了,结果过了几天接到了百度面试通知的电话。挺意外,当然心里也美滋滋的,心想既然你不愿放弃我,那我就不放弃你。面试时在hr那里有机会瞟到了当时笔试的试卷,发现很多人都是只得了二三十分,看来不管试卷怎样都不要放弃希望啊,你只要比别人考得好一点就有机会。当然,这是后话了。


   下面详细讲一讲面试的经过:面试地点是在一家酒店,当时怕堵车,也看别人的面试经验说提前到显得有诚意,于是我提前一个多小时就到了,结果来的太早,就在外面街上转了一会。提前半个多小时的时候,我上楼,按门铃,按了两下没动静,于是敲门,敲了几下还是没人,我有些着急,就给hr打电话,结果打过去,说是酒店大堂的电话。没办法,等了几分钟,大点劲继续敲门,结果这回hr开门了,刚睡醒的样子,hr说正在午休,面试官也在午休,还没开始面,让我下去等会,提前5分钟的时候上来,我挺尴尬的,不过还好hr没有显示出生气的样子,说话还是挺和气的。看来以后还是准时到是最好的,这算一个小插曲吧。

   我在酒店大堂的沙发上坐了一会,提前5分钟的时候上楼,hr把我带到一个面试官的房间。面试官挺年轻的一个人,感觉很亲切。先让我做一个自我介绍,我简单说了一下基本信息(姓名/专业,感觉简历上有的就每必要再过多重复),然后说了一下我的兴趣爱好(此时特意强调了一下喜欢编程),最后说百度公司是我特别向往的公司。然后面试官开始问问题,先问了我一个非技术题:

面试官:我看你简历上写成绩听不错的,还获得不少奖学金,那有没有想过读研?

我:其实我获得了学校保研的名额,但是如果能去百度的话,就没必要保研了。

面试官:为什么?

我:因为我读研就是为了能多学一些东西,但是我相信在百度,我一样能学到很多东西,而且百度的待遇还这么好。

面试官微微一笑:别的我不敢保证,但是你来百度的话,肯定能学到很多东西的。

(看来面试官对我这个回答还是很满意的)。

然后就开始面技术,先问我linux学的怎么样,我说了解不多,但我java学的不错(此时我想引导他往我擅长的地方问)。面试官还是问了两个linux题目,

1.面试官:进程之间是如何通信的?

答:全局变量/管道/共享内存等。

(这道题回答基本靠谱,但不算全面)。

2.面试官:了解僵死线程吗?

答:没听说过。

(好吧,简单明了)。

点评:其实这两个问题在我后来看《unix高级环境编程》的时候里面都有详细讲解,要是面试前看过就好了,通过这两个问题估计面试官验证了我linux了解不多的说法,不过,至少说明我是诚实的。

接下来开始问面向对象方面的问题(因为我之前说java学得比较好):

1.问:知道虚函数吗?写一个虚函数的例子?(这个应该是C++里面的知识)。

答:知道,类似java里面的接口,具体作用是@#¥%……(虚函数概念)。

然后我写了一个虚基类的例子。面试官看了一眼,开始下一个问题。

(这个题基本算pass吧)。

2.问:了解多态吗?

答:了解。

问:父类A中有一个方法print1可以打印出来父类的变量a,类B继承了A,且定义了一个一样的变量a,类B中重写了类A方法print1,且类B的print1调用父类的print1。问直接调用子类B中的print1打印出来的是A中变量a还是B中变量a?

我:应该是B中的吧。

面试官:你回去再想想,再问你一个问题。

3.问:重载的两个方法,一个的参数类类型是数组类型,另一个是Object类型,问调用这个方法时,如果传递的实参是null,调用的是哪一个?

我:应该是Object那个。

问:为什么?

答:向上转型的时候应该先匹配父类。

面试官:你回去上上机试一下吧。

我:啊?

面试官:没关系,还有下面问题。

点评:其实这两个问题都不算难,但需要仔细想想,我当时太紧张,没能好好思考,结果我自以为有把握的两道java多态方面的全都答错,第一道,应该输出父类中的变量a,原因是父类的方法只能访问到父类的属性;第二道很明显是调用参数是数组的方法,原因是向上转型优先匹配具体类,找不到子类才会找父类,这也是多态如此强大的原因之一吧,当时凭借微弱印象,顺口就给说反了。

    面试官安慰了我一下说没关系,然后开始下一题,看来前边的小题回答让他不是很满意。

面试官:数据结构学得怎么样?

我:还可以。

然后面试官递给我一道算法题,让我用代码实现(语言自选)。

题目:有两个整数A和B,可以对其施加的操作有:+2,-2,+5,-5,+7,-7,问:求利用这些操作将整数A转化为整数B的最短路径?

(其实这个时候我有点虚,但我知道技术面中需要写代码的算法题是最关键的了,这道题我要写不出来基本就可以和百度说拜拜了)。

大概花了20多分钟的样子,我还是写了出来,用递归实现的,递给面试官看。

面试官一看点点头:嗯,写的很工整啊。

(嗯,印象分,我用C写的,不含任何伪代码,一看就是编过程的)

面试官首先指出来这个方法效率不高,然后又发现了一个bug,让我改一下。还好,我马上找到了修改方法。

(最难的总算挺了过去。回来后,我和显哥讨论过这个题,显哥后来给了一个特别好的解法,我感觉应该是最优的)。

  然后面试官问了我最后一个问题,要求我用java代码实现。他看我简历上写设计过图书管管理系统,问我:用户登录服务器的时候,每次都要去数据库中去取用户名和密码进行验证,如果用户很多的话这样效率会很低,因为数据库是存储在外存当中的,让我设计一个缓存系统,可以缓存用户名和密码,提高用户登录速度。

这道题我写得很快,主要内容包快设计一个cache类,里面有一个Arraylist可以缓存用户名和密码,有一个方法可以判断用户名和密码是否在缓存中(遍历查找),有一个方法可以往cache中插入数据,如果缓存没满的话,直接插入,如果已满,就依据FIFO方法替换一个出来。而且我刻意在程序中卖弄了一下迭代器和FIFO技巧。面试官看了以后很满意,然后说对我的情况基本了解了。

对我的评价是:我看你简历也没什么项目经历,但是编程还还不错。

我一笑说:我都喜欢自己一个人编着玩的。

然后他问我有什么问题,我就开始问他问题。

1.我:我能问一下您在百度具体做什么工作吗?

答:我在项目管理部。

我:有一个问题不知道您了不了解,我经常上csdn,看上面说以后html5会取代web app,我想知道您怎么看这个问题?

答:¥%……&…#(巴拉巴拉说了一堆)。

我:就是说百度不会局限于某一种技术,而会追随最新技术的发展。

他:可以这么理解。

2.我:我知道百度最近在积极开拓日本市场,走全球话道路(宣讲会说的),我们知道,百度在中国能够打败谷歌可能更多依赖的是百度的本土化策略,如:推出了贴吧,知道。还有是谷歌对中国政府的政策的不适应。那如果到来国际市场,百度和谷歌比还有什么优势?

面试官:可能你不了接,有趣的是日本市场现在份额最大的搜索引擎不是谷歌,而是雅虎。日语和汉语有很多的相似之处,#¥%%……(巴拉巴拉又说来很多)。

我:意思是说,百度先进攻谷歌的软肋,是吗?

面试官:你这么理解也可以。

3.我:好吧,还有最后一个问题,您感觉读研更好还是工作更好?

面试官:这依赖于你个人的发展,你看比尔盖茨,扎克伯格等人不也没有念完大学,*%#¥&………

点评:其实这三个问题,是我之前精心设计好的,他的回答其实并不是我特别关心的。问题一透漏我经常上csdn,说明我是一个爱技术的人,而且关心技术的发展,乐于接受新事物。问题二,说明我比较关心公司的发展,能够为公司的未来考虑。问题三,说明我比较关心个人的成长。其实很多人会在最后问一些,待遇了,薪酬了之类的问题,其实我感觉问这些问题,不能给我们带来加分,当然也不会扣分,但是我们完全可以通过其他渠道获得,没必要浪费这宝贵的时间,完全可以利用这个时间想几个能够展现你自己的问题。

我:了解了,我没有问题了。

起身,告别,离开。

    一面总体总结:一面总够面了近70多分钟,从面试官最后对我说的话,可以看出来他还是挺满意的。虽然刚开始的小题答的并不算好,但后边两道写代码的题都写出来了(虽然第一道使用的算法并不是最优的),但第二道应该算最大的亮点了(最后结果也证明一面第二道题的发挥为我的三面打下了很好的基础),我最后提问环节应该也能算加分项。

    

更多推荐

百度校招2012应届生面试总结(一)

本文发布于:2024-02-17 12:36:57,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1694056.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:应届生

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!