百度运维开发工程师职位面试经历
百度运维开发工程师职位面试
面试时间为:2014/2
话说一天尽力三次面试,到现在心情还没有平静下来。
收到的百度MM电话,说安排十点面试,问时间是否合适,当然合适,百度这么大公司面试,什么时候都可以推后啊。
看了两天关于运维的一些面试题目,大概是一些分布式系统,分布式数据库,分布式文件系统ASF之类的,另外看了下DBA的一些题目,DBA和我投的分布式系统运维工程师都属于运维部,不了解是否有交叉,所以一起看了一些。
上午9:50开始等电话,但是没有等到。然后打电话过去没有人接,于是以为自己听错了,将周日听成了周一不晓得,于是发了个邮件(之前投简历时,收简历的人的邮箱)问了一下,没有马上收到回复。
大概在10:37接到电话,说是百度运维部的。我很惊讶,然后跟他讲述了一下,刚才等电话没等到,然后电话又没打通的情况。他解释说由于前面的面试人员耽误了时间,所以晚了。然后就开始面试了。没有自我介绍,开始就问过关于老虎机的事情,让我介绍一下这个项目以及自己负责地部分,涉及到的一些知识。我讲述了一下网络传输,然后问了我TCP的五层包括什么,我回到ISO的七层了解,但不确定TCP是哪五层。但是七层也没说全面,以至于很尴尬,不过面试官很Nice,给我补充了几个。然后问我有没有接触分布式系统的编写工作,我讲述了一下能耗系统那个项目,主要讲4台数据库分配到不同的计算机上,进行运算,减少负载。我问他这是否属于分布式系统,他委婉的回答,确实说这不属于,啊,汗,好吧,本来估计就不是。问过我是否了解Hadoop和mapreduce的情况的,当时太紧张,没听清是不是这两个词,想了一会说不了解。后来问我是否关于数据库分片的问题,我想应该是所谓的分段,然后确认了一下,他说是的,可能翻译不同而已。庆幸,面试之前刚刚看过,水平分段,导出式分段,垂直分段,以及混合式分段,并一一作了介绍。又问混合式分段是否可以是前三个的结合,我说可以。问为什么,我答导出式分段实际上是水平分段的特例,然后等等之类。恩,回答完毕。之后问了两个关于Python的问题,简历上写熟悉于是为了做过什么项目,我说一些简单的计算器之类的。然后他又问list加入新变量,什么方法是最快的(+,复制,**等三类),我答是加吧,他问为什么不是其他,然后没有答上来,尴尬。又问了list和triple的区别,没有答上来。然后很Nice的他帮忙解释了一下,triple是静态的,不可更改,并有自动去重功能。然后又问我有什么问题想了解,我问了下分布式系统运维工程师和DBA的岗位需求和具体区别,然后大概给我讲述了一下。这期间提到了MapReduce,我反应过来之前没听懂的两个词可能有这个,这个我还是有些了解的,但是没有问他是不是mapreduce,面试之后还后悔呢,感觉自己没有将自己十分地展现出来,明明会的东西没有讲到。这样一面结束。大概11:00左右。
一面之后感觉不是很好,其实,然后感觉希望不大,总在mapreduce那里有些遗憾。中午跟同学出吃饭,还聊了很多八卦事情。聊的比较high。
下午一点回到教研室,没坐几分钟,手机又显示北京的号码,比较惊讶。接到电话说是通过一面了,现在二面。更为惊讶。紧张坏了,因为一点准备都没有。然后跟他商量找个安静的地方,马上面试。首先让我介绍一下自己,我讲了我的科研课题,比较详细,然后又要将项目的时候,提到简历中有,他说那不需要再介绍了(其实上午的面试官问的全是项目的问题)。然后介绍自己本科期间的项目,简单介绍的。然后介绍获得过的奖励,以及自己的优点(这里是优点)。然后他让我详细介绍一下自己的科研课题,我稀里哗啦讲了一大通,因为这个我熟啊,而且量他也不懂(高维时间序列数据挖掘)。哈哈,问了我一些细节问题。不太记得了。问了我,遇到的困难。我就给他讲述当初我用两个月的时间看TS-tree的文章,期间课题小组讨论时上了4-5次,同时看了10多篇相关论文,成功的过渡到新的领域。后来看我用C++编程,问了我多态的概念,以及虚函数的概念。问了我排序的问题,让我讲述一下快速排序,当时脑子一蒙不记得了,灵机一动,说快排不太记得了,不过我可以讲述一下归并排序,他说可以。于是给他讲了一下,哈哈,我正好拿着笔记,笔记上第一页就是归并排序(阿里巴巴笔试题目中,当时没做出来,回来之后整理的)。之后问了一个算法题:数据中有10000个数,其中某个数重复率打到50%以上,求快速找出这数的方法,我回答的是基数排序,磨叽了半天好像没说对,他让再想想,也没想出来,然后完事,他告诉了答案:10000个数分成两两一组,然后比较不相同去掉,相同的留下,如果一次不能得到结果,再做一次,最终会得到结果(有点像归并吧哎)。之后问我对Python的了解,我说只学过。还担心他会继续问下去,不过还好没有问到。后来基本就这样了,然后我主动争取问他问题的机会,由于二面根本没准备,所以问了跟一面同样的问题(当然我先确认了下,不是上午同一个面试官),然后基于一面在这个环节的失误,在二面中我主动提了一些问题,并讲述到ASF文件格式等等。这期间电话断了两次,不知道是他那边的问题还是我这边的问题。哈哈。大概用了40-50分钟的时间。
二面结束,没来得及兴奋或紧张,就帮老师去报销去了,大约用了半个多小时的时间。2:30左右回来的。
2:42又接到电话,约三面的时间,我就问他什么时候方便,然后他说都可以,现在也可以。我说那就现在吧。然后开始面试,没有自我介绍。问了跟二面相同方面的问题,我的科研课题(哈哈,又是我的强项)。然后叽里呱啦讲了半天,呵呵。说了一些我的小成果,一本教材编写,然后一篇论文IEEE录用,第二篇论文完成。然后他问了课题的具体细节,包括哪些子方向,每个方向大概做什么,我一一作答,讲了特别多。问是否可以给讲述下数据表示具体例子,我给讲述了人体运动数据符号化的问题。然后问我多少人在做课题,答大概20人左右。问跟我做同样子课题的有几个人,答三个人。问如果意见不同意的情况下怎么办,我在这里磨叽了很久,说了现在我们课题组的讨论形式,以及征求老师、专家意见等等。然后他说如果这些条件都不能满足,最终还是不能统一意见怎么办。我说一一验证几种方案,然后他说如果每种验证时间比较长,无法浪费这个时间怎么办。我最后胆怯的说,只能我决定,因为我是项目负责人。后来他总结就是leader的作用,我说对的。其实绕了大圈,就是这么简单,不过还好最终算答到点子上了。然后问了研究生期间的成就,我说本科期间做的工程类比较多,所以当时研究生的目标就是做些研究,然后就做了。然后问了这两年研究生的时间上的安排,答第一个学期适应领域,然后参与写了本教材(教材这事忘记说没说了),第二年一年的时间提出研究的问题,然后完成第一篇论文;到现在完成第二篇论文。又问了到毕业之前的时间安排,问了如果安排科研和找工作的时间,答白天做科研,晚上找工作。然后又问以后几年的职业规划,我答先用一段时间适应这个领域、技术、岗位等,然后进行深入的研究,做到精。然后我又主动提出了问题,关于是否需要实习,以及实习时间的问题。他说不一定强制去实习,百度比较人性化的。呵呵。然后最后提到可能需要去北京面试,我说没问题。最后他又改主意了,说可以在大连的校园招聘中面试,不用参加笔试了,直接面试就行。
OK,就这样,三面结束。
等待过几天是否有电话通知,或者校园招聘吧。
总结一下,有几点不足:
1、Hadoop和mapreduce的知识没有回答上来。
2、Python中list加元素的问题,list和triple区别的问题。
3、那个10000个数中有个数重复50%以上,算法的问题。
4、快速排序
9月13号突然决定去北京参加百度的面试,因为实在着急的不想等到校园招聘了,于是13号傍晚买了14号晚上的票。
14号坐火车,竟然遇到大学校友,一起坐车到了北京。
15号早晨到北京,百度面试安排在16号下午两点。
15号先去搜狐参加了笔试,后来证实搜狐一点人性都没有,这么远去竟然面试都没给……(虽然我的笔试确实做的不好)
16号上午去了人民搜索参加了笔试,还是比较人性,第二天给了次面试机会,虽然笔试也不好,面试同样不好。
16号中午就到了百度大厦,下地铁的时候还碰到了百度垂直搜索hr,长的还不错。中午在辉煌国际地下吃了套餐,一荤一素9元,打饭的妹妹竟然给了我一个鱼头,真实的一荤其实只有半个鱼头的。
下午不到一点就到了百度大厦,在大厅沙发坐了近一个小时,当天有北大校友见面会,所以人特别多,同时还有很多来参加笔试面试的。
两点之前到前台登记,等着她帮忙联系被访者。
两点多几分钟的时候,有工程师来叫我,开始准备面试。
来到二楼大厅(必须刷卡才能进出的,面试官刷他的卡带我进去的)。开始面试,面试由于事先没有准备,一直在看我的简历,没有让我自我介绍,于是这时候,我就开始主动要求做个自我介绍,他说可以。(这点我觉得很重要,一定不能让面试的时候无语,要自己把握主动权)。于是一顿稀里哗啦地介绍研究生研究课题,项目等。他简单地问了几个关于项目的问题,不是很深,有点闲聊的感觉,期间他问到我的软件设计师是不是全国统一考的,我说是的,就是软考考试考取的。然后我无意中提到前面已经面过三次电话面试,他很意外,说已经通过电话面试就不需要面他了,他去叫头儿来。
于是我开始等待,等着经理过来面。貌似等了20~30分钟这样子,长的挺好看的一个比较帅的帅哥经理来了,说他自己叫什么来着,我没听清,一直对人名不敏感的,也就没记住。我鞠躬表示您好,他竟然跟我握手,哎,没有社会经验的啊,竟然我没有意识到还要握手的。⊙﹏⊙b汗。开始面试,他没让我自我介绍,就问了几个我对职位的理解,我说了几句大概就是之前三面问面试官的问题,没想到派上用场了,但是由于说的比较简单。经理让再详细点,把之前面试官说的话再复述一遍,这一点,⊙﹏⊙b汗,其实我都没准备这个。然后就说了一遍,比之前详细一点了,但是还是没让他满意估计。我主要讲述的是分布式系统运维工程师主要就是负责产品上线之后的运维工作,维护产品正常运行,可能需要通过写程序实现,其次说了分布式运维工程师和DBA的区别,DBA可能更多的是优化数据库,而分布式系统运维主要是分布式上做工作,存储的时候用的是分布式系统文件等等。之后他问了我对分布式了解多少,了不了解Hadoop和mapreduce,做没做过相关的东西。我诚实的回答没有做过,但是我了解一些东西(这点也很重要,遇到自己不会的问题,一定要转移一下,转到自己了解的东西上,当然这之间不能有太大的区别)。我说我们教研室有人在做mapreduce的相关东西,我了解一些,主要在mapreduce框架中加入了索引池的概念,利用多索引来优化mapreduce框架结构,另外我参加IEEE的会议时(这一点也是故意说的,因为我去参加一个国际IEEE的会议,意味着我在另一方面也很优秀)马来西亚的人有研究,在mapreduce中加入SVM的概念,在map的阶段利用SVM进行聚类使得多个任务中相似的那些被分配到同一台系统上进行运行,提交效率和效果(很多科研中的术语)。之后他就开始让我提问问题了,我说这么简单啊,他说你还有什么需要向我介绍的么。我说介绍一下项目或者课题的内容,他说对之前的面试官介绍过就可以了,不需要再跟他介绍了。于是作罢。他开始让提问问题,我想想也不知道该提问什么问题(这一点比较失误,其实每次面试的时候都应该准备几个要提问的问题的,但是貌似我都没有准备啊)。于是我就又问了同一个问题,这个岗位到底是怎么样的。他又是一顿介绍,说实话没怎么听进去。当时比较紧张吧。然后他介绍完,又让我提问。我也不知道该问什么就问了运维部人多不多,他说怎么算多怎么算少,100多算多不,我说还可以吧(其实我自己都不知道多少的概念)。然后又让我提问,我问女生多不,他说怎么算比例呢,我说做运维和做测试的女生是不是应该比做开发的女生多啊,他说那是应该多的吧,但是男女比例还是比较大的,我说行业关系,然后又扯应该多招点女生,男女搭配干活不累嘛(其实这也是故意说的,哈哈,暗示他把我招进去吧)。他笑笑。然后看我的简历,说我做开发比较多啊,我说是的,他说好吧。然后说我的简历说面试结束了,我又问大概什么时间能给通知,还有没有必要再进行面试,他说不需要再面试了,很快就会给信的。然后他又刷卡送我出大厦。就这样完事了。
我坐地铁回住的地方,在地铁上接到百度hr的电话,说让我回去把简历系统改为“运维部-运维开发工程师(2011校园招聘)”。然后晚上回去改简历系统岗位,然后开始漫长的等待。
等待期间催了好几次,一直到23号简历系统才改为“运维部-运维开发工程师(2011校园招聘)”。于是给hr发邮件感谢简历系统更改成功,并委婉地问了下面试结果的事,她回复“面试通过”了。之后又是漫长地等待,直到今天简历系统的状态依旧是“处理中”。但是在百度工作的师兄帮忙看的简历系统,也是面试通过了。昨天给hr又发邮件问是否需要再参加校园招聘,并且委婉的问下offer的事,她打来电话详细地解释了一下,已经通过了经理面试,offer的事应该不用担心的。不需要再参加校园招聘了,大概就是这样了。不过忘记问具体什么时候可以签了。
整个过程就是我的面试经历了,现在又开始漫长的等待,等待正式的offer,和等待签约了。
从终面到今天拿到Offer,还真是煎熬啊,急切地等待,打扰了好多次hr。