一份优秀的前端开发工程师简历是怎样的?
在阿里常年招聘,筛过各式各样的简历,每到招聘季,筛简历、面试过程非常耗精力,当然,原因之一是我想招非常优秀的人,宁可多花些时间,另一方面,除了那些不合格的简历之外,还有好多简历语焉不详,不得不在电面时反复确认,同时为了兼顾应聘者感受,又要装作很职业的样子跟他做一些互动,往往这部分有大量被筛掉的人,这侵占了我的大片时间。为了提高这部分人的简历通过(面试)的效率,列几点建议:
第一,自荐简历一定要署名
招聘季的招聘信息发出去后,邮箱会收到大量简历,邮件标题和附件基本上一大半都是不署名的。简历评估+电面之后,不会每个简历都会写完整评价录入系统,特别是一些拿不准的简历,想 Hold 一下,等处理完全部之后再翻出来看看,但当 review 这些简历时,从邮件列表中看到的往往是这样的:
早就不记得哪个邮件放的是谁的简历,再挨个去翻附件(有的是PDF,有的是Word,有的是 HTML,有的干脆是一个 zip,有的是一个网址,有的干脆把简历粘贴在邮件正文。。。)去对当初写的评价,很耗时,效率奇低。即使最后翻到要找的简历,也已经大大减分了。所以,如果自荐简历的话,一定要在邮件标题、简历附件文件名上写清楚,谁、应聘什么岗位、建议层级(初级、资深、专家),好歹我下载完附件之后不用再重命名了。
第二,务必要有 word 或 pdf 文件的简历
现在好多人简历直接挂网上,或者是 HTML 的,这种简历我处理起来很费劲。阿里内部的招聘系统支持 word 和 pdf 格式支持的最好,我在录入系统时,上传完附件后好多字段直接就被系统读出来了,HTML 的简历支持的最差,传完附件我还要一个个手工去填,花精力在这上面是完全没意义的,而且从我的经验来看,一页 HTML 简历源码能表现的东西实在有限,毕竟我们现在不招初级(P5及以下)前端了,所以 word 和 pdf 格式的载体足够了,多花精力放在简历内容上。
第三,简历要表现出亮点,最好有作品
前端技术现在也分化的厉害,不严格划分的话,有 NodeJS、H5、Hybrid、架构和业务研发等方向,现在库和规范很多,但每个分支的难度、技术基线都类似(比如达到资深所消耗的时间都差不多),所以全栈通才固然好,每个方向都深入有点太难为人,但至少某一个方向要非常精钻非常深入。所以简历里要重点标出这个长处。实际上九成的简历里的“技能”部分几乎都是一样的,都差不多把前端用到的技术罗列一遍,毫无意义的占据简历中的黄金地段。
所以,既然全栈不易,不如把自己最擅长的那个语言或技术高亮加粗出来,面试的时候我就直接绕过其他,专从这个“高亮加粗”部分来做一些技术探底了,以此来引导面试官来问你擅长的部分,更有利于你扬长避短。
技术探底一般怎么做?看作品!如果擅长 Node,就看看 NPM 上提交的模块,install 下来演示下,讲讲核心代码。如果是一个组件,就直接看 Demo,讲设计封装思路。如果是一套脚手架工具,直接画架构图,讲原理和适用场景。如果是项目,那就 show 下你作为 PM 发的 Release 邮件!作品不仅仅是这些,也可以是技术专利、设计方案、成功的带人案例、成功的团建案例等,只要内容充实接地气,脉略(可以是代码、也可以是一件事)清晰,show 的过程中两眼放光唾沫星子乱飞,有这个感觉就对了。所以,简历里要适当带有这些储备好的作品,备着面试时狂秀一下。
第四,突出重点,展示能力
现在招一个能干活的人不难,难的是招一个能解决问题的。特别是像阿里这种业务性的研发,既要从业务方那领需求,又要警惕需求陷阱,准确识别出刚性需求,出方案,推执行,Release 结果。所以,应对这每个环节所需的技能,最好在简历里有所表现。具体说就是描述每个项目时,不仅要有背景、过程,还要有你为这个项目带来的结果。比如这样描述项目:
我做了 XX 项目重构,用了 XX 技术方案,克服了 XX 的困难,最终让 XX 这类需求变更可以短平快的被消化,极速研发、快速上线、且数据采集也做到了标准化,研发成本大大降低,数据积累增长迅速,比如 XX ,最后在 XX 产品线中开始推广。
在面试时,这种描述很容易引出有针对性的话题来聊,也正因为简历里有这些铺垫,可以节省大量的面聊时间,更快做出判断。
相比之下,这种描述就不好:
XX 项目前端研发,用了 AngluarJS,整个项目独立完成,包括整个 Boss 系统的受理收费、商品零售、小灵通短信群发、有线电视代收费、营业员/营业点结账等模块。
这段描述只传达出一个信息,就是你用过 AngularJS。至于当初面临多少种技术选型,如何做取舍选择了 AngluarJS,这些系统模块之间如何基于 AngularJS 进行耦合,有没有涉及前端架构,AngularJS 用的有多深,项目成员分工怎样,如何并行研发?遇到过哪些你认为有价值的问题,并针对此提出应对方案,是代码解决还是组织解决?这个过程要靠面试的时候问答大半天才能搞清楚,问不出来的,基本也就跳过了。要是简历里表达出来,脑子里很嘹喨,面聊也不会很拖沓,能力评价自然会很高。
再补充一个,有好多人有写博客写总结的习惯,这个习惯非常好,如果某个总结能和简历里做的项目结合起来,就更好了。
第五,全绿的 Github 提交记录
简历里附上 Github,最好提交记录那里泛绿的厉害,如果进到 Github 首页就想点开项目列表,找项目去读,如果看到有那种长时间维护的、Readme 写的清楚的、一本正经的写上“转载注明出处的”,基本上抓起电话就开聊了,结果基本上不会差。
第六,其他关注和不关注
关注:每次换工作的离职原因,可量化的工作成果,能代表你最高水平的项目要写详细,标红加粗下划线,在简历中强调出来。
不关注:证书、四六级、了解的编程语言(如果不精通就不要写)、你不擅长什么、个人简介。
第七,典型问题
技术探底的问题肯定会问一些,此外面试每个人多会问:
1. 哪个项目让你最满意、代表你的最高水平?如何做的?
2. 让你印象最深刻的一个(技术)难点,害的你搞了很久,最后怎么解的,有什么心得?
3. 你做的时间最久的一个项目(或产品),你看到这个项目有哪些问题,你能做什么?
4. 你能给我们团队或者产品带来什么?
这些问题不是硬性的,主要看平时是不是除了技术还琢磨点别的,特别是在阿里好多 BU 产品基本形态成型的基础上,要做试错、创新、提效、求精、找方向,这种情况下,只具备(完成刚性需求的)技术能力已经远不够了,而更需要辩证的执行。
最后
当然,上面这些都是建议,不管你觉得有没有用,坚持一个原则,那就是“简历不仅仅是履历(你做过什么),它的重要作用是展示能力(你能做好什么)!!!”
这里推荐一下我的前端学习交流群:784783012,里面都是学习前端的,如果你想制作酷炫的网页,想学习编程。自己整理了一份2018最全面前端学习资料,从最基础的HTML+CSS+JS【炫酷特效,游戏,插件封装,设计模式】到移动端HTML5的项目实战的学习资料都有整理,送给每一位前端小伙伴,有想学习web前端的,或是转行,或是大学生,还有工作中想提升自己能力的,正在学习的小伙伴欢迎加入学习。