使用方法
- 先把 8 个单行字段填完:姓名、求职意向、电话、邮箱、城市、工作年限、学历、输出格式。示例是「张伟 / 前端开发工程师 / 5 年 / 本科」,打开页面即可看到结果。
- 技能用逗号或换行分隔,示例 6 项:
JavaScript,TypeScript,React,Vue,Webpack,性能优化。中英文逗号都认,重复项自动去掉。 - 工作经历每行一条,字段用竖线
|分隔,顺序固定为公司|职位|起止|描述。示例 2 条,第一条描述带数字、第二条没有——这正是量化率 50% 的由来。 - 教育经历同样每行一条,格式
学校|专业|学历|起止,最多 5 条。 - 目标岗位关键词从招聘 JD 复制,逗号分隔,最多 30 个;工具会把它们与整份简历正文逐词比对。
- 点「生成简历」(或在任一单行输入框里按 Enter)刷新结果;切换「输出格式」会立刻重排,不必再点按钮。
- 「复制简历」带走当前文本,「下载 .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 个岗位关键词。实测指标如下:
- 总字符数 326(含空格与换行),汉字数 136,非空字符数 284;
- 行数 16,章节 3 个(专业技能、工作经历、教育经历);
- ATS 匹配率 66.7%:6 个关键词命中
JavaScript、React、TypeScript、性能优化,缺组件库、Node.js; - 描述量化率 50%:2 条经历里只有第 1 条描述含数字。
同一份数据切到 Markdown 格式后,字符数升到 396,比纯文本多 70 个字符(增幅 21.5%),行数从 16 变成 27,而汉字数仍然是 136。下表把两种输出的差异摆在一起:
| 对比项 | 纯文本(默认) | Markdown |
|---|---|---|
| 章节标题 | 【专业技能】 | ## 专业技能 |
| 总字符数 | 326 | 396(+70) |
| 汉字数 | 136 | 136(不变) |
| 行数 | 16 | 27 |
下面这段就是示例在纯文本格式下的真实输出,你可以直接拿它去对照自己填的字段:
张伟 求职意向:前端开发工程师 电话: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% |
| 负责招聘 | 年招聘 30 人,平均到岗周期从 45 天缩短到 28 天 |
| 做内容运营 | 产出 150 篇图文,账号粉丝从 1 万增长到 6 万 |
| 负责成本控制 | 年度采购成本降低 180 万元 |
| 搭建监控告警 | 覆盖 200 项指标,故障平均发现时间从 30 分钟降到 2 分钟 |
边界与舍入说明
- 技能去重只认完全相同的字符串。
React与react算两个技能(大小写不同),React与带尾空格的React会被trim()归一后合并。建议统一按 JD 的写法录入。 - ATS 匹配是大小写不敏感的字面子串匹配。这个简历生成工具会把正文与关键词都转成小写再比对,
JavaScript能匹配到javascript,但匹配不到JS缩写或同义词。示例里Node.js未命中,就是描述里没写这四个字符。 - 量化率只看「描述」字段。公司名、职位、起止时间本来就带数字(示例里的
2021.03),若把它们也算进来,每段经历都会自动变成 100%,指标就失去意义了。 - 行数不是质量指标。示例 16 行只代表字段填得少,不代表简历够用。按 A4 一页约 31 行的常见版式估算,一页正文大约能放 1300~1900 个汉字;示例 136 个汉字折合不到半页,属于「内容偏薄」,实际投递建议把每段经历补到 2~4 行。
- 工作年限最小步长 0.5。填
5与5.0都输出「5 年」,填5.5输出「5.5 年」。负数、超过 50、非数字一律拒绝,不会静默归零。 - 空描述不会留下孤立项目符号。某条经历的第四段留空时,那一行的
-会被整行省略。 - 时间格式不做校验。「2021.03-至今」「2019.07-2021.02」都按原样输出,工具不解析、不排序、不计算时长——招聘系统对时间的解析规则各家不同,擅自改写反而可能弄错。
- 姓名与邮箱会原样出现在每一份输出里。下载的
.txt是 UTF-8 无 BOM 编码;复制到电子邮件正文时若出现乱码,通常是对方编辑器默认按 GBK 解码,与本工具无关。
常见问题
纯文本版和 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 行会挤掉后面更重要的内容,面试官扫读时也抓不到重点。示例两条描述各一行,属最精简的写法。