上周百度和ThoughtWorks(TW)发来面试邀请,好说歹说把两家的面试尽量地安排重合了。以至于我还是硬着头皮请了三天事假去面试。
百度文库
最开始是百度两家,文库和广告平台,文库主要是去写业务代码的,广告平台做传说中的大数据,个人比较偏向于广告。
下午两点去面了文库,面试官人看上去不错,脸比较圆比较有福气,见了面就扯一些闲话。坐下来谈,问了一些问题,跟校招的不一样,校招面试的话会问一些算法和数据结构什么的大学教的内容,这个面试官没问任何这些计算机基础,看了一下简历上的项目,就开始跟着项目问了,让我选一个自己感觉比较难的项目讲,讲遇到的难题怎么解决的之类的。这个面试官感觉是比较看重项目的那种类型,可能也是跟要做的事情有关。之后还是得写程序,叫打印一个杨辉三角,我把规律摸清楚了之后,就开始动手写了。面试官没让我写完,写到一半问了一下我思路,听了之后还是说我思路有问题。
一面的技术差不多就这样,面试官问了我现在所在的公司,觉得我现在不着急着跳槽比较好,因为之前的公司里还没有达到瓶颈,跟我讲了一大通现在跳槽的弊端。最后问我是否还想继续面下去,继续面的话会叫经理来跟我聊聊。我还是否决的,第一想到面得不太顺利,第二百度的话还是想去广告部门的,就婉拒了。
百度广告
下午5点开始面的,在百度的新大楼,有4分之3都还在修。一面是一个四川老乡,很谈得来,问了个问题,有一个1T的文件,其中每一行都是百度的一次搜索的内容,要求2G内存情况下整理出top10的被搜索的内容。这个勉强答上了,然后要求用python写一段程序,依然是两个文件,两个文件里有两个类似关系型数据库的表,然后对这两个表做一些逻辑上的处理,实际上如果真是存在数据库里的话一条sql就搞定了,这里主要就考察一下python代码写得如何吧。
二面貌似是部门的某个主管,这主管貌似对我之前的公司部门比较熟悉,所以也没怎么为难我,简单说了一下一个项目是如何做的,然后叫我写出所有以array开头的php函数,大概写了12个,然后让写一段代码,找出字符串中最长的不重复的一段。想了想,没考虑什么复杂度,直接两次循环,完了之后面试官貌似都忘了正解是什么样子的,只说了下这么写好像有问题,也就算是过了。
三面是技术经理面,是个女同学,几乎没有面技术,就是扯一些家常,这个我最擅长了,什么哲理之类的全部都搬出来了。聊完了应该还是比较满意,就说准备跟HR聊一聊了。
百度的面试差不多就这样,下面说说tw的面试吧。
ThoughtWorks
这家公司之前偶尔有听说,不过还是现去百度了一下,结果褒贬不一吧,有说面试难度跟薪资不平衡的,有说进去能学到很多东西之类的,貌似这家公司的面试难是出了名的。抱着挑战一下的心态我还是参加了全部的面试环节,最终也拿到了offer。
其实面试感觉一点都不难,就是很繁琐,在网上搜得时候大概就说有7个环节,不过最后下来大概是5个,貌似说国内是精简版的。一面是HR随便聊聊,谈天说地。二面是一个homework,大概两天时间吧,三道题任意选一道,写好后提交到制定位置就行了,提前了解了一下TW,他们对测试很重视,所以我也是一改之前的coding习惯,用了测试驱动开发的模式。三面是结对编程,跟两个tw的员工一起改进这个项目,并且还有新的需求完成。四面是做一张逻辑题的卷子,题目稍微有点绕闹经,但不考察智商,保持思路清晰就行了,五面又是HR,跟一面差不多。
整个面下来确实感觉对技术的考察难度没其他公司那么强,就写了一些代码。可能更看重的是实践经验,我在结对编程的环节不是特别理想,HR反馈是说做得一般,不过面试官觉得写代码的感觉还不错(可能是VIM用得比较熟练)。
最后
最后还是选择了TW,一来因为自己兴趣在开发上,二来因为在成都老家,不想再呆在北京做滤芯了(其实成都也差不多),工作为了生活,作为一个慵懒的成都人我还是比较赞同这一点的。这几次面试收益还是比较大,所以记了个流水帐。