前言

面试一直是程序员找工作时期非常热门的话题,虽然现在已经过了金三银四的旺季,下一轮需要到金九银十才会出现,但是当要找工作的时候你再看这篇文章可能已经晚了,过冬的粮食永远不是冬天准备的,而是秋收的时候。

小编在看一些同学的简历时,发现有一些同学的简历写得笔试很好看,但是,仔细聊了聊之后发现,这些同学其实技术是很厉害的,只是不知道该如何写在简历上,不知道如何“包装”自己。

简历的重要性、简历基本信息写小编就不多讲,写明白你是谁、你做了什么、你哪方面厉害这三点即可。着重讲下项目经历、专业技能、工作经历、面试准备,篇幅会比较长,收藏慢慢看。

项目经历


项目经历的编写很讲究,这是为后面面试部分铺路的绝佳机会,也是直接让你的简历扑街的重点沦陷区域。讲几个致命犯错的点。

「1切忌流水账写法」

项目经历流水账写法是绝大多数简历的通病,通篇下来就讲了一件事『我干了啥』。
大部分简历却是这样的:

用Vue、Vuex、Vue-router、axios等技术开发电商网站的前端部分,主要负责首页、店铺详情、商品详情、商品列表、订单详情、订单中心等相关页面的开发工作,与设计师与后端配合,可要高度还原设计稿。

这个描述有什么问题?
其实看似也没啥问题,但是这种流水账写法太多了,完全无法突出自己的优势展现自己的能力。
项目经历是考察重点,面试官想知道候选人在一次项目经历中扮演的角色、负责的模块、碰到的问题、解决的思路、达成的效果以及最后的总结与沉淀。
而上面的描述只显示了『我干了啥』,所以这种项目描述几乎是没意义的,因为对于面试官而言他看不到有效信息,没有有效信息的项目描述基本就没价值了,如果这个时候你还没有大厂经历或者名校背书,基本上也就凉了。

「切忌堆积项目」

堆积项目这种现象往往出现在没有什么优秀项目经历的简历身上,候选人企图以数量优势掩盖质量的劣势,其实往往适得其反,项目经历的一栏最好放2-3个项目,非常优秀的项目可能放一个就足够了,举个极端例子如果有一天尤雨溪写简历,其实只需要在项目经历那些一行『Vue.js作者』就行了,当然,他并不需要投简历。
有一些项目切忌放上去:

demo级项目: 很多简历居然还在放一些仿xx官网的demo,这是十足的减分项,有一些则是东拼西凑抄了一些框架的源码搞了个玩具项目,也没有任何价值。

烂大街的项目: 这种以vue技术栈的为最,由于视频网站的某门课程流行,导致大量的仿饿了么、仿qq音乐、仿美团、仿去哪儿,同样Java的同学也是仿电商网站、仿大众点评等等,十份简历5份一模一样的项目,你是面试官会怎么想。

低质量的开源项目: 一个大原则就是低star的尽量别放(除非是高质量代码的冷门项目),长期弃坑的也不要放,不要为了凑数量把低质量的项目暴露出来,好好藏着。

如果只放两个项目,最好的搭配是一个公司内部挑大梁的项目和一个社区内的开源项目, 后者之所以可以占据一席之地,是因为通过你的开源项目,面试官可以通过commit完整看到你的创造过程,比如工程化建设、commit规范、代码规范、协作方式、代码能力、沟通能力等等,这甚至比面试都有用,没有比开源项目更能展示你综合素质的东西了。

「切忌放虚假项目」
一个项目做没做过只要是有经验的面试官一问便知,如果你真的靠假项目忽悠过了面试,那这个公司八成也有问题,人才把关不过硬,你可以想象你的队友都是什么水平,在这种公司大成长价值也不大。
好,如果你说实在没项目可写了,我只能造假了,那么你应该想一下这多层追问。
比如你说你优化了一个前端项目的首屏性能,降低了白屏时间,那么面试官对这个性能优化问题会进行深挖,来考察候选人的实际水平:

1、你的性能优化指标是怎么确定的?平均下来时间减短了多少?
2、你的性能是如何测试的?有两种主流的性能测试方法你是怎么选的?
3、你是根据哪些指标进行针对性优化的?
4、除了你说的这些优化方法还有没有想过通过xx来解决?
5、你的这个优化方法在实际操作中碰到过什么问题吗?有没有进一步做过测试?
6、我们假设这么一种情况,比如xxxx,你会这么进行优化?

面试官多层追问的逻辑是这样的:
了解背景 -> 了解方案 -> 深挖方案 -> 模拟场景
首先得了解你性能优化的指标如何,接着需要了解你是这么测试的指标、再怎么进行针对性优化的,再接着提出一些其它解决方案考察你对优化场景的知识储备和方案决策能力,最后再模拟一个其它的业务场景,来考察你的技能迁移能力,看看是否是对某块领域有一定的了解,而不是只针对某个项目。
如果要真的在面试现场对答如流,那么一定是在某一块领域有一定知识储备的人,不是随随便便搞个项目就能蒙混过关的。

既然是最重要的,选择困难症选手可能就犯难了,怎么样的项目应该被宠幸,写在简历上呢?

「1. 自己做的」

这点不用多说,一定得是自己做的项目,别看着别人项目牛逼,就拿来吹,面试和背调环节都可能穿帮的。

「2. 很熟悉的」

对于这个项目,你必须在业务和技术实现上都了如指掌:

  • 业务上:这个项目的业务背景是什么,在业务上有什么比较牛逼的地方,推动了业务如何运行等等
  • 技术实现上:这个项目的整体技术实现思路是怎样的,项目中用了什么比较牛逼的技术,解决了什么比较困难的问题等等

千万千万不能有这个想法:项目中有一个很牛逼的东西,但是不是你写的,你也完全不了解,但是就想写进项目里。

「3. 有亮点的」

好看的皮囊千篇一律,有趣的灵魂万里挑一

面试官比较在意的还是这个项目表面上看不到并且很有趣的东西。业务,技术都可。

  • 这个项目做了什么牛逼的事情
  • 你在项目里做了什么牛逼的事情
  • 用了什么牛逼的技术解决了什么困难的问题

有的同学说,好像没有做过什么有亮点的项目,那简历上该如何写?

教你两招,写遇到比较难解决问题的项目和有产出的项目。

「4. 遇到比较难解决问题的」

在项目开发过程一定是会遇到一些问题的,如果不会,说明你在舒适区很久了,需要找点有挑战的事情做一下了。

找一个这样的项目,思考以下几点:

  • 遇到了什么问题:页面性能问题
  • 在这过程中你是如何排查问题的:如何排查页面性能问题的
  • 是如何定位问题的:通过火焰图发现某段长列表加载性能有问题
  • 最终是如何解决这个问题的:通过虚拟列表来解决长列表问题

「5. 有产出的」

有一种项目,面试官还是很喜欢的,就是「有产出」的项目,可以从以下几点来考虑:

  • 思考:发现团队使用的开发模板比较混乱,代码书写也不规范
  • 设计:设计一个统一的脚手架工具,并且设计代码规范
  • 解决:开发 CLI 工具,并且通过 ESLint/Prettier 解决代码规范问题
  • 推动:通过宣讲等方式推动工具成为团队基础产品

「总结:项目经历一定是面试官比较关心的部分,面试中一定会细问的,所以不要啰嗦,挑牛逼的、有意思的东西写,并且自己能讲明白的。」

专业技能

专业技能就是你掌握的技术栈。

很多人专业技能是这样写的,并且占了简历的一半内容:

  • 精通 js/html/css
  • 熟悉 es6
  • 精通 vue
  • 熟悉 ant-design 来写页面
  • 熟悉 webpack 和 bable

这里有几个问题,也是写专业技能的时候**「最忌讳」**的:

  1. 技术名词注意书写正确,bable 是啥,一看就不熟悉啊
  2. 技术名词注意大小写,JavaScript / HTML / CSS / Vue.js 等等
  3. 写着熟悉 xxx,精通 xxx,真的熟悉、精通吗

如果是我,我会这样用 “了解/熟悉/精通” 来描述我掌握的技术栈。

「了解」

  • 会使用/用过
  • 了解其思想
  • 没有深入了解过
  • 简单阅读过该技术的文档或者相关文章,知道这么一个东西

「熟悉」

  • 有大量实践
  • 有深入了解过原理,甚至阅读过源码
  • 遇到复杂问题能够快速想出解决方案
  • 他人提出问题时,可以快速想到答案或者思路

「精通」

  • 深入理解原理
  • 大量复杂场景实践经验
  • 大量相关源码经验
  • 可以指导他人

我们就以Vue这个框架为例,如果你可以用vue写一些简单的页面,单独完成某几个页面的开发,但是无法脱离公司脚手架工作,也无法独立从0完成一个有一定复杂度的项目,只能称之为了解。
如果你有大量运用vue的经验,有从0独立完成一定复杂度项目的能力,可以完全脱离脚手架进行开发,且对vue的原理有一定的了解,可以称之为熟悉。
如果你用vue完成过复杂度很高的项目,而且非常熟悉vue的原理,是vue源码的主要贡献者,亦或者根据vue源码进行过魔改(比如mpvue),你可以称得上精通。

「总结:专业技能请慎重对待,有可能是你的加分项,也有可能是你的减分项。」

工作经历

工作经历本身不用花太多笔墨去写,面试官主要想看的就是每段工作经历的持续时间、在不同公司担任的职责如何、是否有大厂的工作经验等等。

那么什么简历在这里给面试官减分呢?

频繁跳槽: 比如三年换了四家公司,每个公司呆的时长不要超过一年

常年初级岗: 比如工作五六年之后依然在完成一些简单的项目开发

末流公司经历: 在技术招聘届,大厂的优先级最高比如BAT、TMD甚至微软、谷歌等外企,知名度独角兽其次,比如商汤、旷视等等,一般的互联网公司排在第三,就是工作中小型的互联网公司一般大家叫不上名字,排在最后的就是外包和传统企业的经历

所以,如果你有频繁跳槽的经历怎么办?在本公司老老实实等到满一年再跳槽。
如果常年初级岗怎么办?想办法晋升或者参与一些业界知名项目,再或者写一个有一定复杂度的私人项目。
如果有末流公司经历怎么办?如果是很久以前的末流公司经验可以直接不写,也没人在乎你很早之前的工作经历,如果你现在就在末流公司,赶紧想办法跳槽,去不了大厂,去非知名的互联网公司也算是胜利大逃亡了。

不建议任何形式的简历造假,如果去一些大厂,分分钟背调出来,与其简历造假,不如现在就行动起来,比如从现在到年底跳槽季,深度参与一个知名开源项目或者做一个有一定复杂度的私人项目绰绰有余,除非996。

注意事项

  • 自我评价不建议写:技术面试几乎没人看你的自我评价,连面试技术问题都嫌『talk is cheap show me the code』,你的自我评价除了占篇幅没啥用处,充其量算是面试官的干扰信息。

  • 简历封面千万别搞:这都是一些简历制作网站骗用户付费的伎俩,不仅是互联网行业,其它行业我也没见过要简历封面这种无用操作的。

  • 千万别用技能图表:首先用90分、80分来评价自己的技术本身就没有什么说服力,也不可能这么精准,而且什么是90分、什么是80根本就没有一个公论,所以用一般的比较通用的熟悉、精通描述即可,千万别加戏,面试官或者HR没那么多闲工夫去理解你的图表,老老实实按最通用高效的方式描述自己的技术栈。

  • 简历最好一页:程序员又不是设计师有时候需要作品呈现,如果你的简历超过一页那么一定是出问题了,要么项目、技术栈描述太多太杂占据大量篇幅,要么加了一堆图表或者图画来加戏,当然往往是犯前一个错误的更多。

这是我在网上找到的一个例子很能说明问题:


简历的版面寸土寸金,别说话跟裹脚布一样,精炼的一句话即可描述你的问题。

  • 不建议用任何简历制作网站或者开源的简历制作器:我之前不仅用过上述的东西,还付过费,完全是浪费时间和浪费金钱,先说简历制作网站基本上都是那种花里胡哨的简历,看起来炫但是基本是面试官最讨厌的那种形式,开源的简历制作器也是类似的,我甚至还为了自己的简历魔改过这种制作器,到头来也是浪费时间,记住简历『黑白灰』三个配色,简洁即可,切勿让简历形式喧宾夺主。

面试准备

优秀的简历咱们会了,那么面试时回答的面试问题又该怎么答?详细的面试题资料应当是为我们的面试锦上添花,而对于没有准备好的小伙伴则是雪中送炭。小编为小伙伴们分享几套面试题,让咱们的面试准备的更充分起来!点击这领取文中前端面试题资料
75 道 JavaScript 面试题, 2.5 万字刷个够(含解析)


Vue面试题总结


前端面试题汇总


简历避坑面试题提升,点击这领取文中前端面试题资料

结束语

总结一下:

  • 简历一定要投入百分百的精力认真写
  • 简历一定要真实
  • 写完简历并不代表就不看简历了,对简历内容一定要非常非常熟悉

不要等秋招、金九银十来临的时候,开始为填满自己的简历而发愁,当自己的简历石沉大海开始着急,按自己的节奏时间去规划,提前做准备,准没错的。