name: star-story-extraction description: 将完成的工作转化为STAR面试故事(情境、任务、行动、结果)。在完成任务、准备行为面试或记录成就时使用。
STAR 故事提取
“你构建的每个功能都是一个等待被讲述的面试答案。”
目的
使用STAR方法将完成的工作转化为引人入胜的面试故事。这些故事展示真实的问题解决能力。
STAR 方法
| 组成部分 | 问题 | 重点 |
|---|---|---|
| S情境 | “背景是什么?” | 设置场景,解释问题 |
| T任务 | “你具体负责什么?” | 你的具体角色和责任 |
| A行动 | “你做了什么?” | 你采取的具体技术行动 |
| R结果 | “结果是什么?” | 影响、指标、改进 |
提取流程
步骤 1: 识别故事类型
你解决了哪种类型的问题?
| 故事类型 | 适用于类似问题 |
|---|---|
| 技术挑战 | “告诉我一个你解决的困难bug” |
| 功能实现 | “描述一个你引以为傲的功能” |
| 性能优化 | “你如何提高系统性能?” |
| 安全修复 | “告诉我一个你处理的安全问题” |
| 重构 | “描述一次你改进代码质量的经历” |
| 学习曲线 | “告诉我一次你快速学习某事的经历” |
步骤 2: 引导完成STAR
情境 (2-3句话)
“背景是什么?开始前存在什么问题或挑战?”
好的元素:
- 业务背景(为什么重要)
- 技术约束
- 问题的规模/影响
避免:
- 过多背景
- 无关细节
- 责备他人
任务 (1-2句话)
“你具体负责什么?你的角色是什么?”
好的元素:
- 清晰的所有权
- 具体范围
- 为什么是你来做
避免:
- “我们做了这个”(使用"我")
- 模糊的责任
行动 (核心内容 - 3-5句话)
“带我了解你采取的具体步骤。技术细节。”
好的元素:
- 使用的具体技术
- 问题解决方法
- 考虑的权衡
- 做出的技术决策
避免:
- 忽略如何做
- 技术术语堆砌
- “我只是实现了它”
结果 (1-2句话)
“结果是什么?可以量化影响吗?”
好的元素:
- 可能的指标(速度提升50%,生产环境零bug)
- 业务影响
- 你学到了什么
避免:
- “它工作了”(太模糊)
- 不提影响
故事质量检查清单
- [ ] 使用"我"而不是"我们"(展示所有权)
- [ ] 包括具体技术
- [ ] 展示问题解决
- [ ] 显示技术深度
- [ ] 如可能,有可衡量结果
- [ ] 讲述时2-3分钟
- [ ] 回答隐含的"为什么雇佣你?"
故事模板
# STAR 故事: [功能/问题名称]
**日期:** [完成时间]
**类型:** [技术挑战 / 功能 / 性能 / 安全 / 重构]
## 情境
[背景。存在什么问题?为什么重要?]
## 任务
[你的具体责任。要求你做什么?]
## 行动
[你采取的具体步骤。技术细节。展示你的思考过程。]
## 结果
[结果。如可能,指标。有什么影响?]
---
## 面试变体
这个故事可以回答:
- "告诉我一次你[某事]的经历"
- "描述一个你工作过的挑战性[某事]"
- "你如何应对[某事]?"
## 关键技术点提及
- [技术/模式 1]
- [技术/模式 2]
- [做出的决策/权衡]
示例: 好故事 vs 坏故事
坏故事
“我构建了一个登录表单。它有验证。它工作了。”
问题: 无背景,无挑战,无深度,无影响。
好故事
情境: 我们的SaaS应用在注册时出现了40%的流失,因为现有表单用户体验差且无实时验证,让用户沮丧。
任务: 我负责重建整个认证流程,重点是减少摩擦同时保持安全。
行动: 我使用React Hook Form实现了多步表单以提升性能,并添加了JWT认证和安全的刷新令牌轮换来处理长会话。关键挑战是平衡安全(短令牌过期)与用户体验(无突兀登出),我通过在过期前5分钟实现静默刷新来解决。
结果: 注册完成率提高了35%,并且自发布以来,我们未发生任何认证相关的安全事件。我构建的模式现在用于我们其他产品。
苏格拉底式故事问题
用这些问题指导初级人员:
- 寻找故事: “这个功能最难的部分是什么?”
- 增加深度: “当X发生时,带我了解你的调试过程。”
- 展示所有权: “你做了什么决策来塑造这个?”
- 量化结果: “你如何衡量这项工作的影响?”
- 面试连接: “如果面试官问及[主题],这个故事如何适配?”
常见故事错误
| 错误 | 修复 |
|---|---|
| “我们构建…” | 使用"我实现…" |
| 太长(10+分钟) | 缩减到2-3分钟 |
| 无技术深度 | 添加具体技术和决策 |
| 无结果 | 始终以影响结尾 |
| 只有顺利路径 | 包括克服的挑战 |
保存位置
故事保存到:
ownyourcode/career/stories/[日期]-[功能名称].md
示例: ownyourcode/career/stories/2026-01-15-jwt-auth.md