申明:本文所有观点均代表我集体意见,不地表与公司、部门、团队立场 / 意见,对于内容的对错、价值观由读者自行判断,欢送敌对沟通探讨,心愿能和而不同。
先来个灵魂拷问:你与别人相比,有什么能造成显著区分度的劣势条件?
这里有两个层面的问题,一是 如何辨认出你的劣势条件 ,毕竟大多数人大多数时候可能都是在做业务,临到写简历的时候要求总结日常工作中跟他人不一样的点,的确挺难的,怎么办?第二个问题是你可能曾经开掘到本人的劣势,然而 在简历外面怎么组织内容,怎么表白能力突出,让面试官迅速 get 到点呢?
这事并不容易,我见过的不少简历,特地是 5 年以下的同学很多都写的不达预期,有一些是真的平平无奇,有一些是明明有不错的经验,但就是没有表达出来,几分钟内很难 get 到亮点。最近刚好有不少人找我内推,我都会尽力帮着看看有没有什么显著的问题,在沟通过程中缓缓总结出了一些共性问题,于是有了这篇文章,心愿能帮忙正在或行将找工作的同学。
本文不会讲太多根底问题,例如格局、字号、字体等问题,这些网上曾经有很多文章,没必要反复探讨。本文会更聚焦于内容,聚焦于 如何在无限篇幅内突出你的集体劣势,包含如何在日常工作中开掘亮点,如何组织语言让面试官可能迅速了解你的亮点,以及须要避开那些可能会造成负面成果的坑。有任何想法意见欢送留言探讨,如果对你的确有帮忙心愿不要悭吝您的赞,这对我很重要,能激励我继续写更多文章。
如何开掘亮点
重点是坚持不懈的记录,积攒足够的素材。在此基础上学会辨认对于求职来说什么是加分项,什么不是。
保持记录
写作须要素材,写简历当然也须要素材,简历的素材就来自于咱们与日俱增的工作,能够养成习惯,无意识地将一些经验以文本的模式记录下来。
记录的形式有很多,比方技术博客、我的项目日志、年度总结甚至是周报,这种书面形式的留存总结可能随时 review,所谓好忘性不如烂笔头,这些信息最终可能就变成你简历的重要素材。
当然,也没必要事无巨细记流水账,能够把无限的精力放在一些重要节点上:
- 我的项目启动时,技术选型的过程、思考、论据、论断
- 我的项目完结时,执行过程的复盘、反思、重点难点、数据指标
- 应用开源框架遇到问题时,调试过程、逻辑推导、解决方案
- 学习新技术时,
- 解决性能问题时,优化前后有多大的晋升、具体有哪些优化措施,用了哪些工具,如何履行
这些节点都是个人成长的良好契机,把它们记下来,记录下你在这个过程中都遇到了哪些问题,别离是怎么解决的,写简历的时候翻一番总比凭感觉回忆靠谱得多。
辨认亮点
在积攒足够多的素材之后,就能够依据面试的公司、业务、指标岗位从素材中选取更可能被面试官相中,也就是所谓“亮点”来组织简历了。
亮点应该是那些能让你显得不同凡响的经验,比如说:
- 做过一些深度的性能优化,并且有比拟大的性能收益,能量化晋升空间的
- 做过一些业务逻辑特地简单、业务影响力特地大的我的项目
- 推动过一些制度、工具,深刻影响团队乃至整个公司的工作流程、工作形式,且整体有提效作用
- 用一些不太常见的技术,解决过对前端来说比拟偏门的问题,例如视频直播
- 做过有肯定名气,能真正解决技术问题的开源我的项目,demo、awesome-xxx 类的不在此列
- 深刻学习一些工具的用法,以此解决了一些工程化、开发效率、性能方面的问题
- 给出名开源我的项目,提交过真正简单有意义的 MR,typo 类修复不在此列
- 钻研过一些框架的原理,并能继续输入足够多的有技术深度的文章,或者明确解决过我的项目中呈现的简单问题
- …
这个列表还能够持续列举上来,不同人,甚至同一人随着教训、认知的增长在不同期间都会有不同的判断规范,所以这里没有标准答案,尽力就好。
什么不是亮点
梳理过程要留神避开哪些不能给你加分的信息,要理智地反思一遍,这段经验是否足够简单?是否足够体现出你的最高程度?对于这外面用到的技术,你真的把握的很好,能应答面试吗?
这里也列举几种反模式:
- 单点技术冲破不算亮点,例如解决了某个 UI 框架的单个款式 bug,体量太小
- 做了很多我的项目,不能称之为亮点,只能证实你可能曾经工作了很久
- 技术框架、工具始终停留在用的阶段,对外部实现原理齐全不分明
- 仅仅解决一些很寻常,很广泛,网上有大量现成计划的问题不能算亮点
如何表白亮点
积攒足够多素材之后,接下来须要探索一下如何通过简历高效传播给预期读者。面试官通常都很忙,特地是很多大厂面试官可能每天要浏览几百上千份简历,如何组织内容能力高效传播你的信息?如何在短时间内抓住面试官的注意力?更进一步的,如何疏导后续面试的内容?
首先是根本格局,这方面比较简单,上网找个你感觉最简洁清新的模板就行了,我集体比拟喜爱这个。根本格局之外更重要的其实是内容,如何在短短一两页内出现你的能力、业余度、人设等,上面开展聊聊。
建立技术人设
所谓人设,能够简化了解为咱们做过什么,以及咱们将要做什么。
做过什么
落到简历上,通常须要以我的项目经验、把握技能这两个角度出现,我的项目经验是简历的外围组成,大多数面试官都十分看重这一 part,千万不要自觉写,要有条理,有秩序,有重点,我集体总结出几条规定:
- 无意识地筛选几段能突出某项、某系列技能的我的项目经验,例如你要突出 vue,那么就应该尽量围绕这个主题开展,防止一会是 vue,一会是 Lua 这种牛头不对马嘴的状况,要让面试官能立刻 get 到你的技术特长就是 vue
- 组织好语言,我的项目经验在时间轴上从远到近,围绕你所设定的主题逐渐细化、深入,例如最开始的我的项目经验外面你只是用了这项技术,后续逐步开始更好地利用生态;更了解实现原理并可能解决简单的性能、工程化问题;甚至更进一步开发了一些有价值的开源工具,或者输入了一些高质量的文档反哺社区。要让面试官可能通过我的项目经验感触到你从小白逐渐成长的过程
- 后面两点都是在体现深度,对于工作 3 年以上的同学,通常既要求有深度,又要求有肯定的广度、视线,说实话这并不容易做到,有一个办法就是围绕下面建立下来的深度,向外扩大补充与前端根底强相干的工作经验,比如说 http、TLS、http2、TCP 等网络栈相干的性能优化、版本升级经验;或者,内存泄露的排查修复教训、FPS、FCP、FMP 之类指标过低的优化教训等等;又或者一些更简单的开发场景,例如编辑器、编译器、可视化、简单动画、多媒体等等
总结下来,尽量做到一专多能,既有深度又有广度,深度可能帮忙面试官迅速判断你的技术栈,升高心智累赘,看起来不累;广度可能帮忙面试官辨认你的学习能力、后劲、对简单开发场景的承受度等。在根本技术人设之外,最好还能顺带传播出你对所在行业的认知深度,前面会聊到。
近期筹备做什么
很多面试官喜爱问:你将来 3 - 5 年的职业规划是怎么的?很多人会感觉“职业规划”这玩意儿挺虚的,不违心花工夫去认真梳理。我的观点,职业规划首先是给本人看的,是给你本人设定了一条门路,日常工作中须要一直做出抉择,心里的这条门路越明确,做决定的老本会越低,会看到本人一直在靠近指标。
对于面试官来说,这个问题大部分状况下首先考查你对本人的职业生涯有没有足够清晰的认知和指标感,三天打鱼两天晒网就跟频繁跳槽一样,没方法让你在垂直畛域积攒足够的深度;其次,考查你布局的天花板,如果没有体现出技术、职业野心,那容易让人 judge 你的发展潜力;最初,考查你的布局与团队的 match 水平,这就见仁见智了,没法一概而论。
所以对人对己都很有必要先花点工夫,想分明本人将来 3 - 5 年要做什么,做到什么水平,建立一个明确的职业指标。这个话题有点脱离本文的主题,因为你很难在简历中表白出你的职业规划,不过能够换个角度,在简历中以附加资料的模式出现,比方集体博客、github。
博客的话能够围绕你设定的职业规划,间断一段时间围绕这个主题写多篇博客,让面试官感触到你既有想法,又的确有在这个方向上致力。
Github 的话也是一样的,间断一段时间在这个主题上输入一些代码品质较优的仓库,通常面试官进来第一眼是看 star,其次是看代码格调,如果不能攒到 100 star 以上,就尽量把代码写难看一点,这也是加分项。
量化
数字是个大杀器!正确应用各种量化指标能让你的简历更有重心,更有可信度,更容易取得认可。很多货色能够量化,比如说:
- 性能晋升:性能优化通常是一种很综合很简单的场景,须要足够的常识深度,须要灵活运用各种调试工具,所以面试官通常看到这种经验都会多加关注,如果能推断出优化前后的指标变动就更好了
- 业务提效:这方面通常是引入或者发明了某类工具,扭转或优化原有工作流程达到部分或全局更优解,从而晋升整体效率,优化方向不局限于开发团队外部。这类优化与业务紧密结合,换个业务方向的面试官可能很难从你做的事件 get 到点,如果能提供一些具体的优化数值是有助于读者做判断的,能够是流程提效了 xx \%、工单完成率晋升了 xx,达到 xx、响应及时度晋升了 xx 之类的
- 业务推动:如果有幸参加到一个倒退比拟猛的我的项目,而且你在这个我的项目中是比拟外围的成员,那么能够思考总结一下从开始到你筹备来到的时候,我的项目的业务指标有多大的增长
- 影响力:影响力这个概念就比拟主观难以量化了,然而也能够用别的指标从旁佐证,比方工作期间做了 xx 次部门内分享、xx 次公司范畴分享、xx 次行业大型分享;或者是,输入了 xx 份博客之类的
留神,前提是正确,不要为了量化而刻意捏造或者拍一些不存在的数字,拍进去的数字通常很容易识穿,面试时容易露馅,没必要。倡议在日常工作中养成用数据思维,包含业务上的,技术上的,特地做一些优化的时候,记录优化前后的数值状况,写简历时天然有素材。
业务深度
先分享一下我个人经历,我已经在一家特地小而美的人工智能守业公司工作了三年,尽管职能是前端,然而过程中并没有把本人的工作边界圈的若明若暗,常常很发散地去声援服务端、数据甚至是经营团队的工作,比方:
- 用 Python + celery 开发定时结算零碎,升高对账老本,压缩结算周期
- 用 node + ffmpeg + docker 做了一套视频流式解决工具,可能依据配置对一批视频做抽帧、截取片段、压缩、转格局等操作
- 某个 POC 性质的我的项目中,用 Python + caffe 调用深度学习模型实现图像识别服务,配合浏览器上调用 media 接口将摄像头画面传回服务器辨认出画面中的物品
短期来看的确没有显著收益,然而在我到职写简历时,发现这些经验串联起来,让我对深度学习的工作过程、原理、局限性、工具、指标等概念的了解曾经足够撑持我在面试过程应答各种问题,前面找工作的时候聊到这一部分都会特地顺利。
这里不是激励大家去做很多前端畛域之外的事件,只是想表白对业务、单干团队的理解与洞察水平能够映射出你对工作的投入度,而市场通常都会比拟青眼投入度高的人。所以在日常工作中能够无意识地用各种办法跨出职能边界,去理解其余团队在做什么,怎么做的,平时会用哪些工具技术,有没有存在什么问题,这些问题有没有方法用前端的技术解决,等等。
当你对行业造成足够平面的认知之后,写简历、面试的时候可能就能够展现出在这个畛域的横向认知,反过来说如果你过来对工作的认知始终停留在前端畛域内,隔壁在做什么,怎么做,用什么做;业务线接下来有什么打算,可能须要用到什么新技术,这些问题都答复不上来的话,面试官容易狐疑你对工作的投入度。
我的项目经验怎么写
不要只写你做了什么,更重要的是突出你用什么办法,解决了什么问题,收益是什么,要可能造成一条残缺的逻辑闭环,面试官才有足够信息来判断你我的项目经验的价值。
比如说,对于这样一段经验:在 XXX 我的项目中引入性能及异样上报工具,后续团队内基于回收的数据有针对性的做了一些优化,我已经收到一份简历是这么写的:
集成监控 SDK, 蕴含页面测速, 谬误异样, API 品质, 白屏异样, URL 异样, 收集我的项目中的各类错误信息并上报, 通过 performance API 进行测速剖析, 封装根底库 ajax 上报 API 错误信息; 在资源监控零碎通过对各个端上报的指标进行荡涤, 聚合以及数据分析, 谬误模块聚合 sourcemap 还原源代码, 便于修复线上问题; 重构我的项目代码与调用链, 加载工夫缩短 20\%;
这外面有一些显著问题:
- 语言组织太过平铺直书,感知不到重点
- 监控 SDK 是啥?集成形式又是怎么样的?这外面有多少工作量?有那些难点?
- 模式与形容不好,浏览老本高
- 荡涤、聚合、数据分析别离又是啥?前端在这外面做了什么?
- 谬误模块聚合 sourcemap?只有谬误模块吗?聚合又是什么鬼?聚合还原完为什么就能“便于修复”线上问题?sourcemap 的原理又是什么?
- “重构我的项目代码”与后面说的“集成监控 SDK”是什么关系?为什么要写在一起?
- 加载工夫具体是指哪个指标?具体做了什么缩短的?
总结下来,我集体感觉问题次要是形容不清晰,很难了解这到底是一件什么事件,怎么做的,最初收益又怎么样。比拟好的形式应该是:
- 引入(基于) xxx 搭建性能与异样监控体系,笼罩 FCP/FP/FMP/TTI/LCP 等性能指标;笼罩白屏、页面奔溃、JS 异样、http 异样等谬误场景。
- 在上述监控体系根底上,逐渐推演出外围性能指标模型,以此为决策依据逐渐执行图像合并、代码分包、缓存策略优化、首屏渲染优化、SSR 等措施,前端性能平均指标晋升 xx\%,QPS 晋升 xx\%
- 在上述监控体系根底上,优化我的项目 CI 工序,接入基于 webpack 的 sourcemap 映射能力,线上问题可能间接映射回源码堆栈,线上问题均匀修复工夫升高 xx\%
这不是最好的表述,然而这曾经充分说明了:用什么形式办法、具体解决了什么问题、最终收益是什么,相比于后面的写法,叙述上更谨严也更容易了解一些。
如何做减法
简历内容在“历”,然而预设条件是“简”,不要写成流水账,不要事无巨细写成了自传。简历内容绝非多多益善的,写的越多浏览老本越高,越难以抓到重点,所以该当适度精简。
留神我的项目门路
如果你曾经有比拟丰盛的我的项目经验,千万不要不做抉择全副往简历怼,不是我的项目经验越多越好,应该依据联合集体状况,精心筛选几段有代表性的,例如:
- 能体现出技术深度,或者业务复杂度、业务体量的
- 能体现学习能力的,例如已经为了应用一个文档缺失的框架,花了一段时间看完源码总结出用法,最终可能
- 可能构建起“成长门路”,这一 part 在“建立技术人设”一节曾经讲的比拟细了
尽量避开这些类型的我的项目:
- 单纯练手,复杂度、业务价值都特地低的
- 太过简略的,例如简略的流动页
- 仿 xxx 型的,培训班很喜爱搞这种练习题,不少候选人就拿这个当理论我的项目写到简历上了
慎用技术名词
前端简历中经常会有一 part 总结本人的技术栈,这里肯定肯定要谨慎,我常常遇到很多技术栈特地宽泛,凡是用过的技术都往上面写的简历,一个是看起来、剖析起来累;一个是面试过程一问三不知。我倡议应用任何技术名词前能够先问问本人:
- 这种技术会给你的简历加分吗?
- 你的应用频率、理解水平足够高吗?足够应答可能呈现的各种技术问题吗?
- 这项技术足以让你与其余候选人拉开距离吗?
比如说,“我已经用 grunt 搭建过一套残缺的工程体系”这样的经验不能说齐全没有价值,但放在 webpack、vite、snowpack、parcel、rollup 大行其道的当代,这份经验能给你加分吗?反而可能会让面试官质疑你技术更新迭代的速度会不会太慢了?
又比如说,“我已经写个一个带视频的网页”这样的经验还不足以撑持你在简历外面写“具备视频编解码能力”,如果更进一步“我已经基于 HLS + FFMPEG 实现动静视频流服务,配合 video.js 实现按需播放”(如我的另一篇博客 HLS + ffmpeg 实现动静码流视频服务 所说) 这种水平,那大能够说你“了解罕用视频封装、编码格局,能依据利用场景搭建晦涩的视频播放体系”。
站在一个面试官的角度,单纯的重叠名词反而容易让人质疑你的常识深度和对本人的认知的准确性,适当的裁剪往往更能突出劣势。
慎用形容词
在我第一次写简历的时候,有一篇文章印象很深,细节忘了然而外面有一个很重要的观点:不要写精通!我感觉特地对,因为大多数人对大多数技术的把握水平并没有达到这个深度,如果你真的自认有精通的点,那有可能是事实也有可能是不知者无畏。
举例来说,你感觉你精通 HTML 吗?那么:
- input 标签的 type 属性有哪些可选值?别离对应什么性能?浏览器兼容水平如何?
- 什么是标签的语义?为什么要有语义化?有谁会生产这些语义?怎么评估语义是否失当?
- aria 属性是什么?怎么编写正当的 aria 构造?又是谁,以何种形式会生产这些属性?
又或者,你感觉你精通 vue 吗?那么:
- Vue2 的双向数据绑定是什么?如何实现的?这个过程如何影响 props、computed 属性?
- 如果下面的问题你了解了,那么 Vue3 呢?
- Vue 如何将 template 转换为 render 函数?又是如何辨认出标签对应的组件?组件层级之间的创立程序是怎么的?渲染程序又是怎么的?
这个列表还能够有限列上来,所谓学海无涯,虚心一点总没害处的。我集体的做法是绝不写“精通”,因为我自知对任何一个技术点都远远没有达到精通的水平;然而会写 1 - 2 个相熟的技术项,并且书写程序上会尽量靠前;此外会再补充一些了解,对于那些把握不够的点会疏忽不写。面能够广一点,例如网络协议、构建工具、开发框架都写一些,但总量尽量放弃到 3 - 5 个。
这里可能会有同学,特地是实习生、应届生放心技术栈不够广会不会反而拿不到面试机会呢?这其实也是一种学习策略的问题,如果你站在面试官的角度,放在你背后的两份简历,一份内容看起来是少但显著能感觉有足够深度;另一份堆砌了很技术名词,然而名词之间看起来没有显著关联,你会偏向那一份?
总结
简历不容易写,技术人员的简历更不容易,为了心仪的工作花多点工夫积淀一份优良的简历是十分有必要的。
我工作了 8 年,目前在字节跳动游戏部门做前端工作,前前后后曾经看过几千份简历,有很多简历上的问题还是能看进去的,如果你刚好或将要找工作,我很乐意能帮你把把关;如果你刚好想来字节跳动试试前端岗位,我能够帮你内推到字节,还能够帮你模仿面试、分享我对字节各个业务线、工作环境的认识等等,欢送微信撩骚:tecvan。