360公司面试记
在智联投了份开发岗的简历,当天360就打来电话,约好了面试时间。
本以为360还在四惠,结果地图上一查,也不知道什么时候搬到东 北四环外去了。我家住在西四环,从西到东横穿北京,坐公交倒地铁,地铁再倒地铁,出了地铁再乘公交奔波十公里。心想还是放弃吧,就算被录用,以后上班也够 麻烦的。打开 Gmail,在面试通知邮件的确认信中注明放弃面试。结果没多久电话又打过来了,“劝”了我一会儿,北京这么大谁上班都不近云云。好吧,我不喜欢争论,于 是答应了如期面试。
大雨,于是开车前往。四环绕半圈再上机场高速,心情与雾霾一色,浊水共雨刷齐飞。路上有点堵,将近1个半小时才到。远远看到了电子城大楼的顶端醒目的360的招牌。
一楼填完单子,有人来接头。领上楼后,找个空会议室,一面开始了。
我 真的不知道,77年生的大叔,在这接受层层拷问,算不算是一种失败。09年至今的创业历程虽然让我得到许多精神收获,但最终失败的结局却让我付出了不小的 代价。这飞快而又漫长的四年,除了最终给自己颁发了第二枚创业失败“勋章”外,并没有让简历变得更有份量。这四年,业界发生了翻天覆地的变化,金融危机后 摧枯拉朽式的科技革新,杀死了一批批跟不上浪潮的小公司(包括自己的创业公司),也正在杀死一批批跟不上时代步伐的大叔。公司关闭后的两个月里,我一直在 问自己:当大家都在热火朝天地搞云服务、搞移动互联网时,你在搞什么飞机?
一面的面试官是用人部门的经理,很亲和。没问我什么技术问题, 倒 是挺关心我家离公司的距离,并和我谈起部门中正在进行的项目的技术细节,以及下一步的打算。他说他78年的,比我小一岁,家有小女,比我家的大三岁。我略 略有些吃惊。他解释说他已经 Google 了我的个人信息并翻了我的博客。气氛逐渐轻松,我对他的敬意油然而生。一个多小时后,他说下一步和我谈的是人力。
和人力的谈话算是二面了。人力是个四肢冰凉的男的,很 nice。他介绍了公司的薪酬福利制度,并了解了我以往的薪水情况以及我对新工作的薪水期望。对于我的期望,他不置可否。最后他说,还有最后的复试,让我等一等。
等 了很久,让我去了360搜索的茶水间,复试(三面)终于可以开始了。人力拉来了360最牛部门(搜索)的一个特别牛逼的人,看上去是个80后,标准潮男, 留着络腮胡。我头疼到凌晨两点就是他给闹的。他问了我特别多的技术问题,每次以为要结束,他都拧着眉头想出一个新的问题,仿佛不把我的脑细胞不杀光不罢 休。我没有把简历投给搜索部门,是因为我自知不够格,算法基础不扎实。可是这位帅哥却很“厚待”我,以搜索部门面试官的优越资态毫不留情地用算法题把我考 倒了。他问了我很多细节,比如 EPoll 中的某些常量名,我记不住那么多。这些东西能记住当然好,但我更乐意于用的时候查手册。对于程序框架(Framework)的概念,以及网络程序框架的职 责边界,他和我的观点有很多分歧,并且最终也没有达成一致。说实话,我有点累,不希望这样的气氛持续太久,但也没办法,只好忍耐。最后他让我写一段客户端 发起TCP连接的代码,我只在纸上简单地写了两行调用,参数省略。他很惊讶地说你没写完啊,我说抱歉。其实我也很奇怪,搞了十来年的网络编程,却没有花心 思去记住那些琐碎的API参数。我从内心抵触对这些实现细节的回忆。
潮男走了,我大喝了两口矿泉水,头隐隐地疼。看看手机,都6点了,这 些 人怎么一个也没下班的意思呢。茶水间在两个大办公区之间,不远处坐了几个人,正在讨论不同模块间的消息传递机制。墙上弄了一个大大的搜索框造型,搜索框中 有人用白板笔写着“普京离婚啦!”。我不想笑。想想我自己,曾经在没钱买电脑的岁月,写完一个八宝粥罐的圆珠笔芯,用尽一纸箱的练习本,全程启用人肉调试 模式写过人机对弈、写过DOS下模拟多任务的界面框架、写过16进制编辑器、写过汇编模拟器、写过解释型语言并用自创语言写过游戏。可是现在我却无法为了 职业生计而补全纸面上的那两行函数调用的参数。想想很可笑。络腮胡很牛,但是说实话,这轮面试很不对胃口。
可能再多的反思也挽回不了今天 失 败的事实。等了很久,很 nice 的人力又过来了:“对不起让你久等了!你们谈得怎么样?”“还行,不过在他熟知的领域,我有很多不知道的。”我如实相告。人力又问:“你觉得他牛吗?”我 由衷地说:“非常牛!”人力感叹:“搜索部就是有牛人啊!”
“您今天着急回家吗?不急的话,要不再找个人和您谈谈?”人力征求我的意见。 我 稍稍有点意外,这面试倒底有几关啊?脑细胞在上一轮都被杀得差不多了。但我还是毫不犹豫地答应了,原因是对方专业的态度和素养。我跟着他又是上楼又是下 楼,到了另一层的休息区。人力走了,我静候下一位牛人的到来。
来了一个瘦高个,目测70后,看外表是个实用主义者。由于在上一轮耗尽了能 量,我只好放低音调,语速平缓表情平淡。寥寥几句重点便自我介绍完毕。他以我的简历为参考,围绕项目的业务模式和实战经验和我展开讨论。对于我提到的某些 关键问题的解决方案,他表示认同。对于网络编程领域中程序框架的必要性以及框架的实现思路,我们在看法上的共振频率很一致。我梳理了高性能服务开发中常见 并发模型,以及不同场合下的选择策略,讨论了在跨平台环境中从 Reactor 模式到 Proactor 模式的演变方法。他很专业,在我叙述过程中见缝插针地提出关键性的问题,但并不事无巨细。和前一轮相比,我和这位面试官聊得更多、更畅快。如果说前一轮是 一盘纠缠不休的意大利面条,那么这一轮更像是饭后的一小杯香茶。
晚上7点了。低血糖在隐隐发作。旁边的办公区,有不少人在加班。我等着很 nice 的人力、等着几轮面试下来已渐渐变得不重要的面试结果。
“对不起,让您受累了,今天面试真是个体力活!”人力匆匆地赶来。
“没关系!谢谢你!”
“我们面试就到这里,回头我们再联系你。”很标准的面试失败的结束语。
握手并礼貌性告别,下楼。
外面晚风还新,而心态不知从什么时候开始,早就旧了。
文章来源:卢松松博客