沈沐白

AI 应用前端工程师 · 上海 · 5 年经验

shenmubai@example.com · 138 0000 0000 · github.com/shenmubai

个人优势

  • 5 年前端经验,近 2 年负责企业知识问答与文档助手,关注流式交互、引用可追溯、失败恢复和用户信任
  • 能和模型、检索、后端团队一起定义事件协议,文本、引用、工具调用、错误分事件处理,而不是只拼接文字
  • 流式交互细节处理完整:可取消、迟到片段丢弃、超时与断网分开提示、原问题可重试
  • 长对话性能做过治理:消息虚拟化、Markdown 增量渲染、代码块延迟高亮,上千条消息下滚动依然流畅
  • 重视引用的可信度:引用卡带文档名、更新时间和段落定位,打开前重新校验权限,无权限不泄露摘要
  • 做过文档上传与解析链路:分片上传、失败单文件重试、加密 PDF 和扫描件给出明确原因
  • 会用数据迭代 AI 功能:记录「上传 → 可检索 → 首次提问」漏斗,改进等待说明后首次提问转化提升约 8 个百分点
  • 熟悉 AI 功能的测试方法,维护流式测试样例(空回答、乱序事件、重复结束、工具失败、超长代码块)
  • 有前端安全意识,修复过搜索高亮拼接 HTML 带来的 XSS,模型输出一律按不可信内容渲染
  • 会写 Node.js 服务,能自己搭 SSE 网关和简单的检索接口,和后端讨论方案时能看到全链路
  • 技术栈:React、Next.js、TypeScript、SSE 流式输出、状态机、Vitest、Playwright

工作经历

某企业协作公司 · AI 应用前端工程师

2024.02 — 至今 · 上海

负责企业知识助手,产品连接文档库、工单和会议纪要,面向约 300 家企业客户。前端 5 人,与检索和模型团队共用一套问题反馈看板。

  • 流式交互:早期回答断流后只显示“失败”,用户需要重新提问。和后端约定消息 ID、序号与终止原因,前端缓存已收到的段落并支持续传;网络抖动下的回答丢失反馈从每周十余件降到 2 件以内
  • 引用定位:用户反馈“答案像是编的”,无法核对来源。设计答案中的段落引用卡,点击跳转文档对应位置,权限不足时明确提示;抽样评估中,可追溯回答占比从约 55% 提升到 90%
  • 长对话性能:大型工单会话包含大量表格与代码块,重新渲染整个列表导致输入卡顿。按消息分片维护状态,长列表做虚拟化,Markdown 解析结果缓存;100 条消息的会话中输入响应保持在 100ms 左右
  • 上传体验:文档导入可能需要数分钟,原页面只显示旋转图标。按上传、解析、索引三个阶段显示状态和失败原因,允许取消与重试;由于重复上传造成的客服工单下降约一半
  • 质量闭环:差评时收集问题类型、引用是否正确和匿名 traceId,避免上传原文到埋点。每周和检索团队复盘高频问题,先修权限与检索噪声,再讨论提示词调整

某在线办公公司 · 前端开发工程师

2021.07 — 2024.01 · 杭州

负责文档编辑器和搜索页,产品日活约 6 万,前端小组 7 人。

  • 将搜索结果按文档、评论和附件分组,关键词高亮仅对可信文本节点处理,修复直接拼接 HTML 带来的 XSS 风险
  • 为编辑器引入操作日志与断网暂存;弱网环境下保存失败时明确展示“仅在本机”,避免用户误以为已同步
  • 对大型文档的目录和评论侧栏做按需渲染,浏览器内存占用下降约三成,长文档滚动明显更顺畅

项目经历

企业知识问答工作台

2024.03 — 至今 · 某企业协作公司 · 主导开发

React / TypeScript / SSE / TanStack Query / Playwright

用户可在同一对话里提问企业知识库、引用文档并发起后续操作。实际难点是权限、慢任务与不确定的模型结果。

  • 前端按事件类型处理文本、引用、工具开始、工具完成和错误;显示正在做什么,但不把内部模型推理过程当成可验证事实展示
  • 请求支持 AbortController 取消;取消后不再拼接迟到的流片段。超时与网络断开分开提示,用户可在原问题上重试
  • 引用卡带文档名称、更新时间与段落定位,链接在打开前重新检查权限;无权限时不泄露摘要
  • 和测试制定可重复的流式测试样例:空回答、乱序事件、重复结束、工具失败和超长代码块;上线前灰度 10% 客户观察断流与负反馈比例

AI 文档导入与审阅

2024.09 — 2025.04 · 某企业协作公司 · 核心开发

Next.js / React / TypeScript / Web Worker

客户一次上传几十份资料,解析、切块、索引在服务端异步执行;前端需说明每份文档的可用状态。

  • 上传前做大小、扩展名和文件头检查;超大文件分片传输,单文件失败可重试而不影响其他文件
  • 大量文件的状态更新按帧合并,列表只渲染可视区;上传 100 份文档时界面仍能响应取消与筛选
  • 解析失败给出具体原因,如加密 PDF、扫描件无法识别、权限不足;上传完成后引导用户用引用预览确认索引内容
  • 记录“开始上传→可检索→首次提问”的转化漏斗,发现多数流失发生在索引等待阶段,改进进度说明后首次提问转化率提升约 8 个百分点

对话消息渲染引擎

2023.03 — 2023.12 · 某在线办公公司 · 主导开发

React / Markdown AST / Shiki / Web Worker

长对话里模型会输出表格、公式和长代码块,原来每收到一个流片段就整段重新解析 Markdown,几十轮之后输入框都开始卡。

  • 改为增量解析:只重新解析最后一个未闭合的块,已完成的块缓存渲染结果
  • 代码高亮放到 Worker 里异步完成,流式输出时先显示纯文本,结束后再替换为高亮版本
  • 消息列表虚拟化,只渲染可视区附近的消息;一千条消息的会话里滚动和输入都保持流畅
  • 模型输出统一经过白名单清洗再渲染,链接打开前提示外部地址

教育经历

上海大学 · 计算机科学与技术

本科 · 2017.09 — 2021.06

常见问题

星芒时间轴简历模板有什么特点?

暮紫色时间轴串起各段经历,模块标题前一枚四角星,列表符号也是小星芒。星芒元素有一点科技感和创意感,适合 AI 应用、创意交互这类新方向的前端。

星芒时间轴适合什么样的人?

适合AI 应用和创意交互方向的前端。

  • AI 应用前端或交互设计较强的岗位
  • 经历时间连续,希望突出职业发展的脉络
什么情况下不建议用星芒时间轴?
  • 投递传统行业或政企岗位,星芒装饰会显得跳
用星芒时间轴写简历要注意什么?
  • 时间轴上每段经历开头写一句团队和业务背景,再列成果
  • AI 相关成果写清楚评测口径,例如引用正确率、用户反馈比例
  • 星芒列表比较活泼,条目内容要更扎实,避免整页显得轻飘
可以直接在招聘网站上在线投递吗?

可以,文字顺序正常,但版面带装饰元素。在线投递前导出 PDF,复制一遍文字,确认能完整读出来。

可以修改配色和简历内容吗?

可以。这套设计推荐 4 种配色,也可以自己取任意主题色;进入编辑器后,字体、字号、行距和模块间距都能单独调,简历内容随时可改。

下载的 Markdown 能自己编辑吗?

可以。下载的是完整的示例简历源码,可以在任意文本编辑器中修改;也可以直接使用本站编辑器导出 PDF。

相关模板

宽松时间线

单栏时间线,行距放宽、下划线标题,经历多也读得不累,适合经历丰富的前端工程师

暮紫左栏

低饱和紫色侧栏,有辨识度又不跳

经历时间轴

工作经历沿时间轴排开,跳槽路径一目了然

按岗位看完整范本

先看同方向的经历怎么写,再回到模板里调整版式。