|
|
|
|
|
|
d********w 发帖数: 363 | 1 摘自: 我的新书:程序员面试白皮书(An Ultimate Guide to Coding Interviews)
之前在自己准备面试的时候整理过一些准备面试的方法。经过一段时间的工作,也有了
面试别人的经历,对公司需要怎么样的candidate有了更好的理解。总感觉这些零碎的
信息散落地放着有些浪费,一直想整理一下分享给大家,帮助更多的人。终于,在一帮
志同道合的小伙伴的帮助下,我们把大家各自的心得体会系统性地梳理成册,并在网络
平台发布了这本电子书(iPhone, iPad平台):程序员面试白皮书。https://itunes.
apple.com/us/book/cheng-xu-yuan-mian-shi-bai/id982417561?ls=1&mt=11,上架
Kindle:Amazon.com:Kindle Store, 如果链接无法打开,请到美版ibook(目前中国区
还没有ibook store)上去搜索“程序员面试白皮书”。如有任何建议意见,请不吝赐
教问题邮箱([email protected]
/* */)
###################
简历
简历是招工求职的第一关,尽管简历不能决定最后的录取结果,但是一份结构清晰,内
容充实且具有针对性的简历可以给你带来宝贵的面试机会。本节将从格式,内容安排和
描述技巧等方面介绍如何生成一份对HR有吸引力的简历。简历可以根据不同的职位描述
适当更改一些内容,但不建议准备太多份区别过大的简历,以免自己投递的时候产生错
误。如果你真的需要这么多简历以应对不同职位,则应当考虑下自己的优势在哪些方面
,适当减少求职目标。注意,下文的描述注重北美求职的简历构建,其中大部分要点具
有普适性,但是如果在国内求职,有些地方可能需要根据实际要求进行更改。
格式
除非你想面试体验或者设计相关的职位,否则简历的格式尽量以简介清晰为主。标题及
名字等重要信息可以适当加粗或者增大字体,其他文字描述尽量统一字号。字体选定一
种即可,不建议用不同的字体去突出不同的内容:不同的字体会显得版面杂乱,并且对
排版造成困难。英文简历Calibri是比较适宜的字体,中文可以用宋体。简历可以用
Word,Latex,Pages或者InDesign制作,但是最后务必导出成PDF,确保在不同的平台
上,对方看到的格式与你一致。
内容安排
简历是一个提供信息,展示自己的平台。对于刚毕业,没有什么工作经验的人来说,简
历一般控制在一页为宜,如果是PhD需要适当列举一些相关的文章发表信息,那么简历
可以扩展至两页。这里就给一个示例,他在一页纸的长度精炼的描述了他的教育背景,
实习经历,技能和专业背景:
简历的第一要务是需要对方能够认识并联系上你,所以名字,邮件,电话,地址基本缺
一不可。特别地,对于在美国本地求职的人而言, 邮编很重要,因为网上的申请系统
往往会根据邮编将申请者按地域划分。对于很多公司而言,他们会优先考虑本地的申请
者。所以当你申请的公司在当地有总部/分部时,务必写上本地的邮编。这里有个小技
巧,由于绝大部分科技公司都在加州,特别是北加州硅谷附近,所以如果有朋友在加州
的话不妨写朋友的地址。这样做的确可以提高被选中面试的几率,甚至有些小公司可能
会跳过一轮电话面试直接邀请你去公司面试。现在绝大部分面试过程都是通过电话或邮
件确定,除了最后给你发offer,招聘的中间部分都不会给你提供的地址寄送任何文件
。如果公司决定给你offer,你也完全有机会和HR确认/更新你的实际地址。这样做的
缺点是,可能去公司面试的时候你需要自己安排机票住宿,如果真到了这一步,权且就
当花钱买个机会了。
基本信息之外,对于刚毕业的学生而言最重要的信息包括学校,专业和学位。学习成绩
对于大部分公司而言只是加分项,如果GPA低于3.3,可以考虑不包括成绩。当然,如果
GPA是你的亮点之一,那也完全可以包含此信息。在这方面,Oracle是出了名的名校控
,如果你高GPA,名校出身,基本半只脚已经踏入了Oracle。相对而言,其他公司并没
有这样的要求。此外,对学生而言可以列举一些在校学过的相关课程。只需要列举课程
名即可,内容数量以5项左右为宜,课程名尽量选择大家熟知的,比如算法,数据结构
,操作系统等等,如果是研究生课程,可以加上“高级(advanced)”关键字。
简历中另一个十分关键的内容是之前做过的项目描述,包括工作经历,实习经历或者课
程项目经历,这些部分的目的在于展示你具有相关经验,具有较强的技术实力,能够加
入团队一起完成一个复杂的项目。这里,我们主要介绍如何选择合适的项目,在描述技
巧部分,会进一步介绍如何描述使得你的项目更有趣。就项目内容而言,你需要优先选
择和职位描述相关的项目,相关性包括:需要相似的知识,需要使用相同的软件或开发
环境,需要类似的编程语言或编程模式,需要实现类似的功能等等,这些项目最能体现
你的价值,使得你在一堆申请者中脱颖而出。如果没有相似的经历,那么你可以列举一
些比较复杂的项目,突出你的综合能力。这些可以包括:毕业设计,课程的学期作业,
网上参与合作的开源项目等等。列举的目的主要是突出你的技术水准优秀,具有与他人
合作的能力。就项目种类而言,你需要优先选择业界的工作实习经历,只要它们和你所
求职位的描述大体在同一个行业即可。毕竟,有实际的工作经验可以传达下列信息:你
对业界有一定的了解,熟悉业界的开发模式和开发周期,能够适应公司的工作环境。
简历的最后部分可以用来列举你的技能,包括熟悉的编程语言,开发环境,技术强点等
等。这部分的目的在于让HR能够从简历库中匹配到你的信息。通常,每个职位都有一些
技术要求,HR会通过查询关键字,从简历库中选择匹配程度高的简历。这部分可以大大
增加简历被匹配上的可能性。列举的原则是,并不需要特别熟悉,只要实际用过就可以
列举在此。注意,如果你有幸被安排了面试,一定要回到这个部分,确保你所列举的部
分你都至少能回答一些基本的问题,千万不要给人做假的感觉。往往,HR并不一定了解
你项目部分的描述是否与职位要求一致,因此,你这部分所列举的技能需要尽量用业界
标准的语言,列举名词即可。
描述技巧
描述的技巧主要体现在项目描述方面。项目描述主要突出你做了什么,实现了什么样的
目的。项目名称一般需要让读者大致了解你做了什么,然后以如下模版,“通过…开发
方式(或者技术),做了…,最终实现了…的结果”,描述项目的具体内容。就英文简
历而言,一般以过去时为主,以动词开头,描述你做过了什么,实现了什么目的。举例
如下:
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上看一些优秀人士的个人主页,特别是你想去的公司的
工程师的背景。一般都会很清晰的构建他的目标和过去经历,不需要照搬内容,但可以
给你启发,当你去投这些公司,你就知道什么样的简历更容易被他们欣赏。 |
|
|
|
|
|