车到山前必有路 ——专访现已被Google美国总部录取的研究生毕业生杨涛
(信:《信息月刊》记者 杨:杨涛)
信:请简单介绍一下你的经历。
杨:其实没什么特别的,我是07年在人大读的本科,计算机专业。本科时候班主任是梁斌老师,后来保研以后来到了杜小勇老师的实验室。当时保研的时候本来想去汉青研究院的,但后来因为没有名额就留在咱们学院了。
信:为什么选择计算机方向?
杨:因为我学理,因此我记得高考后人大招收的名额大多是会计、统计方向的专业,于是我填的第二志愿就是计算机,也成功被录取了。其实来学计算机,主要还是因为我不喜欢学文科的专业。
信:请你谈一谈关于研究生毕业后找工作的经验。
杨:我是觉得我自己对于继续做科研没有太大的兴趣,也没有很大的天赋,所以没有打算继续读博士。定下方向了后我主要就是针对编程这方面做了一些准备,然后就开始去找工作了。从去年三、四月份的时候开始准备,八、九月份就陆陆续续地在投简历了。而且在研二的下半学期的时候,很多大公司都开始有实习的机会了,这时候也需要进行一些笔试、面试等方面的考核,于是我将实习、找工作的笔试与面试放在一起做准备,并不冲突,也很节省时间。
信:实习一般做什么工作呢?
杨:实习还是比较有收获的。因为如果你的实习岗位很忙的话,那么你就有机会学到很多;如果不忙的话,那也可以利用那段时间去做一些自己的事情,不要让时间荒废掉。我那个时候去微软亚洲研究院实习,主要是读文章,读完文章去给负责我的人讲我的理解与想法,大家一起讨论,从里面发现一些可以深入研究的点,然后再针对提出的方案设计实验去验证或者否认这些方案的可行性,如果不行的话就换另外一种方法。实习生主要的工作大概就是写代码、做实验、搞数据。实习最大的收获应该就是认识了一群来自各个大学的小伙伴们,有些直到现在我们还有联系。
信:关于毕业后加入银行还是IT公司,你对这方面有没有什么建议?
杨:我的同学有去IT企业的,如阿里、百度等,也有很多去了农行软开、建行软开、工行数据中心等。我觉得选择银行还是IT企业主要在于自己想做什么,如果自己比较想做技术,更倾向于忙碌一点的生活,想每天都能学到一点新东西,那么去IT公司可能更适合,因为这个方向在以后还是很有潜力的,可以选择跳槽、做manager之类的发展。如果个人比较擅长与人打交道,那么可能选择国企更合适一点,而且在银行中对于技术的更新换代要求并没有那么高,所以压力也不会像在IT公司中那么大。
信:很多本科生可能都有一点迷茫,就是不太清楚自己未来是不是应该一直做编代码这种工作?
杨:其实我觉得无论对于什么事情,经验都是比较宝贵的。如果你比较了解一个系统的架构的话,那么你设计出来的肯定要比新手设计的更好一点。我知道很多国外的公司有很多人从年轻到老一直是做写代码的工作,其实这也挺好的。其实写代码也不能仅仅是机械性地写,也要同时进行思考,不然的话可能一直都只能在底层的阶段。
信:谈谈关于google面试的一些内容?
杨:因为去年我们实验室就有一个师姐去了google工作,于是她就把我们实验室的毕业生都推荐过去了。九月份的时候就有google的相关工作人员与我们联系,发了一些资料给我,也定了面试的时间。有时候可能会有电话面试,但我是直接到那边办公室里去面试的。但接到电话面试也没关系,基本上都是由在美国google工作的中国员工来进行面试,在沟通交流上不存在障碍,一般是在早上7、8点钟的时候会打电话过来。如果电话面试通过了的话,那么就可以去参加到他们办公室的面试了。一般来说都是4轮面试,但不一定都在一天进行。我当时是去了2次,一次面了2轮。面试基本上都是一些算法题,我面试的前3轮都是做题,写代码,第4轮会让做一道系统设计题,给一个需求,然后让我们说出这个系统底层要怎样存储,前端要怎样交互等内容。但一般毕业生并没有太多的开发经验,所以更主要的是探讨,这方面我当时也没有进行什么过多的复习。一轮面试大概持续45分钟,都是一对一的,全程会有人记录你的表现。题目可能是已经共享在电脑里面的,也可能是由面试官描述给你听,然后要求我们用纸直接手写代码的。代码都不长,都是几十行就能搞定的小代码,我当时遇到的题目大概就是字符串、二叉树这方面的问题,遇到最难的是一个叫做线段树的数据结构,这个是我之前没怎么遇到过的。
信:国内、国外在招人方面的不同?
杨:微软其实还是挺重视校招的,每年都会有两次他们总部那边有面试官飞过来中国进行面试。第一次在北京,第二次在深圳。面试的时候面试官会首先做一个自我介绍,你会发现他们最少的都也在微软工作过了十几年。微软是集中面试的,面试官从早上八点,到下午五六点,都在面试。微软的面试比较简洁,一开始就是做题,写代码,不会和你聊任何与面试无关的事情。而且微软的面试结果出的比较快,在结束后的二十、三十分钟内,你就可以知道你是否通过了。他们有点像流水线一样,每一轮的面试会换一个面试官,几轮下来后所有学生会被召集到一个会议室中等待,大概半个小时候会有HR过来,把大家一个一个的叫出去,单独告诉你面试的结果。而且不仅当场出结果,还会要求你当场告诉他你是否接受这个offer。不过微软如果申请国内的话就比较慢了,第一面和第二面中间往往会隔1、2个星期。
信:为什么没有选择搞研究的道路呢?
杨:我主要是觉得做研究没有什么成就感,在研究生期间我也跟着导师做了一些课题,我觉得像发论文这些只要是认认真真地做一年研究,能够发表出论文还是一件挺顺其自然的事情。而且做研究要能够比较敏锐地发现现在大家关注的热点是什么,要有很强的发现能力,从大家研究的很多方面中发现真正适合你自己去研究的那一方面,找准自己的方向。我觉得自己也并不是永远都不会再做科研,可能会在工作几年之后继续进修,读博士,这些都是有可能的。
信:今后的规划?
杨:其实也没有什么规划,现实做技术吧,做个三、五年。因为我觉得做技术比较好的方面就是哪里都可以去,可以回国内,也可以到其他的地方继续发展,因为是自己本身有技术,所以不会怕。我觉得可能现在美国待几年,然后再回来。
记者手记:
杨涛是信息学院三年级的研究生,也是杜小勇老师的智能信息检索实验室的一员。我们认识杨涛,是因为她拿到了一份很多人都向往的offer——Google美国总部。可能在大部分人印象中,能去Google从事技术开发工作的应该是编程功底深厚的某某师兄,这次出乎意料的采访一位资深程序师姐,我才意识到,原来编程这个行当也是巾帼不让须眉。
程序员并不与呆板挂钩,初见杨涛最能印证这一点,要是不细问,绝对看不出来她是程序出身。谈到做技术,她提到很多同学可能有误解,认为做程序员是“青春饭”,甚至是低级劳动,其实“无论对于什么事情,经验都是比较宝贵的。写代码也不能仅仅是机械性地写,也要同时进行思考”,她这样提到。她的经历也很自然而然,做好该做的,车到山前必有路。凡事,做,与做好,是完全不同的两个阶段;同样写代码,和写出优美、易读的代码也是完全不同的两个境界。从杨涛的身上我们看到了踏实、认真,精益求精与不断思考,也许,这才是技术人员的对等描述。