程序员面试白皮书
上QQ阅读APP看书,第一时间看更新

1.1 简历

简历是求职的第一关,尽管简历不能决定最后的录取结果,但是一份结构清晰、内容充实且具有针对性的简历,可以给你带来宝贵的面试机会。本节将从格式、内容安排和描述技巧等方面介绍如何生成一份对HR有吸引力的简历。可以根据不同的职位描述适当更改简历的某些内容,但不建议准备太多份区别过大的简历,以免自己投递的时候产生错误。如果你真的需要这么多简历以应对不同职位,则应当考虑下自己的优势在哪些方面,适当减少求职目标。注意,下文的描述注重在北美求职的简历结构,其中大部分要点具有普适性,但是如果在国内求职,有些地方可能需要根据实际要求进行更改。

1.1.1 格式

除非你想面试用户体验或者设计相关的职位,否则简历的格式尽量以简介清晰为主。标题及名字等重要信息可以适当加粗或者增大字体,其他文字描述尽量统一字号。字体选定一种即可,不建议用不同的字体去突出不同的内容:不同的字体会显得版面杂乱,并且对排版造成困难。英文简历Calibri是比较适宜的字体,中文可以用宋体。简历可以用Word、Latex、Pages或者InDesign制作,但是最后务必导出成PDF,确保在不同的平台上,对方看到的格式一致。

1.1.2 内容安排

简历是一个提供信息、展示自己的平台。对于刚毕业、没有什么工作经验的人来说,简历一般控制在一页为宜,如果是PhD,需要适当列举一些相关的文章发表信息,那么简历可以扩展至两页。这里就给一个示例,它在一页纸的长度中精炼地描述了求职者的教育背景、实习经历、技能和专业背景,如图1-1所示。

图1-1 一页纸的简历

简历的第一要务是让对方能够认识并联系上你,所以名字、邮件、电话、地址等基本信息缺一不可。特别的,对于在美国本地求职的人而言,邮编很重要,因为网上的申请系统往往会根据邮编将申请者按地域划分。对于很多公司而言,他们会优先考虑本地的申请者。所以当你申请的公司在当地有总部/分部时,务必写上本地的邮编。

这里有个小技巧,由于绝大部分科技公司都在加州,特别是北加州硅谷附近,所以如果有朋友在加州的话不妨写朋友的地址。这样做的确可以提高被选中面试的几率,甚至有些小公司可能会跳过一轮电话面试直接邀请你去公司面试。现在绝大部分面试过程都是通过电话或邮件确定,除了最后给你发Offer,招聘的中间部分都不会给你提供地址寄送任何文件。如果公司决定给你Offer,你也完全有机会和HR确认/更新你的实际地址。这样做的缺点是,可能去公司面试的时候你需要自己安排机票住宿,如果真到了这一步,权且就当花钱买个机会了。

基本信息之外,对于刚毕业的学生而言最重要的信息包括学校、专业和学位。学习成绩对于大部分公司而言只是加分项,如果GPA低于3.3,可以考虑不包括成绩。当然,如果GPA是你的亮点之一,那也完全可以包含此信息。在这方面,Oracle是出了名的名校控,如果你高GPA、名校出身,基本上半只脚已经踏入了Oracle。相对而言,其他公司并没有这样的要求。此外,对学生而言可以列举一些在校学过的相关课程。只需要列举课程名即可,内容数量以5项左右为宜,课程名尽量选择大家熟知的,比如算法、数据结构、操作系统等,如果是研究生课程,可以加上“高级(advanced)”关键字。

简历中另一个十分关键的内容是之前做过的项目描述,包括工作经历、实习经历或者课程项目经历,这些部分的目的在于展示你具有相关经验,具有较强的技术实力,能够加入团队一起完成一个复杂的项目。这里,我们主要介绍如何选择合适的项目,在描述技巧部分,会进一步介绍如何描述使得你的项目更有趣。就项目内容而言,你需要优先选择和职位描述相关的项目,相关性包括:需要相似的知识,需要使用相同的软件或开发环境,需要类似的编程语言或编程模式,需要实现类似的功能等等。这些项目最能体现你的价值,使得你从一堆申请者中脱颖而出。如果没有相似的经历,那么你可以列举一些比较复杂的项目,突出你的综合能力。这些可以包括:毕业设计、课程的学期作业、网上参与合作的开源项目等。列举的目的主要是突出你的技术水准优秀,具有与他人合作的能力。就项目种类而言,你需要优先选择业界的工作实习经历,只要它们和你所求职位的描述大体在同一个行业即可。毕竟,有实际的工作经验可以传达下列信息:你对业界有一定的了解,熟悉业界的开发模式和开发周期,能够适应公司的工作环境。

简历的最后部分可以用来列举你的技能,包括熟悉的编程语言、开发环境、技术强项等。这部分的目的在于让HR能够从简历库中匹配到你的信息。通常,每个职位都有一些技术要求,HR会通过查询关键字,从简历库中选择匹配程度高的简历。这部分可以大大增加简历被匹配上的可能性。列举的原则是,并不需要特别熟悉,只要实际用过就可以在此列举。注意,如果你有幸被安排了面试,一定要回到这个部分,确保你所列举的部分至少都能回答一些基本的问题,千万不要给人做假的感觉。往往,HR并不一定了解你项目部分的描述是否与职位要求一致,因此,你这部分所列举的技能需要尽量用业界标准的语言,列举名词即可。

1.1.3 描述技巧

描述的技巧主要体现在项目描述方面。项目描述主要突出你做了什么,实现了什么样的目的。项目名称一般需要让读者大致了解你做了什么,然后以如下模版,“通过……开发方式(或者技术),做了……,最终实现了……的结果”,描述项目的具体内容。就英文简历而言,一般以过去时为主,以动词开头,描述你做过了什么,实现了什么目的。举例如下:

Software Engineering Internship, XX Company,6/1/2014 – 9/1/2014

Interned with the server team.

Implemented a distributed access control algorithm in C++, which improved login time by around 50%.

英文简历常见的另一个问题是如何翻译专有名词,比如在国内大学获得的种种荣誉等。此时,一定要参考网络资料,确保读者的理解和你想要表达的意思一致。甚至可以用一句话简单描述这是怎样的荣誉,或者用百分比表示只有top的学生才能获得该项荣誉。举例如下:

Excellent Student Award(top 3%)

Granted to recognize overall outstanding performance.

另一个很好学习途径,就是去LinkedIn上看一些优秀人士的个人主页,特别是你想去的公司的工程师的背景。一般都会很清晰地构建他的目标和过去经历,不需要照搬内容,但可以给你启发,当你去投这些公司时,你就知道什么样的简历更容易被他们欣赏。