01一份简历要过的三关
简历在拿到面试之前,通常要先后经过招聘系统、HR 和技术面试官三拨读者,他们看的东西完全不一样。写之前先想清楚每一关在找什么,后面每个模块怎么取舍就有了依据。
三关的耐心也不一样:系统只认关键词,HR 平均给一份简历十几秒,面试官会在面试前花三五分钟细读并标出要问的地方。所以越靠前的内容越要一眼看懂,越靠后的内容越要经得起追问。
招聘系统:关键词能不能对上
大公司的投递入口会先把 PDF 解析成文字,再按岗位关键词打分。图片简历、表格嵌套过深、技术名词写成「vue3」「reactjs」这类不规范拼法,都可能让分数掉下来。用文字版 PDF,技术名词按官方写法(Vue 3、React、TypeScript、webpack)。
HR:十秒内看出你是谁
HR 第一眼看的是抬头和工作经历的公司、职位、时间,判断年限和背景是否匹配,再扫一眼有没有亮点。所以求职方向要写在姓名下面,工作经历按时间倒序,空窗期超过半年最好在经历里交代一句。
技术面试官:找可以追问的点
面试官会把你的简历当提纲,挑感兴趣的技术点往深处问。写进简历的每一项都要能讲清楚原理、取舍和结果;讲不清楚的宁可不写。好的简历会主动把最想被问到的项目放在显眼位置,面试的节奏就由你来带。
02结构和顺序
社招简历按「个人信息 → 个人优势 → 工作经历 → 项目经历 → 教育经历」排;校招把教育经历提到工作经历之前,实习经历替代工作经历。篇幅上,三年以内一到两页,五年以上两页,最多不超过三页。
近两年的经历写得最详细,越早的经历越简略。十年前的项目没有必要再展开,留一行公司和职位即可。
有人会问工作经历和项目经历要不要合并。经历少于两段、项目都在同一家公司时,可以把项目直接挂在对应的工作经历下面,读起来更紧凑;跨了三四家公司、项目又多时,分开写更清楚,项目经历后面注明所属公司就行。
- 个人信息:姓名、求职方向、城市、年限,联系方式和 GitHub、博客链接
- 个人优势:8~10 条,概括你最有竞争力的能力,每条都能被追问;最后一条写技术栈,不再单列专业技能模块
- 工作经历:公司、职位、时间,加一段团队和业务背景,再写 3~5 条做了什么
- 项目经历:3~4 个代表性项目,写背景、难点、方案和结果
- 教育经历:学校、专业、时间;校招补上 GPA、排名、奖项和相关课程
- 可选模块:开源贡献、技术文章、演讲分享、证书。有分量才放,凑数的不如不放
03个人信息
抬头只放和招聘有关的信息。年龄、籍贯、婚育状况不是必填项,照片要不要放看目标公司的习惯,互联网公司大多不需要。
手机号和邮箱是最容易出错的地方。邮箱尽量用名字拼音或固定 ID,别用 QQ 号邮箱的数字串;手机号写成「138 0000 0000」这种分段格式,HR 拨号时不容易看串。
求职方向写在姓名下面
「前端开发工程师 · 杭州 · 4 年经验」一行就够。如果同时投 React 和 Vue 岗位,准备两份简历,各自把对应技术栈放在前面,比一份「全都会」的简历更有说服力。
链接要能打开、值得点
GitHub 主页至少有一两个持续维护的仓库,博客最近一年有更新。空仓库和停更三年的博客不如不放。链接写成可点击的完整地址,导出 PDF 后点一下确认能跳转。
文件名带上关键信息
导出时命名为「姓名-前端开发-手机号.pdf」,学历有优势可以加上学校,社招和校招同时开放的公司再加上「社招」。HR 一天要下载几百份简历,「简历(3).pdf」很容易被淹没。
学校和现任公司看情况前置
学校或现任公司有辨识度,可以在抬头第二行带一句「xx 大学 · 计算机硕士」或「现就职于 xx」,HR 不用翻到最后就能看到。没有明显优势就留在正文里,按正常顺序出现。
张三 | 男 | 28 岁 | 汉族 | 已婚 | 籍贯湖北 | 求职意向:前端
张三 前端开发工程师 · 杭州 · 5 年经验 138 0000 0000 · zhangsan.dev@gmail.com · github.com/zhangsan
前者一半信息和招聘无关,真正要看的方向和年限反而挤在最后;后者两行就交代了岗位、城市、年限和三种联系方式。
04个人优势
个人优势是整份简历的摘要,面试官常常只看这一块就决定要不要细读后面。写 8~10 条,每条讲一个具体能力:会到什么程度、在哪里用过、带来了什么结果。
可以按「技术深度、工程化、业务与性能、协作与带人、近期关注」几类来组织,避免十条全是「熟悉 xx 框架」。排序上把和目标岗位最相关的放在最前面,前三条决定了面试官对你的第一印象。
熟悉 Vue,学习能力强,有团队合作精神。
熟悉 Vue 3 响应式和编译期优化,主导过 600 多个组件从 Vue 2 迁到 Vue 3,迁移期间业务正常发版。
前者每个人都能写,无法验证;后者给出了规模和约束,面试官自然会追问兼容层怎么处理、Vuex 怎么迁。
精通前端性能优化。
做过移动端落地页的性能治理,按 Web Vitals 数据定位到首屏大图和同步加载的第三方 SDK,LCP 从 3.4 秒降到 1.7 秒。
「精通」容易被问倒;写清楚指标、原因和数字,比任何形容词都可信。
有良好的沟通能力和抗压能力,能接受加班。
牵头和后端、测试约定了接口变更流程,Mock 与联调用同一份 OpenAPI 描述,联调阶段的返工从每个迭代七八次降到一两次。
软技能同样要用事实证明。「能接受加班」不是优势,反而会让面试官担心你的效率。
- 5 年前端经验,做过 PC 中后台、H5 营销页和微信小程序,近两年主要负责数据可视化方向
- 熟悉 React 18 的渲染机制,排查和治理过大表格页面的重渲染问题,交互卡顿从秒级降到 200 毫秒以内
- 从零搭建团队的 Monorepo 和 CI 流水线,构建时间从 12 分钟缩短到 4 分钟左右,接入 9 个业务项目
- 负责前端监控 SDK 和告警链路,线上错误从「用户反馈才知道」变成平均 10 分钟内发现
- 有 Node.js BFF 的开发和维护经验,负责过接口聚合与登录鉴权,日均请求百万级
- 坚持 Code Review 和单元测试,核心组件库测试覆盖率保持在 80% 以上
- 带过 3 名新人,整理的入职文档和代码规范沿用至今
- 维护一个 1.2k Star 的开源 Vite 插件,技术博客累计阅读 30 多万
- 第一条就交代了年限、做过的端和近期方向,HR 读完这一条就能判断是否匹配。
- 中间几条覆盖了技术深度、工程化、稳定性、服务端,每条都带着场景和结果,没有一条是「熟悉 xx」。
- 最后两条是协作和社区影响力,属于「简历之外」的佐证,放在末尾作为加分项。
- 技术深度:框架原理、浏览器原理,说出你真正研究过的那一块
- 工程化:构建工具、Monorepo、CI/CD、规范与质量体系,写你搭过或改造过的
- 业务与性能:做过的复杂业务、性能或稳定性治理,带指标
- 跨端或服务端:小程序、Hybrid、Node.js BFF,写真实落地过的
- 协作与带人:Code Review、技术分享、带新人、跨团队推动
- 近期关注:AI 辅助开发、LLM 应用等,写你实际做过的尝试,而不是概念罗列
05技术栈写进个人优势
不单独写「专业技能」模块。单列一块技能清单,内容和个人优势大半重复,还要多占小半页;技术深度放进个人优势的每一条里讲,比孤零零的关键词有说服力。
个人优势的最后一条写技术栈,一行列八到十二项真正常用的技术,主栈放前面。招聘系统和 HR 靠这些关键词做匹配,所以写法要和 JD 一致,比如 JD 写 Vue 3 就别只写 Vue。
只列面试中能讲出原理或实际用法的技术。列了 Rust、Flutter、Three.js 却答不上基础问题,比不列更扣分。技术栈这一行不写「了解」「熟悉」「精通」,深浅交给前面几条和经历去证明。HTML、CSS、JavaScript、Git 这类每个前端都会的基础也不必列。
单列一块专业技能: 精通 HTML、CSS、JavaScript、jQuery、Vue、React、Angular、小程序、Node.js、Python、Java、Docker、Kubernetes……
个人优势的最后一条: 技术栈:React 18、Next.js、TypeScript、Zustand、Vite、pnpm workspace、GitHub Actions、Node.js(NestJS)
前者像把招聘要求抄了一遍,面试官会随便挑一个没写深的问;后者只列真正在用的,深浅已经在前面几条里讲过,不用再写程度词。
- React 方向:React 18、Next.js、TypeScript、Zustand、React Query、Vite、Vitest、Sentry
- Vue 方向:Vue 3、Pinia、TypeScript、Element Plus、Vite、Vitest、ECharts
- 跨端方向:微信小程序、Taro、uni-app、React Native、JSBridge
- 全栈方向:Next.js、TypeScript、NestJS、Prisma、PostgreSQL、Redis、Docker
- 原来的专业技能里有值得讲的深度(比如「写过 Webpack 插件做静态资源自动上传」),挪成个人优势里单独的一条
06工作经历
每段工作先用一两句话交代团队和业务:公司做什么、你在几个人的组、负责哪几块、用户量级。没有这句背景,后面的成果就失去了参照。
接着写 3~5 条你在这段时间做成的事。可以分「业务」和「技术」两条线:业务上负责什么、交付了什么;技术上搭了什么、改造了什么、沉淀了什么。职位越高,越要写团队层面的产出,而不只是个人完成的需求。
职位名称按实际写,公司内部职级(P6、T3-2)可以放在括号里,不了解的人看不懂,了解的人会据此判断你的级别。离职原因不写在简历上,面试时被问到再说。
负责公司后台管理系统的开发和维护。
公司做企业数据分析 SaaS,400 多家企业客户在用;我在 5 人前端组负责看板、报表和权限三个模块,主导了 Vue 2 到 Vue 3 的迁移和业务组件沉淀。
后者一句话交代了业务、规模、团队和职责范围,面试官马上知道该从哪里问起。
带领团队完成了多个项目,提升了团队效率。
带 4 人前端小组,建立了需求评审前的技术方案评审和每周 Code Review;半年里线上 P1 故障从 5 次降到 1 次,新人独立上手时间从一个月缩短到两周左右。
写带人经历要落到「建了什么机制、带来什么变化」,团队规模和前后对比是面试官判断管理能力的依据。
07项目经历
项目经历是面试里被问得最多的部分,也是最能拉开差距的部分。挑 3~4 个,不要把做过的所有项目都列出来。每个项目先用一段话交代背景(做什么、给谁用、什么规模),再按「问题 → 思考 → 方案 → 结果」写三到五条。
三类项目各选一到两个,组合起来最有说服力。排序上把最有技术含量、你参与最深的项目放第一个,面试官的追问通常从第一个项目开始。
团队横向产出
脚手架、组件库、规范与 CI、监控 SDK、发布平台这类服务整个团队的项目,体现工程化能力和影响范围。写清楚接入了多少项目、给团队省了多少时间。
亮点与难点项目
低代码编辑器、大数据量表格、可视化、实时协同、复杂表单引擎这类有技术深度的项目。重点写你遇到的具体难题、对比过哪些方案、为什么这样选、最后的效果。
业务项目
证明你能稳定交付业务。别写成需求清单,挑一两个过程中解决的真实问题:权限模型、多端适配、首屏性能、线上故障排查。
使用 keep-alive 缓存页面,使用 axios 拦截器统一处理请求,使用路由懒加载优化性能。
列表页切到详情再返回时会重新请求并丢失滚动位置,运营反馈频繁。用 keep-alive 按路由白名单缓存列表,配合 scroll restoration 记住位置,返回耗时从 1 秒多降到即时。
前者是任何 Vue 项目的标配,写了等于没写;后者从一个真实问题出发,有原因、有做法、有结果。
优化了首屏加载速度,提升了 50%。
首屏 JS 体积 1.8 MB,分析后发现编辑器和图表库被打进了首页。拆成按路由加载,图表改按需引入,首屏 JS 降到 600 KB 左右,移动端 FCP 从 2.6 秒降到 1.4 秒。
「提升 50%」没有口径,面试官第一句就会问「从多少到多少、怎么测的」。
公司 30 多个前端项目原来各自接第三方监控,数据分散、告警靠人盯。我负责从零搭建统一的监控 SDK 和告警链路,团队 3 人。
- 采集:基于 PerformanceObserver 和 error / unhandledrejection 事件做采集 SDK,压缩后 6 KB;上报用 sendBeacon 加批量合并,页面卸载时也不丢数据
- 定位:构建时把 sourcemap 上传到内部服务、不随产物发布,报错堆栈在服务端还原到源码行,排查一个线上报错的时间从半小时左右降到几分钟
- 告警:按错误指纹聚合,同一个问题 10 分钟内只告警一次,并附上影响用户数和首次出现的版本;告警群从每天上百条噪音降到十条以内
- 推广:做成 Vite / webpack 插件,接入只需一行配置,半年内 30 多个项目全部接入,原第三方服务每年的费用也省了下来
- 开头一段交代了为什么要做、规模多大、团队几个人,后面的每条成果都有了参照。
- 每条先写做了什么,再写关键做法,最后落到可以量化的变化,面试官可以从任何一条往下追问。
- 最后一条写推广和接入成本,体现的是横向影响力,而不只是「我写了个 SDK」。
08一条经历怎么写:句式和用词
经历里的每一条都可以套一个很朴素的结构:在什么情况下,做了什么,怎么做的,带来了什么变化。四个部分不一定都要写满,但「做了什么」和「什么变化」不能少。
用词上,动词决定了面试官怎么理解你的角色。「参与」「协助」说明你不是主要负责人,如果事情确实是你主导的,就直接写「设计」「主导」「推动」;反过来,团队的成果也别都写成自己的,面试官问两句细节就能分辨出来。
一条控制在两行以内。超过三行通常是在一条里塞了两件事,拆开写更好读。
负责公司官网的开发,使用 Next.js 框架,大幅提升了 SEO 效果。
官网原来是纯客户端渲染,搜索引擎只收录了首页。迁到 Next.js 做静态生成加增量更新,三个月后收录页面从 1 页增长到 1200 多页,自然搜索流量约占到总流量的三成。
同一件事,后者讲清了原来的问题、选这个方案的原因和可验证的结果,「大幅提升」换成了具体数字。
09数字怎么写
数字是简历里最有说服力的部分,也是最容易被追问的部分。写之前问自己三个问题:这个数是怎么量出来的?对比的基线是什么?面试官问起能不能拿出依据?
很多人说自己的项目「没有数据」,其实是没去找。监控平台上的性能和错误率、构建日志里的耗时、Git 记录里的提交和组件数量、工单系统里的 Bug 数、产品后台的日活和转化,都是现成的数字来源。离职前就把这些截图存好,写简历时会省很多事。
性能类
LCP、FCP、INP、首屏 JS 体积、接口耗时、白屏率。写清楚是哪类设备、哪个分位(P75 / P90),实验室数据和线上数据分开说。
效率类
构建耗时、发布耗时、需求交付周期、联调返工次数、新人上手时间。效率提升最好换算成人力,比如「每周省下约两人天」。
质量与规模类
线上故障数、错误率、测试覆盖率、接入项目数、组件数、日活、数据量。规模数字不体现「优化」,但能让面试官理解问题有多难。
- 写清口径:「移动端 LCP(P75)从 3.4 秒降到 1.7 秒」比「性能提升 50%」可信得多
- 量级比精度重要:「约四成」「1 秒多」比「提升 43.27%」更像真实团队写出来的
- 没有数据就写变化:「之前靠客户反馈才知道,现在当天就能发现」也是有效的结果
- 不要编造:面试官对常见指标的量级有感觉,离谱的数字会让整份简历失去信任
10按方向写出重点
同样是前端,投不同方向的岗位,面试官关心的东西差别很大。下面这张表列了常见方向的考察重点和简历里值得写的内容,投哪个方向就把对应的项目和关键词往前放。
| 方向 | 面试官关心什么 | 简历里值得写的 |
|---|---|---|
| React | Hooks 心智模型、渲染性能、状态管理选型 | 重渲染治理、并发特性或 Server Components 的实际使用、状态库迁移的取舍 |
| Vue | 响应式原理、组件设计、Vue 2 到 3 的迁移 | 组件库或业务组件沉淀、迁移方案与兼容层、编译期优化的实际收益 |
| 全栈 / Node.js | 服务端基础、稳定性、数据库与缓存 | BFF 的接口聚合与鉴权、性能压测数据、线上故障的排查过程 |
| 跨端 / 小程序 | 多端差异处理、包体积、原生能力桥接 | 分包与体积治理、Hybrid 通信方案、多端一致性的测试手段 |
| 可视化 / WebGL | 渲染性能、大数据量、图形学基础 | 万级以上数据的渲染方案、Canvas 或 WebGL 的性能数据、交互设计 |
| 架构 / 基础建设 | 技术选型的取舍、推广落地、长期维护 | 脚手架、Monorepo、微前端、发布平台,接入规模和带来的效率变化 |
| 中后台 / 低代码 | 复杂表单与表格、权限模型、配置化程度 | 表单引擎或低代码协议设计、物料体系、配置化之后的交付效率 |
| Electron / 桌面端 | 进程模型、原生能力、更新与崩溃 | 主进程与渲染进程的通信设计、增量更新、崩溃率和内存治理 |
| AI 应用前端 | 流式交互、上下文管理、成本与体验 | 流式渲染与中断、对话状态管理、提示词与工具调用的工程化、实际的使用数据 |
11不同阶段的写法
同样一份简历,校招和五年经验的写法重心完全不同。面试官对不同级别的期待大致如下,写简历时把重点放在对应的那一列。
校招没有实习怎么办
写一到两个自己完整做完的项目,最好部署上线、有真实用户,哪怕只是同学在用。比起又一个仿写的商城,解决过一个具体问题的小工具更有说服力。课程设计、毕业设计和开源贡献也可以写,重点是你在里面做了什么判断。
一到三年怕写不出东西
这个阶段没人指望你主导架构,面试官想看的是你能不能把一个模块从需求做到上线并且稳定。挑一个你最熟的模块,写清楚它的复杂度和你踩过的坑,比罗列十个需求有用。
三到五年最怕原地踏步
面试官最担心的是「三年经验只是把第一年重复了三遍」。简历里要能看出成长线:从完成需求,到负责一个模块,再到推动一件团队层面的事,比如脚手架、组件库、性能或监控。哪怕规模不大,也比三年都在写同类页面有说服力。
| 阶段 | 面试官看什么 | 简历重点 |
|---|---|---|
| 校招 / 实习 | 基础是否扎实、学习能力、动手能力 | 实习经历、课程或开源项目、竞赛与奖项,把教育经历提前 |
| 1~3 年 | 能否独立完成模块,交付是否稳定 | 负责过的完整模块、组件沉淀、解决过的具体问题 |
| 3~5 年 | 能否负责一个方向,技术深度和工程化 | 性能、工程化、复杂业务中的难点与方案,带数字的结果 |
| 5 年以上 | 技术规划、架构取舍、团队影响 | 主导的架构改造与平台建设、推动的规范、带的人、跨团队协作 |
| 管理岗 | 团队规模、交付效率、人才培养 | 团队从几人到几人、建立了什么机制、关键项目如何交付 |
12特殊情况怎么处理
经历里有不太好看的地方,第一反应往往是藏起来。但 HR 对时间线很敏感,藏得不好比如实写更扣分。原则是不撒谎、不过度解释,在简历上用一句话交代清楚,面试时再展开。
空窗期
半年以内一般不用解释。超过半年,在时间线里写一行,比如「2024.03 — 2024.10 系统学习 Node.js 服务端开发,完成 xx 开源项目」,或者家庭原因、身体原因如实写一句。关键是让人看到这段时间不是空白。
跳槽频繁
一年以内的经历如果和目标岗位关系不大,可以只保留公司、职位和时间,不展开。几段短经历是因为公司倒闭、业务线裁撤,在经历里简单注明,HR 能理解客观原因。
外包或驻场
写清楚实际的雇佣公司和服务的客户,比如「xx 科技(驻场 xx 银行)」。重点写你在项目里承担的技术工作,外包身份本身不是减分项,含糊其辞才是。
转行或非科班
把和前端相关的经历放在最前面:自学的项目、培训期间的实战、在原岗位上用技术解决过的问题。原行业的经历可以简写,但如果它和目标公司的业务相关,比如做过财务去投金融科技,反而是优势。
项目涉及保密
把公司内部的业务名称换成通用描述,比如「某头部电商的商家后台」,数字可以用量级代替具体值。技术方案本身通常不涉密,照常写清楚。
年限长、年龄偏大
早年的经历压缩成一两行,篇幅留给最近三到五年。重点写架构判断、带团队和跨团队推动这类年轻候选人不容易具备的能力,技术栈一定要是近两年在用的。
13对着职位描述改简历
一份简历投所有公司,命中率一定不高。准备一份完整的「母版」,每次投递前花二十分钟对着职位描述(JD)改一遍,回复率会明显不同。
改的不是事实,而是顺序和表述:把 JD 里反复出现的关键词和你经历里对应的部分对上,把最相关的项目放到前面,把无关的内容压缩。
(JD 要求「有可视化大屏经验」)项目经历第三个才写到数据看板,而且只有一句「使用 ECharts 开发数据看板」。
把看板项目提到第一个,补上数据规模和难点:「运营大屏实时展示 2 万多个设备的状态,用 Canvas 分层渲染和数据增量更新,刷新时 CPU 占用从八成降到两成左右」。
经历本身没变,只是让 JD 最看重的那部分出现在最显眼的位置,并且写到了面试官会关心的深度。
- 把 JD 拆成三类:硬性要求(年限、学历、必备技术栈)、加分项、业务背景,先确认硬性要求你都满足
- 找出 JD 里出现两次以上的技术词,确认它们在你的个人优势或技术栈里出现了,写法和 JD 保持一致
- 调整项目顺序:JD 强调性能就把性能治理的项目放第一,强调工程化就把基建项目放第一
- 个人优势的前三条按这个岗位重写,让 HR 十秒内看到匹配点
- 和这个岗位完全无关的经历可以压缩成一行,腾出篇幅给相关的内容
- JD 里提到的业务领域如果你做过,在工作经历的背景介绍里点出来
14排版与 ATS
ATS 是招聘方用来管理简历的系统,投递后它会先把 PDF 解析成文字。排版太花哨的简历在这一步可能被解析得面目全非,HR 在系统里看到的是一堆错位的文字。好看和好解析并不冲突,守住几条规则就行。
- 导出文字版 PDF,不要用截图或扫描件,也不要把整页做成图片
- 用常见字体,正文字号 10~11 磅,行距 1.4 倍左右,页边距不小于 1.5 厘米
- 双栏布局在大部分系统里能正常解析,但侧栏里不要放工作经历这类关键内容
- 不要用表格排版正文,不要把文字放在文本框或图形里
- 技能用文字写,不要用进度条或星级打分,系统读不出来,面试官也不认可「Vue 80%」这种说法
- 全篇只用一种强调色,加粗只留给公司名、项目名和关键数字
- 时间格式统一,比如都写成「2023.03 — 2024.01」,不要一会儿横杠一会儿斜杠
- 中文和英文、数字之间加一个空格:「熟悉 React 和 TypeScript,负责 3 个项目」比「熟悉React和TypeScript,负责3个项目」清爽很多
- 投递一律用 PDF,Word 在不同电脑上打开字体和分页都可能变
15常见误区
下面这些问题在简历里出现得非常频繁。单看每一条都不致命,但叠在一起,会让一份经历不错的简历读起来很普通。
把岗位职责当成果写
「负责前端开发」「负责需求迭代」是你的工作内容,不是你的产出。每一条都问一下:换一个人来做,结果会不会不一样?不会的话,这条就没写到点上。
技术名词堆砌
一条经历里出现七八个技术名词,却看不出用它们解决了什么问题。面试官看到的是「用过」,而不是「用好」。
所有项目都写
五年经验列了十二个项目,每个三行,结果没有一个写到深处。挑三四个能讲二十分钟的,其他的删掉或者合并成一句。
写了讲不清的内容
为了显得全面,写上自己只看过文档的技术,或者别人主导、自己只旁观的项目。面试官最擅长的就是顺着这些地方往下问。
主观评价太多
「热爱技术」「责任心强」「学习能力强」这些词没有信息量。删掉它们,用一条具体经历代替,效果好得多。
漏写或乱放教育经历
社招觉得学历不重要就干脆不写,招聘系统识别不到学历字段,可能直接被筛掉。教育经历一定要有,社招放最后、写一行就够;校园社团、学生会经历在社招简历里基本可以删掉。
一份简历用很久不更新
技术栈停在三年前、最近的项目没写进去、联系方式已经换了。每做完一个重要项目就更新一次简历,比跳槽前临时回忆要准确得多。
16简历之外:GitHub、博客和开源
简历上的每句话都是你自己写的,面试官天然会打个折扣。GitHub、技术博客、开源贡献是别人可以独立验证的东西,相当于一份「简历之外的简历」。有就一定要放,而且要放在显眼的位置。
但它们是加分项,不是必选项。没有也不用临时补,一个月前才建的仓库和三篇凑数的博客,面试官一眼就能看出来。
GitHub:质量比数量重要
把最能代表你的两三个仓库置顶,README 写清楚它解决什么问题、怎么用,有截图或在线演示更好。一个有真实用户和 Issue 讨论的小工具,胜过几十个教程跟写的仓库。
技术博客:写解决过的问题
面试官最爱看的是踩坑记录和方案对比,比如「一次内存泄漏的排查过程」。文档翻译和面试题汇总的价值相对低一些。在简历里挑两三篇代表作直接贴链接,比只放博客首页更容易被点开。
开源贡献:写清楚改了什么
给知名项目提过 PR,写成「为 Vite 修复了 xx 场景下的 HMR 失效问题(PR #12345,已合并)」,比「Vite Contributor」具体得多,面试官也能顺着链接看到代码。
17投递前检查清单
写完之后过一遍下面这些,能避开大部分低级失误。最好隔一天再看一遍,或者请一位同行帮你读,自己写的东西自己很难看出问题。
- 导出 PDF,在手机和电脑上都打开看一遍,确认字体、分页正常
- 篇幅不超过两页(资深可到三页),没有一页只剩两三行的尾巴
- 没有错别字,技术名词大小写统一(JavaScript、TypeScript、GitHub、webpack)
- 每段经历的时间连续,空窗期有交代
- 每一条都能回答「怎么做的」「为什么这样做」「结果怎么量的」
- 针对目标岗位调整过顺序:投 React 岗就把 React 项目放前面
- 文件命名为「姓名-岗位-手机号.pdf」
- 链接都能打开,电话和邮箱确认无误
- 把 PDF 里的文字全选复制到记事本,能完整、按顺序读出来,说明招聘系统也能解析
18写完之后:准备被追问
简历写完只完成了一半。面试官会顺着简历往下问,每个项目至少准备三层:做了什么、为什么这样做、还有什么可以做得更好。
自我介绍控制在两分钟内,直接讲最有亮点的一两个项目:遇到了什么难题、怎么解决的、带来了什么结果,不必展开技术细节。面试官往往会顺着你提到的点继续问,这样主动权就在你手里。
用简历分析预演追问
把简历交给简历分析,它会按面试官的视角列出每个技术点最可能被问的问题,并关联站内题库的参考答案。
每个数字准备好来源
简历里写的每个数字,都要能说出是怎么测的、在哪里看到的、前后对比的条件是否一致。这是面试官最常用来判断真实性的问题。
每场面试后复盘
记下被问到的问题,按掌握程度分类:答得好的、答得一般的、没答上来的。一般的和没答上来的优先补,再回头检查简历里对应的表述是否需要调整。
19常见问题
写简历时被问得最多的几个问题。
简历一页好还是两页好?
三年以内一页能写完就一页,写不完两页也没问题,关键是没有凑数的内容。五年以上两页比较常见。不要为了压到一页把字号缩到 9 磅以下,读起来费劲反而减分。
要不要放照片?
国内互联网公司大多不要求,放了也不加分。外企和部分传统行业更习惯不放。如果放,用简洁背景的正装或半正装照,别用生活照和自拍。
期望薪资要写在简历上吗?
不建议写。写高了可能直接被筛掉,写低了后面不好谈。招聘平台上通常有单独的期望薪资字段,在那里填就够了。
中文简历要不要再准备一份英文的?
投外企、出海团队或者 JD 是英文写的岗位,就准备一份。英文简历不是逐字翻译,要用动词开头的短句,比如「Reduced LCP from 3.4s to 1.7s by…」,篇幅也要更紧凑。
学历一般,要把教育经历放到最后吗?
社招本来就把教育经历放在最后,不用特别处理。校招如果学历没有优势,把项目和实习经历放到教育经历前面,让面试官先看到你做过什么。
简历上的项目一定要是公司项目吗?
不一定。有深度的个人项目、开源贡献同样有说服力,有时甚至更好,因为所有决策都是你做的。写的时候同样交代背景、难点和结果,有用户量或 Star 数就写上。
用 AI 帮忙写简历可以吗?
可以用来整理结构、检查表述,但内容必须是你自己的经历,数字必须是真实的。AI 写出来的句子容易千篇一律,面试官看多了一眼就能认出来,生成之后要按自己的实际情况改写。