百度

72人关注 关注 4576人分享

公司福利 | 工资涨幅 | 年终奖 | 晋升机会 | 工作节奏 | 工作压力 | 工作时间 | 工作氛围

百度软件开发工程师面试经验(共28条) 最近更新时间:2023-06-13 15:15:46

2017-05-01 14:56:23 | 校园招聘
面试过程:

首先介绍一下笔者的背景。笔者是某苦逼工科专业不想考研又保研无望的孩纸,虽然本科不是计算机专业的,但好歹也做过几个小项目(这里感激一下现在充斥着生活各处的编程,让笔者虽然不是计算机专业的学生,但在项目中也被逼着学了一些编程语言,然后加上自己对未来工作出路的担忧,中途或多或少的自学了一些计算机的知识,校招的时候才有底气投IT岗),所以在面试的时候还勉勉强强算有话可说,虽然比不上哪些大牛啦,但是也不至于是那种直接感觉没戏的类型。

其实校招的收获还是勉勉强强能看的,刚开始的几家比较大的公司都投了简历,像美团啊,阿里啊,网易啊,华为啊,搜狗啊巴拉巴拉的,就是比较知名的都投了,毕竟广撒网多捞鱼么。中间发生的面试时间冲突啊,上下场连赶的事情没少,中间还出现了一次因为赶场赶的太急了导致电面的时候说错话的……自我介绍的最后笔者一般都会习惯说“希望能加入××”,然后那次实在是两个面试隔太近了,笔试顺口就说了上一家公司的名字……(摊手,宝宝也很绝望啊)。

不过还好,最后还是收到了几家比较满意的Offer,像比较知名的就是华为和百度啦,然后就是美图以及一些小一点的公司。不过像我这种对百度有着蜜汁热爱的孩子,当然最后毫无疑问选择了百度啦~~~~

好啦,唠唠叨叨的说了一大堆,下面进入正题啦(敲黑板中!)
----------------------------------------------------------------
----------------------------------------------------------------
投简历
首先就是投简历啦,其实讲真,这一块没什么好讲的,毕竟现在基本上都是网上录入式的简历了,大家的排版都是系统设定好的一个样,没啥花样好翻出来的,如果一定要说的话就是排版一定要简洁大方,直入主题,突出重点。写自己的项目经历的时候要好好写,不要只告诉别人这个项目是什么,最重要的是要告诉别人在这个项目里面你做了什么,你解决了什么问题,你学会了什么,不过这些都是老生常谈了,没啥好哔哔的了。
----------------------------------------------------------------
----------------------------------------------------------------
笔试
其实笔者一直都相信自己一定不会被表刷,第一道坎一定是笔试(这里说一句,其实现在很多公司都是采取海笔的形式选人,也就是说其实简历不怎么刷人的,有些学校直接宣讲会后笔试的甚至会鼓励霸笔,所以这也从侧面证明了上面的话,简历没必要太担心),所以很早就开始准备笔试了,毕竟笔者自己不是计算机专业的学生,虽然大学期间断断续续自己学了一点专业知识,但毕竟不是科班出身,一些基础还是不怎么扎实,所以从暑假开始就开始准备笔试的了。刚开始是上网上买了几本专业书看,不过看完之后表示还是很心虚啊。其实经历过十六年寒窗苦读的大家都知道,看书看懂和会做题目,那根本就是两码事,甚至有时候做过了项目回过头来做题目都不能保证自己能手到擒来。所以之后就在网上各种搜笔试的题目来自己做。

但是搜题目这果断是一个力气活啊,要么就是要这个登录那个权限的,要么就是只有题目没有答案,题目还越做越虚,当时笔者真的是日日生活在自我怀疑的人生边缘啊,然后才想起来有学长好像提到过有什么刷题的网站,可是那个学长好久没联系了,笔者纠结了很久要不要问一下那个网站的名字,但是又感觉好久没联系了一联系就是找别个问问题的讲真好尴尬啊(我都不好意思说为了这种事情我居然也能纠结一整天)……好吧,最后实在想不起来只能问了……现在想想,还好问了,毕竟用像lintcode这种专门刷题网站来刷题感觉效率瞬间上火箭了!!(此处划重点!)

笔者其实从始至终最怕的是动态规划的题目,什么最大矩阵啦,攀爬字符串啦,基本上遇到就是极大概率的蒙圈。当时自己搜素题目的时候,基本上都是哪年的题库哪年的题集,想一下子找到一堆子的动态规划的题目来练真心不容易。然后就用lintcode (www.lintcode.com)的分类选项就给解决了。先根据TAG分类找到动态规划的类型题目,然后再利用网站自带排序功能根据难度值筛筛从简单开始练(毕竟笔者脆弱的玻璃心受不住高难度的直接袭击啊!),做的过程中再用lintcode 的笔记功能做做笔记总结总结,妈妈再也不同担心我的学习~(黑人大笑)

所以说,懒人是科技进步最大的动力!强烈建议学弟学妹们刷题的时候一定要找到适合自己的网站,而不是一味的追求网站的知名度,网站的题库更新程度。可能很多网站虽然题库全,更新快,但是完全不适合我们这种准备面试的同学进行学习,像笔者用的lintcode很多小细节和功能就非常适合笔者这种准备面试的可怜孩子。

介于笔者真的苦苦准备了许久笔试,毫无疑问,笔者的笔试基本上都是过得啦~~~~

百度的笔试通知是提早一天的时间邮件通知的,所以如果想等百度的笔试通知来再准备笔试一定是来不及的,建议学弟学妹还是要好好提前准备啊!
----------------------------------------------------------------
----------------------------------------------------------------
面试
说起来,对百度的面试真的是又爱又恨啊,爱的是效率讲真很高,两天内搞定三场面试,绝对不拖沓,恨的也是居然两天内连着来三场,完全不给人休息的时间,真的来不及为自己上一场面试的结果紧张,也完全没时间为下一场面试好好休生养息!重点是说好的来两个技术面一个HR面呢!知不知道在好不容易改变了情绪酝酿了心情准备用一种文艺和悠然的姿态去参加最后一场面试了,结果突然发现心情走错了场是种什么感觉了!

国庆本来想回家的,发小今年的农历生日正好在国庆期间,但是有神一般的预感国庆过后立刻就会有百度的面试,所以纠结来纠结去还是没回(因此被发小狠狠的坑了一笔,回头要回去给她买两只纪梵希口红,一只当生日礼物一只当补偿,我就默默不说话了),结果居然12号才收到了百度的电话让去面试……
----------------------------------------------------------------
一面
13号早早的就起床去面试了,本来想穿正装的,但实在是觉悟到码代码的人都比较的随性,就穿了一套比较正式的非正装过去,还算正常。

百度面试地方是在一个比较高端的酒店里面,是一对一面试的,面我的那个面试官非常的nice,全程都笑嘻嘻的,所以后来也就不怎么紧张了。

网上找的攻略都说是说直接进入主题的,基本都说没自我介绍,但是估计我那天是第一场,面试官还没进入状态,就先让我简单的自我介绍了下,还好之前以防万一准备了自我介绍,不然一开始就要是黑人问号了。不过真的只是简单的自我介绍,我才刚把我叫什么来自哪个学校哪个专业之类的基本问题介绍完,他就笑笑截过话去,说:恩他知道了,看我简历上写了巴拉巴拉项目经历,能再介绍下么。

好吧,进入正题了。然后我就巴拉巴拉巴拉的讲了一堆,中间给他挖了个坑,然后他就果然开始问我实践中MySQL语句的优化的问题了,毕竟之前好好在这个问题上面花了心思准备么,相谈甚欢。所以,挖坑很重要!(划重点!!!)

然后他又问了我一些数据库索引啊,session和cookie之间的区别啊之类的问题,我就根据我的理解都说了下。之后他又给我一个算法写,就是最大公共子序列的问题,这个题目之前在lintcode上类似的刷到过,所以轻轻松松就解决了。当然,为了体现我良好的书写习惯(当然是建立在对写程序这件事情绝对自信的基础上),我还在每一个关键的地方后面都规规矩矩的写上了注释,感觉到了面试官慈祥的微笑和赞许的眼光(自满中~)

然后就一面就差不多结束了

一面结束后就让在休息室里面等消息,然后过了一会就来人说接下来二面……好吧,我承认我当时还没有缓过神来
----------------------------------------------------------------
二面
二面就远没有一面来的轻松写意了,一进去面试官就先让写下代码,感觉这次的要写的代码就比一面的时候难了很多,根本没想法好么……不过看攻略的时候看到很多人都会遇到这种情况,就有样学样拿着笔在那里默默的圈圈画画,毕竟不会也不能傻愣在那里,这个时候就要给面试官展示你的想法和思路(划重点!!!)。然后面试官默默的观察了我一会就开始一点一点给我提示,感觉面试官还是很厉害的,因为慢慢慢慢自己的思路就给理顺了,然后代码就写出来……感觉到了传说中面试官的蜜汁成就感……

因为写代码花的时间还蛮多的,所以接下来就只问了一些比较简单的问题:是否了解动态规划(想不到准备笔试的时候在lintcode上花了那么多时间弄的动态规划,笔试的时候没大用上,面试的时候用上了,让我去感动的哭会先),操作系统的多线程问题,然后就是HTTP和HTTPS的主要区别。

二面结束。
----------------------------------------------------------------
回去的时候和室友说了我没写出代码的事,室友说就冲你面试官那蜜汁成就感,你应该是过了,然后没一会,就来通知让第二天去参加三面,绝对要抱紧室友大腿……
----------------------------------------------------------------三面
当时网上找的资料说的比较多的是三面是HR面,或者三个面试里会有一个是面产品的(传说是为了技术岗和产品运营岗能更好无缝对接?),想想自己哪种情况都应该第三面面产品这种走心的东西,所以收到面试通知当晚就查了一整个晚上的资料,比如百度有什么产品啦,产品有什么理念啦,还有什么地方可以改进啦巴拉巴拉的一堆。然后第二天酝酿好文艺的心情走进面试房间开始面试的时候……结果!还是!技术面!

开始三分钟我根本感觉我不在状态好么!

还好第一问题还比较简单,就是问了下两条相交的单向链表,如何求他们的第一个公共节点。很简单的链表题目,顺口答了。答好之后才感觉自己进入了技术面的状态。然后又问了一些格雷编码,分割回文串的问题还有JAVA的垃圾回收机制、如何设计一个高并发的系统之类的,有些还是挺难的。对于不会的,我基本就是诚实的说不会,然后再说说个人的猜想什么。
最后面试官还兴致勃勃的和我讨论下关于我一个女孩子为什么想做软件开发,能不能耐得住苦,未来薪资希望是多少之类的家常问题。

然后面试就结束……
----------------------------------------------------------------
----------------------------------------------------------------其实面试完的时候根本就不知道自己能不能上,不知道为什么心情特别平静,就这么该投简历投简历,该面试面试,该笔试笔试,该准备准备,直到有一天邮箱里面突然多了一份来自百度的录取通知,才突然嗨起来……感觉自己心里素质……也是有够强悍的……

面试官问的面试题:

百度软件开发工程师面试题

MySQL语句的优化;数据库索引;session和cookie之间的区别;最大公共子序列算法;是否了解动态规划;操作系统的多线程问题;HTTP和HTTPS的主要区别;两条相交的单向链表,如何求他们的第一个公共节点;格雷编码;分割回文串;JAVA的垃圾回收机制;如何设计一个高并发的系统;一个女孩子为什么想做软件开发;能不能耐得住苦;未来薪资希望是多少。

赞一下(6) 踩一下 查看面试题参考答案>>

2015-10-13 05:15:25 | 校园招聘
面试过程:

昨天晚上被通知笔试过了,笔试的题确实不是很难,但感觉自己的技术水平远没有达到百度的要求,然后就抱着领略百度逼格的心态来面试了。
貌似一共有3面,每一面面完都是回去等通知。我只进行了一面,感觉没机会进二面了。
当时真的略紧张,问了笔试成绩面试官说我的笔试成绩在这个地区排在中上。。。
提前到了将近一个小时,然后插队面试了,回忆几道题目:

面试官问的面试题:

百度在线网络技术(北京)有限公司软件开发工程师面试题

1、旋转数组寻值问题,比如递增数组[1,2,3,4,5,6]旋转之后得到[4,5,6,1,2,3],输入一个数字,找出数字在数组中的位置。
答:当时太紧张,这个提问纠结了一下愣是思路不通。后来在回来的车上想想还是挺简单,只怪自己在短时间高压力下脑子转得太慢。
2、将字符串转化成整数
答:说了下思路,循环读入字符,不是0-9就返回-1,是就加入StringBuilder,面试官没有反对,然后我就开始写代码了。方法最后是:return Integer.parseInt(sb.toString());面试官说不可以用这个(指parseInt吧),然后我问对处理完之后的字符依次乘以10的指数可以吗,面试官反问可以不用这个吗。然后我就不会了。。这个问题到这里结束。。
3、二维数组全部置为0或者全部加1,你能想到的效率最高的方法是什么?
答:从读、写、改三个方面入手吧,具体实现就不会了。。
4、问我哪方面比较擅长(也是想挖掘我的优点吧),但是我感觉没什么拿得出手的,最近看得多的就是数据结构,就说了这个,就问了个建堆的问题。
答:我之前只在堆排序的时候用过堆,然后按那种算法好像只能保证堆顶元素是最大(或最小),不能保证每个结点下都是堆。。。深感自己学艺不精。。

赞一下(0) 踩一下 查看面试题参考答案>>

2019-05-13 15:51:35 | 校园招聘
面试过程:

自我介绍:我大体讲了下自己做过的项目,还有目前和几个兄弟一起创办的小程序公司已经承接过多个微信小程序并上线。可能一开始太紧张也没说太多。。。,然后面试官问我想做前端还是后台开发,我思索了一下选择了前端,因为我最多使用的是jfinal框架的开发,我了解到百度web开发主要用的是ssm框架,ssm框架有过一两次开发经历但是长时间不用怕给自己挖坑。(这里真是埋下了伏笔T T)。
2、Java:提问了一些java基础,还有集合框架ArrayList,LinkedList,Map,Set,问了一些ArrayList和LinkedList的底层实现,当初听老师的话自己写了LinkedList的实现还是有好处的。。,之后问了一些io的问题,由于这一段时间都在做开发底层问题已经记不大清了,我回答的模棱两可。。然后又问了多线程问题生产者消费者模式,还有开发过程中遇到的线程安全还有并发问题。

面试官问的面试题:

百度软件开发工程师面试题

1.什么是管道、什么是信号量。
2.进程间的通讯方式。
3.4、哈希表
散列技术是在记录的存储位置和它的关键字之间建立一个确定的对应关系f,使得每个关键字key对应一个存储位置f(key),查找时,根据这个确定的对应关系找到给定值key映射f(key),若查找集合中存在这个记录,则必定在f(key)的位置上。f为哈希函数。负载因子最好 < 1/2,否则会发现经常出现冲突。

赞一下(0) 踩一下 查看面试题参考答案>>

1 2   共 2 页

还需查看百度 更多信息?

相关公司面试经验