识别亮点?
亮点应该是那些能让你显得与众不同的经历,比如说:
做过一些深度的性能优化,并且有比较大的性能收益,能量化提升空间的。
做过一些业务逻辑特别复杂、业务影响力特别大的项目。
推进过一些制度、工具,深刻影响团队乃至整个公司的工作流程、工作方式,且整体有提效作用。
用一些不太常见的技术,解决过对前端来说比较偏门的问题,例如视频直播。
深入学习一些工具的用法,以此解决了一些工程化、开发效率、性能方面的问题。
给知名开源项目,提交过真正复杂有意义的MR和问题。
钻研过一些框架的原理,并能持续输出足够多的有技术深度的文章,或者明确解决过项目中出现的复杂问题。
这个列表还可以继续罗列下去,不同人,甚至同一人随着经验、认知的增长在不同时期都会有不同的判断标准,所以这里没有标准答案,尽力就好。
什么不是亮点?
梳理过程要注意避开哪些不能给你加分的信息,要理智地反思一遍,这段经历是否足够复杂?是否足够表现出你的最高水平?对于这里面用到的技术,你真的掌握的很好,能应对面试吗?
这里也列举几种反模式:
单点技术突破不算亮点,例如解决了某个 UI 框架的单个样式bug,体量太小。
做了很多项目,不能称之为亮点,只能证明你可能已经工作了很久。
技术框架、工具一直停留在用的阶段,对内部实现原理完全不清楚。
仅仅解决一些很寻常,很普遍,网上有大量现成方案的问题不能算亮点。
如何表达亮点?
接下来需要探究一下如何通过简历高效传达给预期读者。面试官通常都很忙,特别是很多大厂面试官可能每天要浏览几百上千份简历,如何组织内容才能高效传达你的信息?如何在短时间内抓住面试官的注意力?更进一步的,如何引导后续面试的内容?
首先是基本格式,这方面比较简单,上网找个你觉得最简洁清爽的模板就行了。
除了基本格式之外更重要的其实是内容,如何在短短一两页内呈现你的能力、专业度、人设等,下面展开聊聊。
落到简历上,通常需要以项目经历、掌握技能这两个角度呈现,项目经历是简历的核心组成,大多数面试官都非常看重这一部分,千万不要盲目写,要有条理,有次序,有重点,我个人总结出几条规则:
有意识地挑选几段能突出某项、某系列技能的项目经历,例如你要突出 vue ,那么就应该尽量围绕这个主题展开,避免一会是vue,一会是 Lua 这种牛头不对马嘴的情况,要让面试官能立即 get 到你的技术专长就是 vue。
组织好语言,项目经历在时间轴上从远到近,围绕你所设定的主题逐步细化、深化,例如最开始的项目经历里面你只是用了这项技术,后续逐渐开始更好地应用生态;更理解实现原理并能够解决复杂的性能、工程化问题;甚至更进一步开发了一些有价值的开源工具,或者输出了一些高质量的文档反哺社区。要让面试官能够通过项目经历感受到你从小白逐步成长的过程。
前面两点都是在表现深度,对于工作3年以上的同学,通常既要求有深度,又要求有一定的广度、视野,说实话这并不容易做到,有一个方法就是围绕上面树立下来的深度,向外扩展补充与前端基础强相关的工作经历,比如说 http、TLS、http2、TCP 等网络栈相关的性能优化、版本升级经历;或者,内存泄露的排查修复经验、FPS、FCP、FMP 之类指标过低的优化经验等等;又或者一些更复杂的开发场景,例如编辑器、编译器、可视化、复杂动画、多媒体等等。
总结下来,尽量做到一专多能,既有深度又有广度,深度能够帮助面试官迅速判断你的技术栈,降低心智负担,看起来不累;广度能够帮助面试官识别你的学习能力、潜力、对复杂开发场景的承受度等。