zz-面试一年前的自己

转载自何巍的日志,看后颇有感触…

 

 

我在雅虎的面试经历

我现在还记得,2010年的七月,我在雅虎面试的情景。

雅虎的研发中心是在清华南门外的一座高楼上,我面试的小房间呢,靠着窗户。透过窗户,可以俯瞰美丽的清华园。

一段简短的自我介绍以后,面试官的第一个问题是:你写下快速排序吧。

我脑子一下子懵了,快排是大二时《数据结构》课上学过的,是很基本和经典的算法。可我后来就再也没有用过,需要排序的时候,不是Copy-Paste之前写过的排序代码,就是调用库里的排序函数。我只能记起快排的大致思想了:好像是把数组分成两段,然后再…Oh, Damn!

吭哧了半天,手心都是汗,最后终于写出来了,花了接近二十分钟,当我沮丧地让面试官看我涂涂改改后的代码时,我甚至都不敢确定我写的是“快排”,还是别的什么。

我自然知道面试官的原意:先出一道简单的题,让我很快、很轻松地写出,缓解下紧张的情绪,然后再由易至难。可是,我把这一切从开始就弄砸了。

面试官问我:你知道TLB吧?

我:嗯,知道。

面试官:你说说它的原理:

我(嘀咕着、极小声地、不确定地):好像和缓存有关吧??

(心里想着:我上学期学体系结构的时候学过TLB,期末考试前还复习过,考完试后早忘记了。现在又不是期末考试前,我怎么可能还记得住,呜呜…)

面试官:知道段页式存储管理吧?

我:嗯,知道。

面试官:解释下(他递给我一张纸,说你在纸上比划下)

我:…

(心里想着:上学期学《操作系统》的时候我还写过一个操作系统,里面用的就是段页式存储管理。当时还是很明白的东西,怎么才过半年就想不起来了!!)

面试官(很无语、可能抱着最后的一丝希望):数据库三范式你总知道吧?

我:学过,可是…

面试的结果可想而知。

当我临走的时候,我很不忿地问面试官:我做过一些项目,写过很多代码,你为什么不去问这些项目的经历,或者具体的技术,而是问这些课堂里学过的,可是根本用不到的基础知识?

那个雅虎的面试官,看了看我,给了我一个我这辈子都不会忘记的答案:

你们学校里的做过的那些项目,用过的那些技术,从工业界的角度来看,是小打小闹。你们入职后,技术上都是要重新培训的。而我现在想评估你,只能通过你在学校里学过的基础知识。你作为一个在校的学生,如果这些基础知识你都掌握不好,你说服不了我去雇佣你。

 

我的简历 Vs. 找实习的结果

那时的我的简历是这样的:

清华大学的在读学生,大一、大二、大三学业成绩年级前三,年年奖学金,大二开始进入实验室,到那时已经参加了三个科研项目,并且即将投出人生中的第一篇论文,四、六级都是640左右的成绩。

我自信满满,我以为这是一份很完美无缺的简历,我以为我的同龄人不可能有比我更棒的履历表。

可是,我错了。2010年的夏天,是我第一次去找实习,第一次拿在象牙塔里学到的知识去接受现实社会的考量。我大约面试了六、七家公司吧,被除了IBM以外的所有公司都拒绝了。

拒掉我的公司包括:雅虎、搜狐、网易、创新工场、浪潮…

在最初的一段日子里,我很不解,很疑虑:为什么这样一份看着很棒的简历却不能得到公司的认同?公司里既然不认可我的价值,那么它需要和认可什么样的人才?

很庆幸的是,从那个夏天开始的一年时间里,我有幸先后在IBM和微软两家伟大的公司实习,在顾明老师的指导下完成了一次工作量很大,也非常有收获的毕业设计。这三件事中的每一件,对我来说,都是莫大的挑战,都给了我的认知以全新的甚至是颠覆性的冲击。我对于一年前自己不解的问题逐渐有了更明晰的认识。

现在,当我回首去年夏天的经历的时候,我会毫不犹豫地做出那个雅虎的工程师同样的决定:

       如果现在的我去面试一年前的我,我不会去雇佣自己!

这就是进步。

在传奇的清华园里,如果横向地看,我只是一个极普通的学生,比起周遭的老师、同学,取得的成绩不值得一提,我更是时常惶恐不安,生怕自己将来能力有限,贡献不大,对不起身上贴着“清华”这个金色的标签。但如果纵向地去看,我能感觉到自己的进步,能感觉到自己成长和探索的步伐。这对于我来说,足以让我内心欣喜和宁静。

 

我只有学分绩,没有能力

和园子里的大多数的同学一样,我也是那种在中学的校园里的“尖子”。那时候,似乎有了成绩就有了一切,老师会表扬,同学会羡慕,全校性的集会上会经常有发言的机会,各种的奖励,甚至课间都会有邻班的小女生跑着送来表达爱慕的纸条。

于是,这种思维很自然而然地延续到了我的大学阶段。我每天都在自习室和图书馆里,我想把成绩弄得很高,我依然觉得,有了成绩就会有了一切。

我记得小时候经常写议论文,时常提起的一个话题就是“高分低能”,我记得我写起这个话题,每次都慷慨激昂,痛斥那些在应试教育的体制下培养出的“高分低能”的畸形。可是作文谁都会写,道理谁都会讲。所谓的“高分低能”,那时候,只是说说而已。直到找实习时的碰壁,我才真切意识到,原来议论了这么多年的“高分低能”的人,其实就是自己。

我和学校的老板、公司的老板多次谈过这个话题,现在终于明白:当一个老板考虑是否雇佣你的时候,他不会去在乎你的GPA,不会去在乎你得过的奖学金、他甚至不去关心你做过的社会工作和你参加过的那些项目。他唯一在乎的,就是你的能力和潜能,这决定了你的价值,决定了你可能为公司、为社会创造的价值。

我终于明白:当我们走出象牙塔,踏入社会的时候,我们的核心竞争力,早已不再是成绩,而是能力。

这就是那个雅虎的工程师不愿意雇佣我的原因:我只有学分绩、没有能力。

试想一下,在你的面前有这样的一位求职者:他学过C++,学过JAVA,用过Eclipse和Visual Studio。他写过MFC的程序,也写过JAVA的程序,完成过课堂作业,写过的代码加起来也有几万行吧。可是你和他都明白,这些代码,大都是学生的“自娱自乐”,离工业级的代码相差太远。他学过算法和数据结构,却写个快排算法都吃力。他学过体系结构,却讲不出TLB和段页式存储管理。他学过数据库,却记不起三范式。

虽然他是清华的学生,虽然他的学分绩很高,虽然他还得过奖学金什么的,可是你愿意去相信他有成为一名优秀的软件工程师的能力和潜力吗?你愿意为了他身上这些种种光鲜的“标签”而雇佣他吗?

答案不言自明。

只有能力才能证明自己,只有能力才能创造价值。

 

我学过计算机专业的核心课吗?

这个问题似乎很可笑,我都是清华大学研究生一年级的学生呢。早在本科阶段,那些专业核心课,比如操作系统、数据库、算法、计算机网络、编译原理、体系结构都学过了。

而且呢,不仅仅是学过,我还考过很高的成绩呢。呃,我不一一地列举了。写这篇文章的目的本来就是反思,而绝非炫耀。

可是,既然这些计算机专业的核心课我都学过,而且几乎门门都是前10%的成绩,为什么我在雅虎的面试里还表现得像一无所知的儿童一样呢?

我想起了一件事,我学的这些核心课用到的教材几乎都是学校里的书店里淘到二手书。这些书,大都是我的师兄师姐用过的,书里还有他们当时的笔记和圈圈画画。为什么他们会把这些无价的、本该阅读一辈子的书,以一折两折的低价卖给书店呢?我想,肯定不会是这些师兄师姐们都转行去学金融了吧。

我想起了我学过的计算机网络和编译原理这两门课,是的,我都考了99分,是年级第一。可是那些经典的教材,Tanenbaum那本厚厚的《计算机网络》和久负盛名的编译原理龙书,我看过多少,大约15%都不到吧?

理解了多少?估计5%都不到吧,稍微理解多一点也不至于在雅虎面试中表现得那么差。

这些书,这些计算机专业的核心课程,在考试结束之后,就该束之高阁了吗?

今年春天,我在微软做Visual Studio的插件开发,需要用到编译原理里的词法分析、语法分析的知识。我现在还清楚地记得,当我重新学习词法分析和语法分析,学习LR文法时,我看“龙书”的感觉同一个新手无二!

想想真讽刺,这就是我华丽丽地考了99分的计算机专业的核心课。

这些计算机专业的核心课,我都学过。可是从某种意义上来说,我又都没有学过,或者说,学习的过程,不应该随着课程的结束,本科的结束,或者学生时代的结束而停止。这些经典的教材,是需要常读常新的,“温故知新”的过程,理应贯穿整个学生时代和职业生涯。

 

清华的学生为什么不考证?

我有很多本科院校相对一般的同学,问起他们在干什么,他们经常告诉我,他们在准备四六级,在考计算机等级证书等等,而且忙得昏天黑地。

可是,在清华的校园里,却没有考证的传统,大部分的同学估计都和我一样,连四、六级都是“裸考”的。我们为什么不像他们那样费尽心机地去考证?

清华给了我们足够的自信,更大的平台和更高的视野,让我们不需要去考那些证书,而可以把时间投入到更宝贵和更值得追求的事上。而且,很功利地说,一张清华大学的毕业证书已经抵过了十张、百张的等级证书。

我们清华的学生为什么不考证?是的,我们不需要去借助那些证书去谋一份好的工作和美好的未来。

换句话说,对于一些普通的工作岗位来说,这些证书或许很值钱。但是对于更高端的工作职位来说,那些证书就没那么有说服力了。这就像你揣着一张计算机等级考试的证书到Google去求职一样可笑。

能靠等级证书找到的工作不会是太好的工作。同样的道理,能靠GPA还有奖学金证书谋到的工作也不会是最好的工作。最好的工作,我们必须而且只能靠能力去说服我们潜在的雇主。

想着我这个年龄时,盖茨在做什么,乔布斯在做什么,想想自己的曾经,还那么迷恋GPA和一些所谓的标签,真真是感到汗颜。16岁的扎克伯格,拒绝了微软95万年薪的工作。当你的能力能证明一切的时候,没有人在乎你的学分绩,没有人在乎你是硕士还是博士还是什么学历都没有。

我想,我应该有这样的志向,靠能力,而不是靠那些所谓的标签,去赢得未来,去为祖国和时代贡献自己的价值。

 

乔布斯的接力棒

今天白天的时候,知道了乔布斯去世的消息。我又听了他在Stanford的那次著名的演讲,他在提到自己被苹果公司开除的时候说:

“I felt that I had let the previous generation of entrepreneurs down – that I had dropped the baton as it was being passed to me. ”

如今,乔布斯已经离去了,旧的传奇也在不断老去,新的传奇也在不断地诞生。乔布斯的接力棒(baton)已经传到了我们这一代人的手里。我从不奢望我会是一个改变世界的人物,可是,作为一名未来的IT从业者,我真心地希望能和中国,还有世界上的工程师一样去参与创造和改变这个世界。这是一项最伟大的事业。

我要更努力更有勇气,同乔布斯一样,我也不想让前辈失望。

发表评论

电子邮件地址不会被公开。 必填项已用*标注