一份优秀的前端开发工程师简历是怎么样的?

最好给一个实际例子啦。
关注者
7,059
被浏览
2,317,221

115 个回答

简历不仅仅是履历,它的重要作用是展示能力!!!

在阿里常年招聘,筛过各式各样的简历,每到招聘季,筛简历、面试过程非常耗精力,当然,原因之一是我想招非常优秀的人,宁可多花些时间,另一方面,除了那些不合格的简历之外,还有好多简历语焉不详,不得不在电面时反复确认,同时为了兼顾应聘者感受,又要装作很职业的样子跟他做一些互动,往往这部分有大量被筛掉的人,这侵占了我的大片时间。为了提高这部分人的简历通过(面试)的效率,列几点建议:

第一,自荐简历一定要署名

招聘季的招聘信息发出去后,邮箱会收到大量简历,邮件标题和附件基本上一大半都是不署名的。简历评估+电面之后,不会每个简历都会写完整评价录入系统,特别是一些拿不准的简历,想 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 产品基本形态成型的基础上,要做试错、创新、提效、求精、找方向,这种情况下,只具备(完成刚性需求的)技术能力已经远不够了,而更需要辩证的执行。

最后

当然,上面这些都是建议,不管你觉得有没有用,坚持一个原则,那就是“简历不仅仅是履历(你做过什么),它的重要作用是展示能力(你能做好什么)!!!”

以上~

作为阿里巴巴淘系的面试官,我觉得自己有资格回答这个问题。

而要回答这个问题,首先需要清楚地认识到「一份优秀的技术人简历是怎么样的」,而优秀的前端开发工程师的简历则无非是在前者的基础上增加与技术领域相关的细节。因此,我打算分两个部分来回答这个问题:

  1. 一份优秀的技术人员的简历是怎么样的?
  2. 一份优秀的「前端开发工程师」简历是怎么样的?(以阿里淘系前端 P6 ~ P7 级别的岗位为例)


1. 一份优秀的技术人员的简历是怎么样的?


总的来说,一份优秀的技术人员的简历应该满足以下三个因素:

  1. 技术能力的描述真实清晰,切中招聘方需求
  2. 项目经历的描述完整,具体,价值点突出
  3. 简历整体留给面试官很好的印象


下面让我们依次看看要达成以上三点,需要满足哪些要素。

1. 技术能力

通常,「技术能力」这个部分将紧接着你的个人简介之后,放在简历的核心版面。这样设计是有道理的,因为它能够帮助雇主更快的判断你的技能是否与需求相吻合。

因此在制作这一部分内容时,应该考虑以下两点:

(1)写什么?

应聘者在技术能力的描述上通常会犯两个错误:要么无用的东西写的太多,要么有用的东西写的太少。这里的多和少是相对于「雇主的招聘需求」而言的。

我建议每个应聘者在撰写简历的这部分时,都能够精心设计所需展示的技能,将自己熟练掌握的技能中与雇主需求重合的部分放在醒目的位置

但无论如何,不宜展示以下内容:

1. 自己对该技能只是了解而雇主又不需要的技能
2. 一些没有复杂度的,常识性的技能,例如面试高级开发职位时,表明自己掌握 Git 的使用方式或某些具体业务库的使用;

(2)怎么写?

当我们知道该写什么技能之后,我们还需要知道如何恰当的描述这些技能,通常我们会以:「了解,熟悉,熟练掌握,精通」这几个形容词来描述技能的熟练程度,让我从面试官的角度来分享一下我认为这几个词背后的含义:

1. 了解:表示你听说过这个概念,甚至了解与此概念有关的基本原理;
2. 熟悉:表示你通过 Demo 的形式实践过某个技术,或做过一两个与该技术有关的项目,但缺乏沉淀;
3. 熟练掌握:表示你在工业级环境下,通过数个项目的实践已经掌握了某种技术的核心原理,并能够灵活地应用在开发中;
4. 精通:表示你通过很多次的项目实践和潜心研究,已经对某种技术的原理和应用掌握到近乎尽善尽美的程度;

你应该尽力客观,诚实地描述自己的技术水平,既不要蓄意地夸大,也不应该妄自菲薄。在撰写该部分内容时,我建议你按照技能的熟练程度自高向低的排列,同时对于雇主明确表示需要的技能给予更高的优先级。

2. 项目经历

讲完了技术能力,接下来将分享简历中最重要的部分 -- 「项目经历」。如果一份简历满分是 100 分,项目经历所占的分数应该是 50 分以上。所以务必请你格外留意。

(1)使用 STAR 原则描述项目经历

不知道你是否听说过撰写项目经历的「STAR」原则?之所以这么问,是因为近年来我时常在各大论坛看到有关这一原则的普及文章,可奇怪的是,我很少见到有人在简历中将其付诸行动,考虑到实行这一原则的投入产出比,这实在令人感到奇怪。

事实是这样的,如果你坚持不使用 STAR 原则描述你的项目经历,我十有八九无法在你的简历中获得任何值得推敲的信息。

让我描述一下我经常看到的一类描述:

我在该项目中完成了 XXX,YYY 需求,运用了 a,b,c 技术。

这种描述方式的弊病在于,它除了告诉我求职者确实有在工作之外,再没有其他有用的信息。

让我们看看遵从 STAR 法则的项目经历描述中透露了哪些信息:(顺便一提,STAR 法则是指在描述中依次出现:Situation(情景),Task(任务),Action(行动)和 Result(结果)信息的描述一件事的原则

XXX 项目出现 XXX 问题,我作为 XXX,负责其中的 XXX 部分,我通过 XXX 方式(或技术方案)成功解决了该问题,使 XXX 提高了 XXX,XXX 增长了 XXX。

当然,这个充满了 XXX 的范例只是抛砖引玉,目的只是为了向你展示遵从 STAR 法则,如何充分地向雇主展现你在项目开发中的产出的价值,取得的成就。并通过你的解决方案了解到你多方面的能力。


(2)项目重质不重量

除了使用 STAR 法则描述项目经历,还需注意的一点是:千万不要堆叠你的项目经历!

好的简历应该是短小精悍的,正如同没人感兴趣你在小学时期是否是三好学生一样,雇主通常也并不感兴趣你五年前做过哪些项目(除非它真的很优秀!)。

理想情况下,简历最好不要超过 1 页,至多不超过 2 页是一个很好的尺度。鉴于这个篇幅,你的项目经历最好也只需要包含你近 1 年做过的,你觉得有代表性的项目即可。

3. 简历印象

说完了技能和项目经历,最后让我们谈谈撰写简历时需要遵守的一些原则。当一份简历投递雇主手中时,雇主通常会大概看一下这个简历,凭经验直觉来判断是否继续阅读这份简历,而接下来我想与你分享的,便是我认为一份好简历应该具备的「好味道」。

(1)撰写简历三大原则:清晰,简短,必要;

正如标题所呈现的,一份好简历应该满足以下三个特征:

1. 清晰:这表明简历的内容应该是没有歧义,易于理解的,同时简历整体还要富有逻辑;
2. 简短:无论是生活还是工作中,我们都需要拥有一种「抓住重点」的能力,因此优秀的求职者应该尽可能在简历中就展现这一点,而展现的方式就是,尽量写出不超过一页的简历,同时让它充满诱惑
3. 必要:招聘本身是一个相互匹配的过程,彼此展示必要的信息,能够帮助彼此最大化的节约时间,提升效率。确保简历中出现的内容都是雇主期望了解的很容易就能博得雇主的好感。

相信遵从以上三个部分的建议,你将有能力写出一份优秀的技术人员简历。

而对于前端工程师而言,则需要在此基础上添加一些技术领域内「特性」的内容,让我们进入下一个主题。


2. 一份优秀的「前端开发工程师」简历是怎么样的?


1. 技术能力

技术能力达到什么水平才称得上是一名「优秀的」前端开发工程师呢?这里我们以「阿里巴巴淘系前端团队」的对 P6 ~ P7 级别的岗位要求做一个事例(查看职位详情):

  1. 扎实的前端基础,了解业界先进的技术概念和开发方式,有实践经验;
  2. 具备跨终端的前端开发能力,在Web(PC + Mobile)/ Node.js / Hybrid App / Native App 三个方向上至少精通一个方向,具备多个的更佳;
  3. 至少能够熟练应用一款前端框架 ( Vue.js / React / Angular / WEEX) ,熟悉源码和框架原理的优先;
  4. 至少熟悉一门非前端的语言(Java / PHP / C / C++ / Python / Ruby),并有实践经验;
  5. 具备良好的团队协作精神,能利用自身技术能力提升团队整体研发效率,提高团队影响力;
  6. 对前端技术有持续的热情,个性乐观开朗,逻辑性强,善于和各种背景的人合作。
  7. 具有 AB 实验的理论知识和实践经验的优先。


1~4 条描述了阿里巴巴对前端技术能力的要求,如果你经常浏览各大厂的招聘信息就不难发现,除了第 2 条希望应聘者具备跨端开发的能力之外,其余 3 条都频繁出现在各大厂的能力要求中,参照我们之前提到的技术能力的评价标准翻译过来,则是要求您在以下三个方面的技术能力能够达标:

  1. 至少熟练掌握 HTML,CSS 和 JavaScript;
  2. 至少熟练掌握一门前端框架;
  3. 至少熟悉一门非前端编程语言;


以我的经验来看,如果你的 1,2 条就已经符合标准,第 3 条的要求就不会非常严苛。因此如果你能够再添加上你在工作中掌握的其他熟练掌握以上级别的技术能力,就可以在这个版块做到十分抢眼了。


2. 项目经历

还记得我们之前讲过描述项目经历的最佳实践吗?

  1. 运用 STAR 法则;
  2. 精简;


除此之外,还有非常重要的一点需要注意,即「针对招聘需求选取合适的项目侧重点进行描述」。我们还拿刚才的招聘需求举例,在此招聘需求中的岗位描述里,提到了以下几项:

  1. 根据产品需求开发 / 维护高质量的跨终端(PC + Mobile / Node.js / Hybrid App )项目;
  2. 结合当下开发场景,建立或优化提升工作效率的工具;
  3. 在理解产品业务的基础上,提升产品的用户体验,能够通过技术驱动业务的发展;
  4. 关注前端前沿技术研究,通过新技术服务团队和业务。


通过这份岗位描述,我们可以大致看出这份岗位的工作内容包含以下几个方面:

  1. 跨终端项目开发
  2. 内部提效工具开发
  3. 产品体验优化
  4. 技术创新与赋能


因此,如果你过往有类似的项目经历,并取得了一定的成就,那么在撰写项目经历这个版块时,就完全没有理由不在这里着重体现出来。

你的项目经历应该尽可能包含招聘方所需求的技术,并通过描述类似的工作经历展示出你对于未来的工作内容早已有相关的经验和准备,你越是表现出你能越快上手这份工作,你的简历竞争力就越强。



3. 简历印象

对于前端开发工程师,需要额外注意的是,你最好尽可能凸显出你的沟通表达能力团队协作能力自我学习能力。我认为这三大能力对于一名优秀的前端工程师而言,是非常重要的。

前端开发这个岗位站在设计与技术的十字路口,自然要和感性与理性两方面的人打交道,在工作中的很多时候,实际上充当着团队润滑剂的作用。因此你越是展现出这方面的特点,就越能博得雇主的好感。

在整个简历中,你有 2 次展现出你以上特点的机会,请你务必珍惜:

  1. 在项目经历描述中,通过交代清楚你在团队中的位置,以及大略描述你在团队中起到的作用;
  2. 在简历的「自我评价」中,写明你的软实力,并用三两句话举出一个事例来证明你所言非虚;


事实上,很多应聘者在简历中会忽视「自我评价」这个版块的设计和撰写,这是很令人遗憾的,我认为这个版块恰恰是简历中可以非常有亮点的一部分。因为它彰显了应聘者的个性与与众不同。

虽说如此,在此处仅仅是写「沟通表达能力强」是不够的——

沟通表达能力强:曾多次担任团队内技术分享主讲人」这样的「特点 + 事实证明」的描述显然是一种更好的表达方式。

3. 结尾

至此,文章终于到了尾声。总结一下,我们谈论了简历制作过程中需要注意的以下三个部分,并分别给出了一些建议:

1. 技术能力:先写岗位所需能力,再写加分能力,不要写无关能力
2. 项目经历:只写明星项目,描述遵循 STAR 法则
3. 简历印象:简历遵循三大原则:清晰,简短,必要

而对于前端工程师而言,我们也结合阿里巴巴淘系前端团队的一个真实的 JD,在以上的三个方面,给出了如下的建议:

  1. 技术能力:
  • 至少熟练掌握 HTML,CSS 和 JavaScript;
  • 至少熟练掌握一门前端框架;
  • 项目经历:根据 JD 岗位职责,调整项目经历描述的侧重点;
  • 简历印象:在项目经历与自我评价中凸显三大素质:沟通表达团队合作自我学习


希望我所分享的经验能对你有所帮助,也希望你始终抱着诚实,用心的心态撰写你的简历,我的以上建议既可以作为你简历制作时的自查手册,也可以作为你未来发展的一项重要参考,真心希望你能认可,喜欢。

最后,祝你终能如愿进入心仪的企业工作。

4. 文末福利

阿里巴巴淘系前端技术部正在火热招聘中,招聘需求正是之前给出的范例(查看职位详情),如果你有意加入我们团队,一起做大事。请投递简历至该邮箱 yuanquan.wxr@alibaba-inc.com,期待你的联系。

(关注我们这个知乎账号,每周至少分享6+篇阿里工程师技术干货&学习方法。)

————————————————————————————————————————————

以上答案来自阿里巴巴淘系技术前端团队。

我们是阿里巴巴淘系技术,淘系技术部隶属于阿里巴巴新零售技术事业群,旗下包含淘宝技术、天猫技术、农村淘宝技术、闲鱼、躺平等团队和业务,是一支是具有商业和技术双重基因的螺旋体。

刚刚入驻知乎,将会给大家带来超多干货分享,立体化输出我们对于技术和商业的思考与见解。

详情介绍可以看这里 阿里巴巴淘系技术介绍

欢迎收藏点赞关注我们!未来会很精彩!:)