Technical · Interview · Career
Vincent:来Offer项目实战班主讲,Senior Fullstack Engineer,在FLAG一线大公司拥有多年的面试经验,帮助上千名同学修改简历、辅导面试。
我与许多应届生、求职者交流过,发现他们中的很多人对于简历的认识,仍停留在比较初期的阶段。而从他们对简历的认识误区中,则能看到许多人关于CS求职较为“想当然”的理解。因此,我想说一下如何打造简历,一个面试官到底希望看到什么样的简历,希望招到什么样的人才。
我主要想讲这三大部分:修改简历的重要性、怎么写好项目/工作经历、简历一无可写怎么办。
先举一个简历实例,一个物理PhD和一个Top30名校毕业的Computer Engineer的学生同时针对一个SDE的职位投出简历,你认为谁的胜算会大一些?下面就是这两个同学的简历,大家可以自行比较一下。
最终,是物理PhD拿到了Offer。这说明,这个求职市场并不是100%地“看出身”,更多时候,还是要看简历上的干货,而这些干货还要与职位要求相符。
根据2016年的数据统计,只有不到7%的人撑到了谷歌的onsite面试,而每年被直接筛掉的简历,则在百万份左右。所以对于简历,如果你的认识还停留在名校和专业的层面上,很有可能,你就是那被筛掉的93%。
一、为什么简历这么重要
很多北美CS求职者可能想不到现在竞争是有多么激烈。一个职位往往有几十个甚至上百个candidate来竞争。那些提供H1B签证,将来会sponsor绿卡的岗位就更是炙手可热了。想在这样的激烈竞争下,拿到Offer,你的简历必须要能经得起多方面的检验。
HR:不管什么职位,面试的第一步就是HR筛选简历,而你的简历只有10秒钟的机会,然后HR就会决定你这一关是Fail还是Pass。
内推:有些求职者会觉得,我有内推,简历差一点不怕。这是错误的。即使你的推荐人愿意给你倾尽全力内推,他也需要根据你的简历论证你有哪些优点。如果你的简历写得空洞无物,再有心的推荐人也无能为力。这也是很多同学即使找了内推,依旧没有拿到面试的原因。
面试:到了面试这关,简历仍然很重要。面试官会根据简历来快速判断你是否值得他仔细面试。如果你的简历没有引起他的感兴趣,那在他心中可能已经给你判了死刑了,等下出个LC Hard的问题刁难你,你的feedback自然不会好,最后的结果就是呵呵一笑:Thank you for your interest。
当然,也不能为了充实简历就走向另一个极端:为了拿到面试,把简历写得极尽fancy。这样倒是让HR和面试官眼前一亮,但是针对你的简历来提问,你却答不上来,照样会挂掉。
二、如何写好你的项目和工作经历
既不能空洞无物,也不能过分夸张,那么在10秒钟之内,面试官到底想看到什么呢?
关键词
10s内能够让面试官看上的简历,肯定要有热门的技术词汇,最好还是和面试官(他们也是工程师)息息相关的技术。
这一点大家经常有个误区,觉得我一定要高大上,简历上的技术越新越好。但是,这些技术往往还没来得及大规模推广,甚至面试官都不知道,很可能写上去是没有用的。反之有些技术,比如Test、Log、Git这些,看上去并不fancy,但是这是每一个工程师天天要做的工作,反而能把你和其他new grad区分开来。不要小瞧这一点,包括一些CS的master很多都不会Test、不会分析Log、不会Git。
你的简历如果既有一些较新的技术(一般出来一两年左右的,类似Go、React),又有经典的必备的技能,那么就一定能够吸引他的眼球。
真实性
既然技术词汇这么重要,那我就把经典的、热门的技术全部写在简历上,堆成一个项目好不好?面试官不是傻瓜,他对简历的敏感度非常高,能够一眼看得出来哪些就是为了堆上某个技术而砌出来的项目。
举个简单的例子来说,有同学在简历里边写了一行:Designed and developed a web applicaiton with Java, Eclipse, Hadoop, AWS EC2, REST API。技术本身都是极好的技术,但是这样写是非常错误的。
首先,这个描述极其缺少context,面试官无从判断这个项目的价值。你的web application,是一个简单的一页的个人主页呢?还是一个有多个page的推荐系统呢?没有这个context,面试官无从了解你的这个项目的完成时间和完成深度。所以这个真实的context必须得有。有些同学可能上过一些求职课,知道应该用数字证明成果,这个其实也是context的一种。
另外,单纯的技术堆砌往往缺乏联系和逻辑,无法说服面试官。比如说,Deployed the system on AWS,这个AWS本身没有错,但是你的这个项目为什么要部署到云上面去呢?之前遇到什么问题?你是带着目的性去部署这个系统,还是说仅仅为了学习AWS而去做的呢?如果是我来写,我最起码会写上Deployed the system on AWS to improve scaling。这样才能证明我是明白AWS的用途的,而不是为了堆砌。
深度
还有一些同学,尤其是CS Master和转专业的同学,有这样的疑问,如何让我的简历显得更有深度?我认为你的简历需要体现设计和实现上的复杂性。我总结了一个描述的技巧:起承转合。
第一行,起。写清楚项目的背景。写一下研究过什么同类的产品,我的产品的优势是什么。这能告诉面试官我不是随意设计一个项目的,是有目的、有规划的。
第二行,承。一般我会写基本的实现。用了什么框架、什么技术。记得要把context交代清楚。
第三行,转。描述遇到的挑战,是如何解决的。通过这条,说明我这个项目不是应付交差,而是做了一段时间,遇到了问题,并且解决了问题。
第四行,合。描述最终的结果。我是如何delivere、present、test这个项目的。告诉面试官我有ownership,能保证产品的最终完成。最好可以用一些数字来体现结果,而不是空洞的描述。
用这样一个四段论,比全部都在说做了A功能、B功能、C功能,在深度上好太多。
三、简历一无可写怎么办?
对于零基础、转专业的同学,简历上没什么可写的是个普遍问题。要解决这个问题,就需要发掘自己的优势。
很多时候大家觉得自己无从下笔有几方面的原因。第一,做的项目和想投的工作不吻合,比如想投CS专业,手中却只有EE相关的技术经验,或者想投工业界的职位,却只有Research方面的经验;第二,做的项目觉得不够重要,比如就是修修bug,改改button之类的简单任务;第三,确实是什么经历都没有。
针对第一类问题,可以想办法和目标职位靠拢。比如说CS和EE有很多通用的经验和技术,诸如前期查资料research、分析数据和debugging的能力,这些都是可以写到简历里边。另外有一些通用的soft skills,比如communication的能力、oral presentation的能力。尤其是一些PhD的同学,经常写paper和做presentation,都可以为简历增色。
针对第二类问题,就需要自己去深入思考自己项目的重要性。很多时候大家觉得我可能就是某个公司的某个小组做一些边角的事情,但是大家要想,为什么这么大的公司不找别人去做这个工作而找你?说明还是有你的价值在其中的。对于这样的项目,一般我会先介绍这个公司的价值,然后是我们组对于公司的贡献,最后就是我做的工作的重要性。层层递进,自然写出了你的价值。
至于第三类问题,就需要大家去发挥积极性,多参与一些技术开发活动了。现在开源社区非常活跃,你完全可以参与其中。一开始哪怕就是修改标点符号也好,然后不断的升级积攒更多的经验。如果直接参加开源社区对你的技术要求太高,也可以去参加线上培训的项目,一般这些项目会有老师来亲自带着做项目,会更有指导性。
以上我简单探讨了三个让简历脱颖的关键点,以及如何挖掘自己的工作、充实简历。当然小窍门还有很多,就不一一赘述了。最关键是要明白,认真修改简历和良好的项目选择,对你拿到Offer至关重要。
更多求职干货请关注来Offer微信公众号查看