如何写出一份优质的前端简历?,软件开发常见面试题

本文探讨了在职场中如何通过展现技术深度、积累项目成果,并以数据驱动的方式撰写简历,以提高面试竞争力。作者分享了自己的经历,强调了跨职能协作和理解业务的重要性,以及如何清晰、有逻辑地描述项目成就和技能应用。
摘要由CSDN通过智能技术生成
  • 影响力:影响力这个概念就比较主观难以量化了,但是也可以用别的指标从旁佐证,比如工作期间做了 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 大行其道的当代,这份经历能给你加分吗?反而可能会让面试官质疑你技术更新迭代的速度会不会太慢了?

站在一个面试官的角度,单纯的堆叠名词反而容易让人质疑你的知识深度和对自己的认知的准确性,适当的裁剪往往更能突出优势。

慎用形容词


在我第一次写简历的时候,有一篇文章印象很深,细节忘了但是里面有一个很重要的观点:不要写精通!我觉得特别对,因为大多数人对大多数技术的掌握程度并没有达到这个深度,如果你真的自认有精通的点,那有可能是事实也有可能是不知者无畏。

举例来说,你觉得你精通 HTML 吗?那么:

  • input 标签的 type 属性有哪些可选值?分别对应什么功能?浏览器兼容程度如何?

  • 什么是标签的语义?为什么要有语义化?有谁会消费这些语义?怎么评估语义是否恰当?

  • aria 属性是什么?怎么编写合理的 aria 结构?又是谁,以何种方式会消费这些属性?

又或者,你觉得你精通 vue 吗?那么:

  • Vue2 的双向数据绑定是什么?如何实现的?这个过程如何影响 props、computed 属性?

  • 如果上面的问题你理解了,那么 Vue3 呢?

  • Vue 如何将 template 转换为 render 函数?又是如何识别出标签对应的组件?组件层级之间的创建顺序是怎样的?渲染顺序又是怎样的?

这个列表还可以无限列下去,所谓学海无涯,谦虚一点总没坏处的。我个人的做法是绝不写“精通”,因为我自知对任何一个技术点都远远没有达到精通的程度;但是会写1-2个熟悉的技术项,并且书写顺序上会尽量靠前;此外会再补充一些理解,对于那些把握不够的点会忽略不写。面可以广一点,例如网络协议、构建工具、开发框架都写一些,但总量尽量保持到3-5个。

这里可能会有同学,特别是实习生、应届生担心技术栈不够广会不会反而拿不到面试机会呢?这其实也是一种学习策略的问题,如果你站在面试官的角度,放在你面前的两份简历,一份内容看起来是少但明显能感觉有足够深度;另一份堆砌了很技术名词,但是名词之间看起来没有明显关联,你会倾向那一份?

总结

=============================================================

简历不容易写,技术人员的简历更不容易,为了心仪的工作花多点时间沉淀一份优秀的简历是非常有必要的。

下面分享一份我整理的前端校招面试题,分了HTML、css、JavaScript、React、Vue、浏览器、服务端与网络、算法等等,共280页PDF。

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注前端)
img

学习分享,共勉

题外话,毕竟我工作多年,深知技术改革和创新的方向,Flutter作为跨平台开发技术、Flutter以其美观、快速、高效、开放等优势迅速俘获人心

CodeChina开源项目:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注前端)
[外链图片转存中…(img-Bo2eqNnE-1711852633700)]

学习分享,共勉

题外话,毕竟我工作多年,深知技术改革和创新的方向,Flutter作为跨平台开发技术、Flutter以其美观、快速、高效、开放等优势迅速俘获人心

CodeChina开源项目:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

  • 30
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值