上周搞了个活动(来分享面试求职经历吧,我请你喝星巴克),让大家来分享自己的面试经历,在后台收到了很多留言和邮件,我从中选了一篇成功拿到百度offer的同学的投稿,今天分享给大家。内容基本是投稿内容,我只是做了一些细微的调整,另外原作者不想公开姓名,所以本文作者还是用我的姓名。

百度科技园果然很大气,可惜面试,只到了K2大厅和之后面试的休息区。我应聘的是开发岗,一直听说百度的技术很牛,所以对技术面还是挺担心的,不知道会问到什么样的深度,但最后三面面下来,感觉还不错。下面详细介绍一下三面的过程。

一面是技术面,面试官给人感觉很友善。在一开始,面试官一边看我的简历,一边让我自我介绍。虽然我没有刻意的准备过要怎么自我介绍,但因为在来百度面试之前,我已经参加了大大小小的面试有十几个了,所以在自我介绍部份我说的非常得心应手。按照简历里写的项目和实习经历,把做的事情都介绍了一下。这一部份感觉面试官对我在实习中做的事情比较感兴趣,在我介绍完之后又详细问了一下实习中项目的细节。

接下来开始问了很多技术问题:

数据库相关: mysql里myisam和innodb的区别;SQL语句里和关键字的执行顺序。这一题还好我数据库学的扎实,说了个八九不离十,回来查了一下,Join, on和where这三个条件的顺序还是说错了。

算法:让我现场手写了一个快速排序算法的代码,语言不限,用最熟悉的就好。另外还考了一个求链表倒数第K个数的程序,也是让直接写出关键代码。(这个可以点击阅读原文,看看我的博客,里面有一篇专门写面试中链表的文章)

海量数据处理:考了一个从50亿个URL中找出重复次数最多的URL,这题完全是我提前准备好的,所以轻松无压力

(这个我在旧文中也有提过:海量数据处理问题汇总)

另外还有一些脚本语言使用上的细节问题,因为脚本语言我只是简单的用过,可能因为我都没有答出来,面试官就没有继续问了。

二面还是技术面,是个很年轻的面试官,但依然非常友善。一开始,还是一样,让我先自我介绍。但二面的面试官没有太多的问我简历里的项目,而是直接开始问一些技术问题。因为二面的面试官之前是有和一面的面试官沟通过的,所以两面基本没有重复的问题。

这一面的技术问题记的不太全了,大概如下:

算法: 求二叉树两个叶子节点间的路径,也是要求写出代码;还写了一个链表转置的代码。还好这题之前在别处面试时就没写出来,回去之后有查过,这次果断写出来了。

操作系统:这一面问了很多操作系统相关的问题,可能也是因为一开始自己说大了。从进程线程差别,多线程的适用场景是什么,为啥要用多线程,linux下如何修改进程优先级等等。这块只能说答上来一多半吧,还有一多半真心不知道。

海量数据处理:这一面又问了这方面的题目,这次是在大量数据中找出中位数,也是准备过的,所以答上来了。

其它就是还问了一下关于逻辑思维方面的问题了,自我感觉答的还不错。