第4章 面试
硅谷公司的程序员面试,也并非高不可攀,绝大部分还是考那些基本功,比如数据结构和算法、对面向对象编程的理解、语言的特性、领域内的专业知识等,跟国内的面试差不太多,甚至有的比国内公司还简单。笔者的一位朋友拿到谷歌总部的程序员offer之后,他想转到国内的谷歌,被要求加一轮谷歌中国的面试。很不幸的是额外一轮的面试失败了,他只能留在谷歌总部工作。
针对你的目标公司清单,从多方渠道获取每家公司的公司文化、面试流程、招聘渠道、面试方式、题目范围等方面的信息。不管面试有多难,其实都是可以准备的,就看你功夫下够了没有,成功的窍门就是勤于练习。要在美国工作,当然英语听、说、读、写也要足够顺畅流利,但并非要很好才行。一般对于技术人员的语言要求不算太高,但如果你的英语还有障碍,那还是要努力提高,否则你的职业发展会出现瓶颈,因为没人愿意跟交流困难的人共事。仅仅是口语,是可以在短时间内提升的,比如盲听网络视频、复述名人演讲、模仿美剧中的语音语调、参加口语培训班等。
时下IT求职市场火爆,竞争相当激烈,对软件工程师的要求高于以往。如果你是应届生,正在寻找第一份工作,你会感到十分紧张,压力很大。尤其是你还打算出国工作,去一个陌生的国家重新开始。企业和人一样都有鲜明的个性,如果不能与遇到的人相处好,那么你也不会和为你提供工作的企业相处好,反之亦然。为了确保自己完全适合一家公司,你需要提一些有意义的问题,寻找在薪酬以外的其他价值。比如,工作节奏快不快?领导如何?从现在开始它会不会在一年内成为一家快速成长的创业公司?大型知名公司的工作是否乏味?换句话说,公司在面试你的同时,你也要面试公司。
面试还有运气成分,这导致再充分的准备也无法确保你能获得梦寐以求的工作。笔者的建议是把你想要获得的工作按优先级进行排序,当你进行最后一次面试时,结局将如你所愿,因为面试是个积累经验的过程,通常面了几次后表现会更加成熟。换句话说,把你不太想去的公司的面试放在前面作为练习,积累经验后再开始面试你想去的公司。