锁定老帖子 主题:百度面经(历)
精华帖 (0) :: 良好帖 (2) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2011-11-08
最后修改:2011-11-10
有点繁杂,请看客见谅. 一是想让后来着,了解整个过程. 二是记下当时面试的点滴,兴许对以后有帮助.
笔试通知 具体的座位分配听从现场工作人员安排
百度笔试 开始找考场,找座位。每个考场门外都贴有本考场的考生名单及对应的座位编号,按号入座考试。听说百度专门开辟了几个考场供未投简历,或者未得到笔试邀请的人(这就是所谓的霸笔)参加考试。
等待,并与旁边的美女有一岔没 一岔地闲聊,缓解些许紧张,不安的情绪。
拿到试卷通篇看了下各题。三道简答题,每题10分。二道算法与程序题,每题20分。一道系统设计题30分。试卷给人的感觉除了不简单外,就是难了。因为对百度的题很难一说,早有耳闻。笔者虽然酷爱计算机,热爱编程,执着于技术,但很笨,思维不灵活,自知能力有限,并未抱有多大幻想。做答过程,暗示自己尽力而为就好,于是因此少了一份紧张,多了一份淡定,整个做答过程不慌不忙,不紧不慢。
做答过程:
开始第二大题算法与程序题。
情况:写在纸上的程序难免会有考虑不全的地方,大到整个程序理解有问题,小到少设了一个变量。如果使用不可涂擦的笔做答,则可能导致你没有地方继续写上你的后续程序。出此情况很可能会导致本来就紧张的我们方寸大乱。 建议:笔者做这道题时,使用的是自动铅笔,可以应变你的思路而很方便地修改试卷上做答的程序。
返回上一道题。此题题设很长,看了好一会,花了些时间去理解题意(之前的暗示仍然管用,没有紧张感)。以前写过大整数加法和大整数乘法的程序,并不是一时半会能完成的,所以这道题对于目前的我来说根本没法当场完成整个程序。得意于上一道题全排列和全组合可以用伪代码的提示,灵机一动:把程序模块化、函数化,将一部分函数功能抽取出来,将整个程序的骨架程序写出来,其中二个判断涉及到大整数判断过程单独放到函数中进行,返回bool值用于上述骨架程序中。这样至少完成了大体的程序功能,对于上面提及的二个函数在后面写上注释说明函数用途(至少能拿到一部分分数)。若试卷其他题做完,有时间的话,补充完整。感觉就好似平时编程时,写好一个接口,使程序保持完整性,接口的不同实现可以之后一一添加。
紧接着开始做最后一题系统设计题。这是一道“设计一个支持高级语法查询的单机大数据量的磁盘检索系统”相关的题。题意没想象中压轴题那么难理解,也没有想象中的压轴题那么臃肿。看到磁盘检索,呀,开始有点亲切。开始往操作系统方面的知识回忆。
再看了下表,好像只剩15分钟不到吧。看了下旁边的MM,好像也写得满满的,有点鸭梨。再看看自己写的试卷,后面二个大题,感觉也觉得不错。 继续各个击破,返回前面未完成的简答题。
好像剩3分钟不到,接着看简答第三小题。因为此题是关于hash算法。hash算法的二个关键问题之一是hash函数的定义。于是,根据在这有限的时间想到的突破口,写了个根据最小粒度值得到其对应的层次。不会写,咱还不会编呀,不惜墨。
百度一面
最后,他说如果有机会的话,可以考虑跟同事商量把我调到Java面试官那边去面试(他是C/C++面试官)。
早上依旧空着肚子,颠簸一个半小时到目的地。
接着,他告诉我在我之前本来有个吉林大学的,因为二面给通知间隔时间太长已经回去了;我后面还有个大连理工大学的,今天也来不了。我们有的是时间,给我出了三道智力题:
终于结束了一个小时四十分钟的二面,告诉我回家等通知,今晚九点前就能出结果。这一面感觉也不错,他问的Java技术方面的问题没什么难倒我的,相谈甚欢。后面的智力题虽然不会,但也向他展示了自己一步步思考问题,解决问题的过程,在他的引导下也做出个大概。
又是10点多,这次是在1806HR所在房间,等待经理面完上一个。HR告诉我这个经理很厉害,百度从某知名互联网公司挖过来二次。即使面试不通过,可以问他们一些问题,听他的解答对以后的发展也是一个不可多得的指引。
等待二十分后,我心情很复杂地坐在经理对面。经理笑容可掬地向我要了份简历,很热情地、很亲和地给我倒了杯水。然后让用自己的方法实现一个HashMap函数:百度终面结构设计题(实现HashMap(点击查看) 。结果误打误撞,跟HashMap的原始设计雷同。花了点时间想思路,并把包含主要功能的实现程序写在他给的纸上。写完后,他还挺满意。他说其实就是想知道个思路就行,主要是想跟我聊其他方面的话题。
这一面一个小时三十分钟,问的问题方方面面,不过技术方面的话题还是占85%~90%。其他的就是家庭呀,在校期间学习成绩,健康情况,平时与同学不快的解决办法,平时看什么书这些琐事。从经理和蔼到高兴的表情变化,感觉到不出意外,应该是大功告成了。
百度签约
因为笔者深知进百度的都是牛人,大部分都是985类院校,笔者即非大牛,也非生于985类院校,自惭形秽。签约的时候,我诉说了自己的不安,会不会因为没有三方而把我给辞退了,或者试用期结束把我给辞退这类的问题。他说百度试用期不会辞退应届生,因为考虑到应届生经验不足,及刚参加工作需要适应一段的情况。试用期只会辞退社招员工。
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2011-11-09
我记得面试的时候有个什么保密提示的
楼主注意点,别让百度的人知道你是谁。。。 否则泄露面试题可能被辞退。。。。 |
|
返回顶楼 | |
发表时间:2011-11-09
看来群主的确有实力啊
|
|
返回顶楼 | |
发表时间:2011-11-10
最后修改:2011-11-10
suigara 写道 我记得面试的时候有个什么保密提示的
楼主注意点,别让百度的人知道你是谁。。。 否则泄露面试题可能被辞退。。。。 哦。谢谢你的提醒。 明天看看有什么可以隐去的。 |
|
返回顶楼 | |
发表时间:2011-11-10
jyjava 写道 看来群主的确有实力啊
其实很差。还得不断学习。 |
|
返回顶楼 | |
发表时间:2011-11-10
②开始给我出一个算法题:常数时间内求栈中最大值(点击查看) 。这道题有点颠覆我的传统理解。知道是想要用空间换时间,这怎么换?一步步想好几种方法,最后还是给做出来了。思路:我借助一个变量count和一个数组空间(其实就是一个栈)完成该时间复杂度为O(1)的算法设计。
这题难道不是修改下push,保存个max变量,在push的时候就记下最大值搞定吗? |
|
返回顶楼 | |
发表时间:2011-11-10
int08h 写道 ②开始给我出一个算法题:常数时间内求栈中最大值(点击查看) 。这道题有点颠覆我的传统理解。知道是想要用空间换时间,这怎么换?一步步想好几种方法,最后还是给做出来了。思路:我借助一个变量count和一个数组空间(其实就是一个栈)完成该时间复杂度为O(1)的算法设计。 这题难道不是修改下push,保存个max变量,在push的时候就记下最大值搞定吗? 我也举得是 push 一个结构体进去,结构体包含当前值,和最大值,每次push的 时候都更下下 这个push值,这样pop出来就直接从结构体里面取出最大值 |
|
返回顶楼 | |
发表时间:2011-11-10
楼主吉大的,应该也属于985,211类院校
|
|
返回顶楼 | |
发表时间:2011-11-10
最后修改:2011-11-10
makeyouown 写道 楼主吉大的,应该也属于985,211类院校
非吉大的. |
|
返回顶楼 | |
发表时间:2011-11-10
最后修改:2011-11-10
int08h 写道 ②开始给我出一个算法题:常数时间内求栈中最大值(点击查看) 。这道题有点颠覆我的传统理解。知道是想要用空间换时间,这怎么换?一步步想好几种方法,最后还是给做出来了。思路:我借助一个变量count和一个数组空间(其实就是一个栈)完成该时间复杂度为O(1)的算法设计。
这题难道不是修改下push,保存个max变量,在push的时候就记下最大值搞定吗? 你说的是全局一个max变量吗? 是这样的话,就我理解搞不定. 栈有push操作,也pop操作. 如果一系列push操作后,记录下当前最大值. 当做一次pop最大值时,max值没法得到了. 不知道我有没理解错你的意思. |
|
返回顶楼 | |