百度实习面试详谈

来源:互联网 发布:模块化编程软件 编辑:程序博客网 时间:2024/04/29 05:52

         14年国庆放假前夕,突然接到百度工作人员电话,说是百度音乐部门,然后问是否方便进行半个小时左右的电话面试,欣然答应。

       电话面试主要过程是这样的:首先让我对自己简历上的实习进行简要介绍;实习内容介绍完之后,便开始进行发散性提问,比如在操作mysql数据库时如何上锁,又比如开发的代码结构,MVC思想,java各种框架和MVC的关系,shell命令,c++的stl以及python的简单知识。总之,基本各个方面的知识都会问到,但不会特别深。电话面试结束之后,面试官说如果电话面试通过会通知二次面试。大概第三天就接到了面试通知,由于国庆回家原因,我申请延后至10月10日下午面试,百度的哥哥还是非常nice,欣然同意了我的请求。

        10月9号凌晨回到学校,赶紧睡觉(已经很累了),第二天早早起来看了一下各种排序算法(面试的时候真得用到了)。一直到上午吃完饭,差不多一点左右就坐车去百度参加面试(囧,把路程估计得太长,去到那里等了近一个小时)。两点左右,面试正式开始。第一个面试官非常年轻帅气,感觉特别亲切,给我拿了两个梨,首先缓和了一下气氛,聊了几句闲的,就给了我两张纸,总共四道算法题,让我在半个小时之内做出来,然后他就搬着电脑走了。

        题目1:将二元查找树转换为双向有序链表,不能新建任何节点;

        题目2:实现一个栈,保证栈的push,pop和min(取出栈的最小值)时间复杂度均为O(1);

        题目3:给定一个数字序列,找出前k大的元素;

        题目4:给定一个正整数N,写出所有连续相加整数和为N的序列,如N=15,则1+2+3+4+5=7+8=15,1,2,3,4,5和7,8则为所求序列;

        二十几分钟差不多把后面三道搞定,并附上代码,第一道题刚看上去有点搞不明白,突然灵机一动发现可以用中序遍历和链表逆序搞定,一看时间差不多了,就把思想写下来,代码也没写。面试官来了之后,让我把每个题讲了一遍,然后再考了一个冒泡算法,感觉似乎比较满意,就说等下一个面试官,然后抱着电脑走了。

        大概5分钟左右,第二位面试官抱着电脑过来了,看了一下我的简历,问我shell和awk怎么样(其实awk我几乎看的都是理论知识,编的并不多),然后说给我找一个日志文件让我用awk处理一下,大概找了两分钟没找到,就说不用处理了(心中窃喜)。接着让我谈谈之前的一个项目(天知道他竟然问得如此深入),以致最后和我谈的那个项目几乎没有关系。他问了这样一个问题,说一个文件有几百万行,每行都是一个数字,现在让我对该文件的数字排序(计算机内存不能读入所有数据),我当时绞尽脑汁,想了半天,想到归并排序可以用来对其进行排序,不过速度应该不会太快,他让我大概描述了一下具体操作过程。总之整个过程他的问题很多很深,也问了很久。当我给他解释完归并排序的解决方法之后,他似乎有点不好意思地说:再问最后一个问题。让我将归并排序的代码写在纸上,写完之后,他看了大概一分钟,就说面试内容差不多就这些,说等下一个面试官,然后抱着电脑走了。

        几分钟后,来了另一个人,告诉我说那个面试官正在开会,让我稍等一下。于是就去上了个厕所,顺便吃了一个桌上的梨。大概十几分钟后,第三位面试官来了,他看了一下简历之后,就直接让我介绍自己以前的实习内容。面试过程中,考察的东西比较少,更像是聊天,比如我在上一个实习过程中的主要收获是什么;遇到过什么样的困难,如何解决的;还有怎么样看待互联网公司的工作强度等。聊完这些之后,我跟他沟通了一下百度这样的实习内容,他也比较耐心地进了讲解。整个面试过程相对比较轻松,但决不能掉以轻心,因为许多人过了之前的面试,往往会在最后的面试上翻跟头,因为最后的面试官会在面试过程中查看被面试者的综合能力以及性格,会评估这个人是否合乎他的需求。面试完之后,他就跟我说所有的面试都结束了,说他会跟前面几个人沟通,并在一周之内回复结果。

        其实在从最初的电话面试到后来的正式面试,百度的LBS部门也一直在联系我,只不过我的简历已被音乐部门锁定,不能进行面试安排(好纠结~~)。

        回到学校等结果,第二天,百度音乐的hr就跟我打电话,确认是否有联系或面试过百度的其他部门或者拿到过其他公司offer,总之那天我在百度音乐和LBS之间打了好几通电话(比较复杂~~)。第四天,也就是周一上午,百度的hr给我打电话,说面试通过。

        整个过程就是这样,也算是有惊无险。

        最后,希望自己能够在百度学到更多东西,更希望自己能够创造更多的价值。

0 0
原创粉丝点击