百度是我开始找工作时最想去的企业。我的目标是北京互联网企业,职位是运维dba
或者研发。虽然自己的经验和背景主要是web开发,但是很希望做dba
在工作除了准备程序设计,算法等,大概7月开始阅读《mysql技术内幕innodb引擎》、《高性能mysql》,专门为mysql dba做准备。
十一长假回来后百度就开始笔试。在笔试百度前已经笔试面试过一些企业,加上十一的准备,还是很有信心的。
笔试。周六的上午,人特别多,运维是一套卷,题型包括选择、填空、算法、简答和设计题。运维研发和dba在后面的大题不同,前面选择填空简答一致。选择很多是操作系统和计算机网络方面的知识,知识点考察的很细,需要在笔试前好好复习操作系统和计算机网络。填空也有些操作系统方面的知识。算法是考了一个很相对简单的,使用递归就可以解决。简答是说明tcp/ip 四层协议。后面的运维dba单独有几道选择题,全是考察数据库的,主要是mysql。如果读过《高性能mysql》并且有一定实际经验,这部分也是通过。最后的程序设计记不太清了,大意是文件中存储了很多条数据,设计一个模式能够快速访问。我应用B-tree设计了一个模式。笔试除了选择题其他感觉还可以,在面试中发现才57分,哎,不及格,满分100。但是没有原来听说的那样是变态级别,考察很多操作系统和网络的知识点。对于研发的试卷,认识的一个女生考了87分,那个女生后来获得了微软、googleoffer,相对个例了。笔试结束的当天晚上就通知第二天上午面试,效率相当高。
一面,技术面。在宾馆中11面试。这一轮技术面,面试的很全面。从mysq优化、mysql索引、锁、存储引擎区别、linux命令、shell写法、tcp握手过程、进程线程区别等等。范围很广,也简单讨论了我做的项目。一个小时左右的面试,感觉波澜不惊,和面试官沟通也很顺畅。
二面,技术面+项目讨论+智力题。二面也是一面结束后当天晚上通知的,同样是上午宾馆11面试。刚开始面试的时候面试官突然说公司有些事,等了大概半个小时后开始面试。这轮面试自我介绍后,第一个问题就是数据库事务的要素,我脱口ACID,给面试官留下做了准备的感觉。这轮面试技术问题不多,主要是讨论技术,如数据库优化,innodb引擎优化,myisam优化。在项目方面,面试官和我详细的沟通项目细节,包括技术细节和项目本身。这些结束后,面试官给我下了不太适合dba的结论。但是问我是否对运维研发感兴趣,然后讲了好多运维研发的好处……上一个面试官也是讲了好多运维研发的好处。以为不适合dba,可能没戏了。面试官想了想,“看看你的学习能力吧”。根据他手上的密钥卡接连出了两道概率题。密钥卡是一个6位的随机数生成器,每一位的数字和一般计算器上的一致,第一个记不太清了,第二个是出现正看和旋转180度一样的数字的概率。这两个概率我的答案都让面试官满意。第二面在项目沟通上是通过的,最后的智力题也是通过的,中间技术讨论都讨论到了我当时的极限。
三面,第二面的当天下午正好在一个宾馆里面试阿里巴巴,在等待室收到北京的电话。问我下午可不可以继续面试。这种效率令我很吃惊。面完阿里巴巴,加上上午1个多小时的面试,已经有些疲惫了。按照约定时间过去,还在hr的屋里等了40分钟……。面试有时拼的是体力,面试后及时休息很重要!三面是经理面,自我介绍。本来以为经理面是聊天了,实际上还是技术面。面试不要想当然,心理准备也很重要!我在介绍后犯了一个错误,我把前两轮面试官和我说适合做运维研发的话说了出来,面试官立刻问我那今天是面dba还是运维开发呢,我说dba。无论之前面试官说什么,一定要清晰自己的方向。面试开始聊数据库优化,中间聊到负载均衡,面试官让我用语言实现一个负载均衡算法,这个我写的不理想;然后谈到raid,让我写raid5校验算法……这个当时不会。后来又让写工厂模式,问我工厂模式有几种。这场面试是三场中最差的。
本来其他人都刚刚一面结束,我三面都结束了。后来就一直没有后来了。总结一点,不能被面试官改变方向。即使有疑虑也要在最后问,不能让面试官对人有疑虑。有面研发的同学获得了百度offer,在三面后和hr谈薪酬,年薪13k*14.6,是一个应届硕士互联网中较好的了。
关于社招一面,后来不太死心又投了高级PHP研发的职位。我写的明显的应届,不过简历也过了。安排的电话面试。本来安排下午,面试官临时开会,后来拖到晚上面试。面试中我实话实说我是应届,不过有1年多的实习经验。这一面主要是讨论项目,最后我特意问了应届身份对社招的影响。百度面试官说面试是测试被面试者的水平,根据公司标准先评级,即使是应届,潜力大也是可以的。对于社招,就要看被面试者工作的几年是否有较的提升,是否在积极的成长,主要看几年工作中的提升。
    虽然缘分没到,感谢百度面试的经历,让我成长。