原谷歌软件工程师,《程序员面试金典》(Cracking the Coding Interview: 150 Programming Questions and Solutions)作者盖儿•拉克曼•麦道威尔的回答。
这个问题的答案应该分成三个部分:积累合适的经验,编写一份出色的简历,通过适当的方式提交简历。
积累合适的经验
如果你毕业于一所好学校,或者在一家备受尊敬的公司工作,这将给你带来极大帮助。不过,求职者可以通过一些项目为简历增添色彩。
开发iPhone应用、网页应用,无论什么都可以!实话实说,你在开发什么不重要,重要的是你正在做这样的项目。有效的编程语言包括Java、Python、Ruby on Rails、C++等。不过我建议你避免使用.NET,并非因为它不是一款完美的工具,而是因为这种语言存在被人诟病的地方。
例如,如果你是一名花旗银行(CitiBank)的程序员,参与这些项目尤其重要。虽然你没有纯正的“血统”。但这些项目能够给你加分。
1. 你可以在一个周末构建一个内容丰富的项目。这意味着如果有3至4个周末的工作,你可以让自己的简历从平庸变成出色。这绝非虚言——我见过许多人这么做。
2. 参与编程马拉松。
3. 创建一个网站或个人作品集。展示你的经验。
编写一份出色的简历
只需要一页即可。如果你的简历达到两页,很显然,你只是在其中添加了一些无关紧要的内容。当面试官只花15秒浏览你的简历时,“总体内容”并不重要,重要的是平均内容。
• 使用正规的简历格式。不要自我创造——这会浪费空间,而且看起来非常草率。
• 列举你的项目、编程马拉松等。别担心有些内容是否“适合出现在简历上”。如果这样的内容能给人留下更深刻的印象,那就写上吧。
• 尽量陈述项目的文字——每一项1至2行即可。3行或3行以上的文字陈述,看起来像段落,不会有人愿意读。
• 重点是成绩,而不是责任。每一项的第一行应该是一个词,例如建立、创建、执行、设计、构建、优化等。
• 量化你的成绩。你进行过某个项目的优化?好,那请告诉我你优化了多少。
• 不要总结。总结只能告诉我你想申请什么职位,但这一点我早已知晓,除此之外,它毫无用处。
提交你的简历
太多人只会使用一种途径。他们只申请一次,然后认为这就足够了。你应该尝试所有可以使用的途径。
• 如果你是代码托管网站Github或开发人员问答网站Stack Overflow的活跃用户,招聘人员很有可能会主动找到你。但求职者没有理由等着雇主找上门。
• 在线申请。虽然不容易,但确实有人通过在线申请被雇主选中。
• 询问你的朋友。有人在谷歌(Google)工作吗?或者认识某位在谷歌工作的朋友吗?如果有人推荐,对你的求职会有很大帮助。
• 尝试在Twitter、Quora或其他社交媒体上联系谷歌的工程师。记住,与他们的第一次联系就是你的求职信。不要简单地说“你好,我对谷歌很感兴趣,能向公司推荐我吗?”联系他们,告诉他们你做过的事情,然后将简历的链接发送给他们。
再说一遍,这些建议适用于所用公司,其中大部分也适用于多个岗位。