您的位置:首页 > 职场人生

百度面试经验分享

2014-10-31 15:04 253 查看
前两天去参加百度的面试,整个过程挺戏剧性的,虽然没成功,还是希望能把之中的一些经验分享给大家,如果对你有帮助,我就没白写,如果没有,就当个故事吧……^_^。废话不多说,进入正题。

时间:2013-10-26 18:00-23:00

地点:百度大厦c座

经过:

百度是先笔试再面试的,笔试的时间大概是在两周前,在清华大学举办的,题目有7道,只记住了前两道

1) 计算机网络的7层结构并解释;

2) TCP和UDP协议的应用和区别;

其他的大家可以百度一下吧^_^。

当时去的时候是和我同学去的,两周过去了,他收到了面试通知,我没收到,然后就知道没戏了。后来越想越觉得不甘心,还是应该给自己一个机会,我决定跟着他去百度“霸王面”,我们大概三点半左右到的,公司安排每隔1小时面试一批,一共是三面,如果能过的话,你就在当天能进百度了。每一批进去的人数大概是100人左右(百度果然不缺人,我问了一下,来面试的大概是七八百人,神马清华、北大、北邮之类的一抓一大把),我们有30多个来“霸面”的,即使给机会面试,也只能安排到最后,那就等吧….(百度给提供很多吃的,旁边的小房子里还有免费的热水和咖啡,大公司果然不一样,对了,去面试还管饭呢^_^)。

问了问面过的人,百度很变态,三面都要问算法和数据结构,我就无语了,当年学的东西大多都还给老师了,虽然复习了一些,这也禁不住三轮面试的考验啊,只好硬着头皮上了T_T,一直等到18:00,前台突然告诉我们多数面试官都要走了,由于今天人太多,可能就不给我们霸面的机会了,不过她还是愿意试一试,把我们的简历给三面的面试官看一下(因为一面、二面都是问基础的,三面才是定方向的,他们比较有决定权)…大概等了半小时左右吧,前台小妹妹告诉我们留下了几个人等面试,其余人就可以回去了。我就是留下这几个踩了狗屎运的人之一,等了很长时间才轮到我们,一面面试我的是一个30岁左右的人,开始跟平常面试一样,简单的自我介绍,然后聊了几句,我发现它是搞c语言的,然后从头到尾就没问java一个字,让我写了几道题目:一个是多线程的、一个是比较两个二叉树是否一样、让我定义一颗树等等,答的不是很好,我c/c++早就忘了,就试着用java的实现给他解释,可是他根本不会java,所以在一些细节的东西上我们就没达成共识,然后我给他讲了讲Hadoop,我想百度的在云计算这一方面应该挺强的,最起码能有共同语言,我自认为讲的还可以,可人家不懂云计算,反而觉得我讲错了。当时心就凉了….最后的结果就是一面没过,然后就告诉我可以回去了…

尼玛,等了半天就这么走了?!!不甘心呐,脑子一抽,我又拿着简历去找了给我面试机会那个三面的面试官,工作人员不让过去,然后我硬是挤了过去,跟人那位面试官巴拉巴拉的说了一顿,大体意思就是自己应聘的是JavaEE和Hadoop工程师,刚才被问到的全是c/c++,希望能重新给次机会。要么怎么说还是好人多呢,这位大神就带着我去找了一个懂java的,重新面试,我跟就那个面试官聊了很长时间java,大概一个半小时吧,我们谈的很好,问了基础方面的东西,让我写了两个小程序:一是多线程方面的,有两个线程T1和T2,分别要求T1输出1~6,T2输出7~12,问如何让主线程T监控,当T1和T2的数字都输出完毕后,T输出一个“done”表示完成。第二个问题是写一个单利模式,并问了两种实现方式(即懒汉式和饿汉式)的比较,还有就是懒汉式如何实现线程安全。

我答的还可以,简单讲了一下自己做过的项目和工作当中的问题,然后一面就过了,这时候已经晚上21:30了,又等了一会儿,安排二面,二面又碰到一个搞c++的,大概是二十六七样子的,他说我不问你java方面的,我就问c++的。靠!欲哭无泪啊…

被问到的题目大概是:

1. 告诉0出现的概率是p,
1出现的概率是1-p,问怎么样才能表示,0出现的概率是1/2,1出现的概率也是1/2,由于它是广东人,加上本身一听这个像概率统计的题目,刚开始自己就有点想放弃了,这一点做的很不好。

2. linux中的路径中,比如有/../表示回退到上级目录,即/home/aa/../bb就等于/home/bb;或者/./表示当前目录,即/home/aa/./bb就等于/home/aa/bb;或者/home/aa/c../bb就等于本身/home/aa/c../bb;或者/home/aa/c////bb就等于/home/aa/c/bb问:如何设计一个算法,去除这些没用的部分,把路径变成上面变化后的路径。

3.给你一个长为m宽为n的长方形,里面切割成变长为1的小正方形,问如何设计一个算法,统计里面共有多少个长方形?



我虽然做出来了,可是我知道人家考的是递归,但不会写,人家说答的不好。

4. 写一个死锁的程序。

后面几道题目忘了,反正都是算法之类的,还问道了什么红黑树之类的数据结构。

总之,被完虐,所以结果就是被刷了。

结果:整个面试经过了四个多小时,最终以失败告终了。临走之前,我又跟三面那位面试官聊了一会儿,虽然他觉得我还可以,但是二面没过,系统里就记录了,他也没办法,只好铩羽而归了。

废话写了这么多,简单总结一下吧。

我觉得这次经历有几点收获:

1. 我们要学会争取,有些时候稍微争取一下就是机会,就可能改变一辈子的命运,出去找工作或者工作,有时候就有必要不按套路出牌,这一点,我相信你懂的;

2. 要是真打算走技术这条路,还是有必要把基础打好的,大家也能看到,人家问的都是基础,你做过的项目或学过什么框架那都只是很小的一部分,基础才是最通用的,在哪里都会被问到。比如:多线程、死锁、设计模式,尤其是单利模式、基本的数据结构、排序和搜索算法、集合(常问的HashMap和HashTable的区别,有时候还问底层用什么实现的,比如问ArrayList和LinkList的区别及底层的实现方式)。

还有就是思想层面的,比如面向对象、递归之类的大家平常多熏陶熏陶自己。

3. 一定不要给面试官表现出你退缩、不自信的一面,人家很在意这一点,有时候出的问题大家都不会,他就是看你会怎么反应、怎么办,实在不会,也要讲讲自己的思路,表示确实你认真思考过了。(我这次在这一方面做的就挺不好的T_T)

还有就是发散思维,还有一些题目人家问了一个像脑筋急转弯一样的问题,我们会拼命的在大脑中搜索算法或者用过的技术去解决,这样就有点呆了。比如我曾经被问到“让你坐在这里,不让数、也不让查、不能求助,你说出北京城里大概有多少个井盖?”(这么坑爹的问题,大家可以思考一下自己怎么回答)

4. 要有的放矢。其实我知道百度用java用的少,可是当时就想着去玩玩儿,毕竟这么大的公司谁不想去呀,整个过程面试官基本没看过我的简历,所以人家只是按自己的标准招人,偏向于底层算法和数据结构的,java本来就是面向对象的,所以在这一点上吃亏了。

还有就是大公司从来不缺人,我听到HR聊天的时候,这次百度招人总共面试了八百人左右,一面留40%,二面留50%,三面留70%,而且来的都是清华、北大之类的,硕士也比比皆是,找准自己的竞争对手也很重要。

最后,祝大家都早日找到一份好工作。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: