简历生成

把姓名、求职意向、联系方式、技能和工作经历填进结构化字段,一键拼成纯文本或 Markdown 两版简历,并顺带算出 ATS 关键词匹配率与描述量化率。

总字符数326
汉字数136
行数16
技能项6
ATS 匹配率66.7%
描述量化率50%
张伟
求职意向:前端开发工程师
电话:13800138000 | 邮箱:zhangwei@example.com | 城市:杭州
工作年限:5 年 | 学历:本科

【专业技能】
JavaScript、TypeScript、React、Vue、Webpack、性能优化

【工作经历】
杭州云图科技有限公司 · 高级前端工程师 · 2021.03-至今
- 主导管理后台重构,首屏加载从 4.2s 降到 1.1s,页面跳出率下降 23%
杭州星芒网络科技有限公司 · 前端工程师 · 2019.07-2021.02
- 负责活动页开发与维护,配合后端联调接口

【教育经历】
浙江大学 · 计算机科学与技术 · 本科 · 2015.09-2019.06

提示:文本框里按 Ctrl + Enter(macOS 用 Cmd + Enter)生成;上面这份是默认示例的纯文本结果,点「生成简历」或切到 Markdown 格式会即时重排。所有拼接都在本页完成,不上传任何字段。

使用方法

  1. 先把 8 个单行字段填完:姓名、求职意向、电话、邮箱、城市、工作年限、学历、输出格式。示例是「张伟 / 前端开发工程师 / 5 年 / 本科」,打开页面即可看到结果。
  2. 技能用逗号或换行分隔,示例 6 项:JavaScript,TypeScript,React,Vue,Webpack,性能优化。中英文逗号都认,重复项自动去掉。
  3. 工作经历每行一条,字段用竖线 | 分隔,顺序固定为 公司|职位|起止|描述。示例 2 条,第一条描述带数字、第二条没有——这正是量化率 50% 的由来。
  4. 教育经历同样每行一条,格式 学校|专业|学历|起止,最多 5 条。
  5. 目标岗位关键词从招聘 JD 复制,逗号分隔,最多 30 个;工具会把它们与整份简历正文逐词比对。
  6. 点「生成简历」(或在任一单行输入框里按 Enter)刷新结果;切换「输出格式」会立刻重排,不必再点按钮。
  7. 「复制简历」带走当前文本,「下载 .txt」存成 UTF-8 文件,「重置为默认示例」还原全部字段。

这个简历生成工具能解决什么问题

一是把「排版」和「内容」拆开做。用 Word 写简历时,一半时间花在调对齐、改行距上,改一个字段就要重排半个文档。这个简历生成工具把姓名、经历、技能拆成独立字段,行距和分隔符由模板统一负责——示例 16 行结果全部由 6 项技能和 2 段经历拼出,没有一处需要手工对齐。

二是让机器先看懂,再让人看懂。中大型企业的招聘系统(ATS,Applicant Tracking System)会先把简历解析成结构化字段再入库,解析失败的简历在 HR 界面上可能只剩乱码。字段化录入天然按「职位—公司—时间—描述」的边界排列,比自由排版更容易被规则解析器切开。

三是把「我做了很多事」翻译成「我做成了什么」。工具统计描述里含数字的条数比例,即量化率。示例两条经历一条带数字(首屏 4.2s 降到 1.1s、跳出率下降 23%)、一条纯叙述,量化率 50%,提示你补上另一条的可度量结果。

四是按岗位改一版而不是重写一版。把招聘 JD 里的硬性要求填进「目标岗位关键词」,工具直接给出匹配率。示例 6 个词命中 4 个,缺 组件库 和 Node.js,你就知道该往哪段经历里补这两个词,而不是通篇改写。

本页不做这些事:不导出 PDF 或 Word(避免内嵌中文字体与排版引擎)、不做配色与头像模板、不替你编造措辞。要按岗位生成一段自述,请用页面底部的「简历摘要生成器」;要起草随附材料,请用「简易合同生成器」与「清单生成」。

生成原理:字段拆分、模板拼接与两个自检指标

第一步是拆字段,靠的是竖线而不是逗号。工作经历用 公司|职位|起止|描述 四段式,切分就是 line.split('|').map(s => s.trim())。不用逗号,是因为「提升 30%,成本下降 20%」这类描述本身就带逗号,会让字段数对不上而报错;竖线在中文里几乎不出现在公司名或句子内部。这也是 CSV(RFC 4180)用逗号定界时必须给字段加引号的原因。

第二步是模板拼接。纯文本版把章节标题写成 【专业技能】、条目用 、 连接、行首用 - 当项目符号;Markdown 版换成 ## 专业技能 与一级标题 #。两版共用同一份字段数据,只是渲染模板不同——示例里两版汉字数一样(都是 136),字符数却从 326 涨到 396,多出的 70 个字符全是标记符号。

第三步是 ATS 匹配率。把「目标岗位关键词」按英文逗号切成数组,逐个用 String.prototype.includes 在整份简历正文(统一转小写后)里查一次,命中数除以关键词总数即得匹配率,示例是 4÷6 = 66.7%。这是字面子串匹配而非语义匹配:填 React 时,写「React 生态」能命中,写「前端框架」则不算——所以关键词要照抄 JD 的原文,别做同义改写。

第四步是描述量化率。统计规则只有一条正则 /\d/:某条经历的「描述」字段里出现过任意数字字符,就记为一条「可度量」经历。示例 2 条里 1 条含数字,量化率 50%。这条指标服务的是 STAR 法则里的 R(Result,结果)——写清楚 Situation(情境)、Task(任务)、Action(行动)而漏掉 Result,是简历里最常见的短板,而 Result 十有八九可以用一个数字表达(时长、比例、数量、金额)。

关于行数口径。纯文本版按 \n 切分统计行数,示例 16 行;Markdown 版为分隔段落插了空行,同样内容变成 27 行。字段的 maxlength 限制的是 UTF-16 码元而非行数,中文占 1 个码元、emoji 占 2 个,它的作用只是防止误粘贴整篇文档。

完整示例(数值仅作演示)

示例条件与这个简历生成工具打开页面时的默认值完全一致:张伟 / 前端开发工程师 / 5 年经验 / 本科 / 纯文本格式 / 6 项技能 / 2 段经历 / 6 个岗位关键词。实测指标如下:

同一份数据切到 Markdown 格式后,字符数升到 396,比纯文本多 70 个字符(增幅 21.5%),行数从 16 变成 27,而汉字数仍然是 136。下表把两种输出的差异摆在一起:

对比项纯文本(默认)Markdown
章节标题【专业技能】## 专业技能
总字符数326396(+70)
汉字数136136(不变)
行数1627

下面这段就是示例在纯文本格式下的真实输出,你可以直接拿它去对照自己填的字段:

张伟
求职意向:前端开发工程师
电话:13800138000 | 邮箱:zhangwei@example.com | 城市:杭州
工作年限:5 年 | 学历:本科

【专业技能】
JavaScript、TypeScript、React、Vue、Webpack、性能优化

【工作经历】
杭州云图科技有限公司 · 高级前端工程师 · 2021.03-至今
- 主导管理后台重构,首屏加载从 4.2s 降到 1.1s,页面跳出率下降 23%
杭州星芒网络科技有限公司 · 前端工程师 · 2019.07-2021.02
- 负责活动页开发与维护,配合后端联调接口

【教育经历】
浙江大学 · 计算机科学与技术 · 本科 · 2015.09-2019.06

输入范围与对照表

每个字段的范围与超限动作如下,右列是填错时会看到的提示:

字段允许范围超限/填错的动作
姓名1~20 字符,必填拒绝生成,提示「姓名不能为空」或「最长 20 字符」
求职意向1~30 字符,必填拒绝生成,提示这一项是 ATS 判定匹配的首要字段
电话6~20 位,只允许数字、+、-、空格拒绝生成,回显你填错的内容
邮箱须形如 name@example.com拒绝生成,提示缺少 @ 或域名部分
工作年限0~50,允许 0.5 的倍数拒绝生成,提示允许半年粒度
技能1~20 项,逗号或换行分隔0 项拒绝生成;超过 20 项提示「堆太多会稀释重点」
工作经历1~10 条,每行至少 3 段段数不足会指到具体第几行
教育经历0~5 条,每行至少 3 段超过 5 条拒绝生成
岗位关键词0~30 个留空时匹配率显示为「未设置」,不报错

下面这张长表是「弱表述 → 量化改写」对照清单,共 16 条,表中数字均为改写示范。点「加载更多」逐条展开,点「复制对照表」以 TSV 格式带走,可直接粘进 Excel。

弱表述(面试官看不到结果)量化改写方向(示范)
负责后台开发主导 3 人团队完成后台重构,接口平均响应从 800ms 降到 120ms
参与活动页开发独立交付 12 个活动页,单页转化率平均提升 8%
优化页面性能首屏加载从 4.2s 降到 1.1s,跳出率下降 23%
维护组件库沉淀 60 个业务组件,被 8 条产品线复用
处理用户反馈月均闭环 200 件工单,平均解决时长从 3 天缩短到 8 小时
带新人带教 4 名实习生,转正率 75%
做数据分析搭建 15 张核心看板,替代每周 6 小时的手工报表
写接口文档覆盖 120 个接口,联调返工率下降 40%
做测试补充 300 条用例,线上缺陷率下降 35%
负责服务器运维管理 40 台实例,可用性从 99.5% 提升到 99.95%
参与需求评审评审 60 个需求,上线后返工减少 25%
做客服支持日均接待 80 人次,满意度从 88% 提升到 96%

边界与舍入说明

常见问题

纯文本版和 Markdown 版,投递时到底该用哪个?

看投递渠道。网申系统、企业官网表单、招聘 App 的「粘贴简历」框绝大多数只吃纯文本,Markdown 的 # 与 ** 会原样显示成噪声符号。GitHub、技术博客、Notion 这类支持 Markdown 渲染的地方,用 Markdown 版更整齐。两版汉字数完全一样,切换不会丢内容。

为什么工作经历要求用竖线分隔,不用逗号?

因为逗号在中文句子里太常见:描述里常有「提升 30%,成本下降 20%」,公司名也可能写成「杭州云图科技,有限公司」,用逗号切分会让一条经历被拆成五六段而报错。竖线几乎不出现在公司名或句子内部,冲突概率低得多。这也是 CSV 用逗号定界时必须给字段加引号的原因。

ATS 关键词匹配率是怎么算的?为什么我加了「组件库」没变化?

把关键词逐个转成小写,用 includes 在整份简历文本里找一次,命中数除以总数。示例 6 个词命中 4 个,即 66.7%。若你把「组件库」加进关键词但正文里没有这三个字,匹配率不会上升;要提上去,得把它写进经历描述或技能栏。

量化率多少算合格?没有数字的经历是不是就不能写?

工具只做提示,不给合格线。经验值是:核心项目经历最好每条都能落一个数字,整体量化率到 60% 以上比较扎实。确实有些工作难以量化(内部工具维护、流程梳理),可以退一步写「影响范围」——覆盖几个团队、服务多少用户、替代了原先多久的人工流程,这些都是可核对的度量。

为什么不做 PDF / Word 导出,只给文本?

在纯前端页面里生成正确的中文 PDF,需要内嵌中文字体子集和排版引擎,体积会翻几十倍,不同打印机上的分页也很难一致。文本是各家 ATS 与投递系统通吃的格式;确需 PDF 时,把文本粘进熟悉的编辑器再导出。

技能栏里中文词(比如「性能优化」)能当 ATS 关键词吗?

能,而且应该。国内招聘系统的关键词库大量是中文词,示例里的 性能优化 就是从 JD 抄来的中文词,已被命中。别写只有内部人看得懂的缩写,JD 里没有的写法匹配不上,HR 也读不懂。

工作年限填 5 和填 5.0 有区别吗?小数怎么处理?

没有区别,两者输出都是「5 年」。步长设 0.5 是为了容纳「实习半年」「3 年半」这类真实情况,填 5.5 会输出「5.5 年」。工具不对年限做任何取整或换算,也不会拿它去推算起止时间,你填几就是几。

一段经历描述写多长合适?一条经历最多几行?

工具不限制描述长度(字段整体上限 2000 字符),但版式上建议一段经历控制在 2~4 行。超过 4 行会挤掉后面更重要的内容,面试官扫读时也抓不到重点。示例两条描述各一行,属最精简的写法。

相关工具