我的美国留学生涯 9 - 新兵训练
计算机博士学业是很特殊的学业。虽然仍然在攻读学位以及修学分,然而之前通过考试成绩来评定成败的方式一去不复返。在学业,工作,爱好,以及家庭生活中间苦苦寻求平衡是每时每刻都在面对的窘境。后来想想,这几年博士生涯固然强化了我对计算机科学的理解,然而对于生活态度以及生活意义的理解却使我更加受益。
博士第一年,我没有给自己太大的压力。每学期修两门课,除去学习剩余时间基本都留给与导师开会以及科研工作,每天很忙碌。
我的科研工作围绕编译器后端进行。每天除去读文献,就是在优化一个叫做llvm的编译器后端。编译器后端是计算机软件当中最加底层的部分。编译器后端的任务是把程序员编写好的程序经过一系列步骤翻译为汇编指令以及机器代码。甚至操作系统内核代码,其中绝大多数都是经过c编译器编译后才可以运行在计算机上。我的任务就是仿照llvm当中mips以及arm的后端来重新写一个指令集,进而运行在全新设计的计算机处理器架构上。
第一学期的寒假悄无声息地来临了,圣地亚哥的冬天却格外温暖。忙碌了一整个学期,终于可以松口气休息休息。跟系里所有的博士生一样,我的工资也照常发放,令我十分满足。安哥在加州大学熬了7年半后终于毕业了。之前跟他聊天认识到他希望毕业后做科研的,但后来听说他找到了谷歌的工作,成为了一名软件工程师。对于安哥,大家时常有讥讽地评论,认为他耗费了七八年的时间读博士,跟一些同样多年后毕业的博士生相比也没有做出像样的成果。至于安哥为何七年半才博士毕业,我没有问过。然而我意识到,包括我在内的W教授手下的学生,除去安哥以外,都是今年或者去年才加入的。中间的时间W教授的学生都去哪了?
寒假过后,系里一些博士生拿到了实习的录取信。上学期系里有很多公司来宣讲以及面试,我都没太在意,也没有时间顾及。而且不知道为什么,我不认为教授会允许博士生去做实习。受到其他人的影响,我也开始关注实习机会。与W教授说明自己要暑假实习的想法,他表示我应该在学校里暑假继续做助研,暑假是提高项目进度最好的时机。后来经过一番谈话,他表实我如果我可以拿到苹果或者谷歌的录取信,就支持我暑假外出实习。我快速投递出简历,一周后接到谷歌的面试邀请,顺利通过两轮背靠背电话面试进入项目匹配阶段,此时已经三月底。
谷歌的实习生面试流程分为三个阶段。第一阶段是简历筛选,根据背景以及技能初步淘汰不适合的候选人。第二阶段是电话面试,每位候选人会接受两轮时长45分钟的技术面试。这一轮考查的是候选人对于编程语言以及算法的熟练性,做不出或者写出的代码有问题,结果往往都是被刷掉。通过第二阶段的候选人会被加入一个名单,谷歌公司内招收实习生的单位会主动去名单里挑选候选人面试匹配,一旦匹配成功,录取信立即发放。然而由于申请人远远大于实习职位数,第三阶段往往会无疾而终。我也最终跪倒在了最后一关。