面试一直是程序员找工作时期非常热门的话题,虽然现在已经过了金三银四的旺季,下一轮需要到金九银十才会出现,但是当要找工作的时候你再看这篇文章可能已经晚了,过冬的粮食永远不是冬天准备的,而是秋收的时候。
小编在看一些同学的简历时,发现有一些同学的简历写得笔试很好看,但是,仔细聊了聊之后发现,这些同学其实技术是很厉害的,只是不知道该如何写在简历上,不知道如何“包装”自己。
简历的重要性、简历基本信息写小编就不多讲,写明白你是谁、你做了什么、你哪方面厉害这三点即可。着重讲下项目经历、专业技能、工作经历、面试准备,篇幅会比较长,收藏慢慢看。
项目经历项目经历的编写很讲究,这是为后面面试部分铺路的绝佳机会,也是直接让你的简历扑街的重点沦陷区域。讲几个致命犯错的点。
「切忌流水账写法」
项目经历流水账写法是绝大多数简历的通病,通篇下来就讲了一件事『我干了啥』。大部分简历却是这样的:
用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...这里有几个问题,也是写专业技能的时候「最忌讳」的:
技术名词注意书写正确,bable 是啥,一看就不熟悉啊技术名词注意大小写,JavaScript / HTML / CSS / Vue.js 等等写着熟悉 xxx,精通 xxx,真的熟悉、精通吗如果是我,我会这样用 “了解/熟悉/精通” 来描述我掌握的技术栈。
「了解」
会使用/用过了解其思想没有深入了解过简单阅读过该技术的文档或者