# Interview Prep

> 为已经收到或即将参加各行业、各职能岗位面试的用户生成当前轮次的针对性准备文档。先确认公司、岗位、完整 JD、面试轮次和个人材料；自我介绍必须在隔离阶段只读取专用方法 reference 生成并冻结，再读取其他 reference 建立岗位画像、研究公司与高相关面经，输出公司与岗位认知、专业知识补齐，以及严格贴合目标公司的 15 道正式题和较完整参考答案。产品经理及以产品判断为核心的复合岗位必须覆盖行为动机题、工作职能题、开放业务题、产品实战题和费米估算题；面经原题优先，缺口再按母题动态生成。用户说“收到面试邀请了”“帮我准备某公司某岗位一面/二面/终面/HR 面”“根据 JD 准备面试”“结合我的经历做面试准备”时使用；简历项目深挖交给 experience-deepthink，本 Skill 不另建经历战斗卡，不进入一题一答模拟，也不处理笔试。

- Skill: `riwonswain-ovo/interview-prep` (Agent Skill, multi-file: 18 files)
- Install (CLI): `npx skillmds@latest add riwonswain-ovo/interview-prep`
- Raw SKILL.md: https://api.skillmd.com/api/skills/riwonswain-ovo/interview-prep/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: riwonswain-ovo (https://skillmd.com/u/riwonswain-ovo)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/riwonswain-ovo/interview-prep

---


# Interview Prep

围绕用户本次明确提供的面试目标和个人材料生成一轮一份的准备文档。外部资料用于理解公司、
组织与岗位场景和可能问题，不能替用户补造经历、职责、数字或答案。

运行相对路径前先从当前 `SKILL.md` 定位 Skill 根目录。

## 运行模式

本 Skill 的第一项动作是读取 `../.offerloop-runtime/references/installation-mode.md` 并运行模式
检查。OfferLoop 只支持飞书完整模式，使用用户明确选择的飞书材料并自动保存；只收集当前公司、
岗位、JD、轮次和所选个人材料，不执行用户画像门禁。

## 开工前材料路由

| 场景 | 必须读取 | 缺失时 |
|---|---|---|
| 针对公司准备面试 | 公司、岗位、完整 JD、轮次、当前简历、相关经历 | 私有空间唯一匹配自动读取；零个或多匹配时询问 |
| 方向版准备 | 岗位方向、至少一份简历或经历 | 明确缺少公司/JD造成的限制 |

开始研究和生成前简短列出本轮实际读取的材料；未读取明确必需材料时不得开始正式成稿。

## 分阶段前置读取

### 阶段 A｜隔离生成并冻结自我介绍

无论用户只要自我介绍，还是要生成完整面试准备文档，都必须先执行阶段 A。除当前 `SKILL.md`
和运行模式检查外，在阶段 A 开始前不得读取本 Skill 的其他 reference。

阶段 A 的顺序固定为：

1. 收集公司、岗位、JD、当前轮次、用户确认的简历与经历，以及当前任务中已经核验的公司事实；
2. 只读取 `references/self-introduction-method.md` 作为写作方法来源；
3. 生成自我介绍，仅按该文件的“交付前检查”检查，然后冻结结果。

上述公司、JD、简历、经历和已核验事实属于内容证据，不属于写作方法 reference。阶段 A 不得
读取或套用 `preparation-template.md`、`quality-gates.md`、面经检索方法、轮次规则、通用回答框架、
岗位适配文件、问题预测文件、岗位指南或 `voice-contract.md`；也不得先读完这些文件再声称只以
`self-introduction-method.md` 为准。事实不足时向用户确认；如确需核验一项公司事实，只做最小
事实检索，不读取其他面试准备方法文件。

若当前任务中已有用户明确确认的自我介绍，以确认版为底稿，只做用户要求的修改和必要的事实、
公司或岗位适配；除非用户明确要求推倒重写，不得因“重新调用 Skill”另生成一套表达。

只生成、改写或检查自我介绍时，阶段 A 完成后立即停止，不加载任何其他 reference。

### 阶段 B｜生成完整文档的其余部分

只有在自我介绍已生成并冻结后，完整面试准备文档才进入阶段 B，并按需完整读取：

1. `references/preparation-template.md`
2. `references/quality-gates.md`
3. `references/interview-source-search.md`
4. `references/round-preparation.md`
5. `references/answer-logic.md`
6. `references/role-adaptation.md`
7. `references/retrieval-blueprint.md`
8. `references/question-prediction.md`
9. `references/question-archetypes.md`
10. `../.offerloop-runtime/references/voice-contract.md`

阶段 B 的 reference 用于公司认知、专业知识、十五道题、参考答案和反问。组装完整文档时，必须
原样插入阶段 A 已冻结的自我介绍；不得让阶段 B 的模板、质量门禁、语言样本或岗位规则改写其
结构、篇幅、语气和选材。若后续研究发现自我介绍中存在实质性事实错误，只把修正后的事实带回
阶段 A，重新读取 `self-introduction-method.md` 后单独修正并再次冻结，不得直接在阶段 B 改写。

按需读取：

- 问题涉及行业、公司、竞品、业务策略、市场或冲突数据时，读取
  `references/research-reasoning.md`。
- 岗位画像明确命中产品发现、定义、设计、策略、平台建设或产品经营时，读取
  `references/role-guides/product.md`。
- 岗位属于 AI 产品、策略产品、商业化产品、C 端产品、商业分析、数据分析、市场、GTM、产品运营
  或策略运营时，读取 `references/role-guides/multi-role-decision-scenes.md` 的对应小节；复合岗位
  只读取真正相关的最小组合。
- 岗位画像明确命中 AI 产品、AIGC、大模型、Agent、模型/数据平台、AI+行业产品，或 JD 以
  AI 产品判断、设计和落地为核心时，在产品指南之后读取
  `references/role-guides/ai-product.md`。岗位实际偏算法、工程、销售、交付或运营时，不因
  标题含“AI”强制触发。
- 上述岗位或用户核心经历进一步强调 AI Coding、技术原型、应用搭建、Spec/SDD、API/数据库、
  测试、部署或生产交付时，再读取
  `references/role-guides/ai-coding-product-delivery.md`；只要求术语理解不足以触发。
- JD 明确涉及广告、投放、变现、商业产品、营销平台、会员/内购或商业中后台时，读取
  `references/role-guides/commercialization-product.md`；只出现“商业价值”不足以触发。
- 检索小红书和牛客前读取 `chrome:control-chrome` Skill，使用用户已有登录态。
- 读取 PDF、DOCX 等上传材料前读取对应文档 Skill。
- 用户选择从飞书读取经历深挖产物时，读取 `lark-wiki` 和 `lark-doc` Skill；只列候选标题，
  用户明确选择后才读取正文。
- 需要保存飞书时，读取 `lark-wiki`、`lark-doc` 和同级隐藏目录 `../.offerloop-runtime/references/artifact-contract.md`；脚本位于 `../.offerloop-runtime/scripts/artifact_contract.py`。
- 岗位或 JD 明确涉及 AI、AIGC、大模型、Agent、算法能力，或用户直接要求准备 AI 术语突袭
  时，从当前 Skill 定位兄弟 `experience-deepthink`，读取其
  `references/ai-concept-glossary.md`。直接概念题优先按“一句话本质—简明机制—相邻概念
  对比—PM 决策点”组织成 30–60 秒回答；有个人材料时再连接一条真实经历证据，不为连接而
  编造项目。

公司与岗位研究、回答组织可以在 Agent 会话中完成，但正式 OfferLoop 运行必须检查知识库、Base、
目录 locator 与权限。飞书目录、权限或 schema 未就绪时，引导用户运行安装器 `--setup` 完成或修复
初始化；不得把仅聊天交付描述成受支持的独立模式。
取得公司、岗位和轮次后，读取兄弟 `../recruiting-reminder/references/event-contract.md`，通过
`../recruiting-reminder/scripts/event_lookup.py resolve --json` 查询对应面试事件。唯一命中时自动
关联；多候选或未命中时才请用户选择、提供事件链接或确认独立准备，不得取第一条或按公司猜测。
事件只用于关联和回填，不替代用户本次明确提供的公司、岗位、JD 与轮次。

## 1. 确认本轮目标

获取以下硬输入，用户已提供的内容不得重复询问：

- 公司名称
- 岗位名称
- 完整岗位 JD
- 当前面试轮次

可选接收部门/业务线/职能方向、面试时间、招聘类型、面试形式和用户已知的面试官职能。JD 可
来自用户粘贴的正文、上传文件或用户指定的公开直达链接；不得用聚合招聘简介替代用户确认的
JD。

轮次支持一面、二面、三面/终面/负责人面、HR 面和轮次未知。轮次未知时先请用户确认；暂时无法
确认才生成通用版本，并明确深度限制。笔试停止本流程。

## 2. 建立岗位画像

按照 `references/role-adaptation.md` 从岗位名称和 JD 动态归纳：

- 行业与组织场景；
- 部门、业务线或职能方向；
- 岗位族及可能的复合属性；
- 核心工作对象、任务、交付物和指标；
- 招聘方希望验证的三至六项能力；
- 常见决策、取舍、专业风险和事实边界；
- 可能的面试形式、适合的检索来源和回答结构。

岗位画像是本轮内部适配依据，不是岗位白名单。优先级固定为：用户确认的 JD 与岗位信息 >
公司或专业领域的一手资料 > 高相关面经 > 通用岗位画像。复合岗位只组合真正相关的最小岗位族；
未命中预设岗位族时直接按 JD 动态建立，不停止、不强制归类为产品岗。

同时区分“第几轮”和“面试性质”。面试性质可为 HR/招聘沟通、专业职能面、技术面、案例面、
作品集面、业务负责人面、跨部门面、高管/终面或未知。邀请信息没有说明时不得冒充公司流程，
只按当前证据和默认启发式规则准备。

画像命中条件参考时只读取最小必要的岗位指南。复合产品岗最多组合与 JD 最相关的产品方向和
一个相邻专业指南，不能把指南拼成通用题库。

命中 AI 产品经理专项时，按照 `references/role-guides/ai-product.md` 把 JD 中的技术词转成
“理解、设计、落地”三类任务深度，建立业务场景、技术/数据链路、评测治理、算法协作和业务
价值的证据地图；不能把 AI 产品岗简单归为“产品 + 算法题”。

## 3. 确认个人材料

先询问用户是否使用过 `experience-deepthink`。

### 已有经历深挖

让用户选择材料来源：

1. 飞书 `03｜经历深挖`：只列候选标题和必要的岗位方向信息，由用户明确选择一份或多份后读取；
2. 用户上传的 `experience-deepthink` Markdown 产物。

不得自行选择、批量读取或默认读取全部经历深挖文档。允许用户指定一份主经历和若干辅助经历。
简历可作为可选补充，用于完善教育背景、履历主线和自我介绍。

### 没有经历深挖

要求用户上传一份简历，支持 PDF、DOCX、Markdown 或可读取的纯文本。只使用简历中明确披露的
事实；材料未说明的决策过程、数据口径、职责边界和反思写为“面试前待回忆”，不得补造。

至少取得一份经历深挖产物或一份简历后才开始研究。只有经历深挖、缺少完整履历时仍可继续，
但要明确自我介绍的信息边界。

### 上一轮准备

同公司、同岗位进入不同轮次时，询问用户是否要指定一份上一轮准备文档。只有用户手动指定后
才读取；不得自动搜索、匹配或读取历史准备文档。沿用已确认事实，改变问题权重和回答深度，
不能为新轮次改写事实。

## 4. 研究公司、岗位场景与面经

先执行 `references/retrieval-blueprint.md`：把 JD 拆成工作任务、对象、交付物、指标、专业能力、
协作关系、约束和加分项，再为每项核心能力生成有明确待回答问题的检索任务。随后执行
`references/interview-source-search.md`，用来源逐项填充检索任务，而不是泛泛搜索公司背景：

- 根据岗位画像选择高相关面经平台和专业来源；
- 小红书适用时最多精读并采用 5 篇高相关面经；
- 牛客适用时最多精读并采用 5 篇高相关面经；
- 少于 5 篇高相关内容时宁缺毋滥，不用低相关帖子凑数；
- 同时联网研究公司官网、部门/业务/职能资料、官方产品或服务、财报/披露、专业机构资料和与
  岗位相关的近期动态。

优先同公司、同部门/业务线/职能方向、同岗位、同面试性质且近期的面经。禁止把简历、经历
深挖、联系方式、面试邀请或其他私人材料输入外部平台搜索框或上传到平台。

面经用于发现真实问题和考察方式；公司和专业资料用于形成岗位场景判断。弱来源、过期信息和
推断必须明确标记，不能写成公司官方事实。

研究完成前，内部建立“面试情报矩阵”，把每项核心 JD 能力连接到公司/业务或组织事实、当前
问题或张力、岗位实际任务、可能验证方式、来源和证据强度。每项核心能力至少形成一条有效映射；
找不到公开信息时保留证据缺口，不用泛化背景补齐。

遇到行业、竞品、市场、业务策略或冲突数据时，按 `references/research-reasoning.md` 对齐定义、
时间和统计口径，区分事实、推断、候选人判断与未知，并把研究最终落到目标岗位的行动或风险。

## 5. 整合并生成

内部按以下顺序工作，不把候选池、评分和冗长覆盖表原样放入成品：

```text
JD 拆解 → 检索任务 → 面试情报矩阵
→ E1–E6 候选问题池 → 语义去重与分轮排序
→ 五类覆盖审计 / 基础风险题 / 正式十五题 → 个人参考答案与证据缺口
```

先按 `references/question-prediction.md` 从面经、JD、公司/业务动态、岗位专业知识、用户经历
钩子以及本轮面试性质六类信号生成 25–40 道候选问题，记录每题的预测依据、关联能力和可用个人
证据。再按 `references/question-archetypes.md` 检查动机、履历、个人贡献、专业方法、决策、
协作、失败和系统判断的覆盖；问题原型只做覆盖审计，不能替代证据驱动的预测。

用户个人经历的深挖题不进入正式准备模块，统一路由到 `experience-deepthink`；个人材料只用于
自我介绍和相关正式题的真实证据。通用但高风险的问题仅在完成公司化、业务化和岗位化改写后
进入候选池；不能改写时保留为内部提醒。

AI 术语只选择与 JD、面经或用户经历高相关的少数概念，不把正式十五题改造成通用术语测验。概念
回答必须包含产品决策含义；项目材料没有相应机制时，不以“会解释术语”包装成做过该项目。
AI 产品岗位涉及项目证据时，只在相关正式题中标明项目成熟度、具体实例、指标口径、个人所有权
和限制；这些内容只从用户材料取得。术语按“本质—相邻概念—PM 决策—项目边界”组织，没有
使用过的机制明确说没有，不为形成答案而嫁接。

按照 `references/preparation-template.md` 组装完整文档，只包含：

1. 阶段 A 已隔离生成并冻结的 1—2 分钟人岗匹配式自我介绍；
2. 公司、业务与岗位认知和本轮必要的专业知识补齐；
3. 15 道只有了解公司、组织场景、专业领域或岗位背景才能针对性回答的问题及较完整参考答案；
4. 当前轮次适用的候选人反问；
5. 实际采用的面经、官方资料、财报和可靠行业资料直达链接。

十五道题优先采用高相关面经题，语义去重后不足 15 道再根据已读取的可靠资料、公司业务赛道、
岗位性质和五类母题生成。每题标明“面经原题”
“面经问题归纳”或“基于公司/组织/专业资料生成”，不得把 Agent 生成题伪装成面经原题。
每道正式题至少由两类有效信号支持，且其中至少一类来自面经、JD 或公司/业务事实；Q1–Q3
通常应由三类以上信号共同支持，或属于高度匹配的面经原题。
产品经理及以产品判断为核心的复合岗位，十五道题必须覆盖行为动机题、工作职能题、开放业务题、
产品实战题和费米估算题，每类至少一题；剩余题量按面经证据、公司赛道、JD、岗位性质和轮次
动态分配。按本轮优先级分为 5 道必练、5 道重点、5 道了解，但十五题均提供较完整、可直接练习
的参考回答，优先级只影响排序和展开篇幅，不允许退化为关键词提纲。

自我介绍只能在阶段 A 生成、改写或检查，并以 `references/self-introduction-method.md` 作为结构、
证据选择、公司化改写、时长和追问钩子的单一方法来源；进入阶段 B 后，通用回答规范不得覆盖或
回写已冻结结果。
十五道参考答案遵守 `references/answer-logic.md`。答案必须同时体现岗位场景理解和用户真实经历；
个人材料没有证据时标记缺口并给出诚实口径，不生成万能答案或伪个人化内容。技术、
案例、销售、设计、研究和专业判断题使用各自适合的内部推理骨架，但对外仍保持结论先行。归纳/
演绎标签和内部逻辑检查默认不展示；用户看到记忆链和自然口语答案即可。

1—2 分钟自我介绍始终是正式版本。只有群面/短时开场、用户明确需要或邀请信息显示时间受限时，
才额外提供 30 秒压缩版。候选人反问按已确认的面试官性质和本轮证据适配；不得仅凭“一面/
二面”推断对方层级。

阶段 A 只依据当时已确认的公司、JD、轮次和面试性质事实调整自我介绍；阶段 B 再根据岗位画像、
轮次和面试性质调整十五道题、回答深度和反问，不回写自我介绍。默认轮次模型只是启发式规则；
公司官方信息、用户明确说明或高相关面经提供更可靠证据时，以证据为准并说明依据。

## 6. 检查、聊天交付与保存

完整执行 `references/quality-gates.md`。红线失败时先修正；关键个人材料或可靠来源不足时交付
明确标注限制的版本，不得称为完整准备。

在聊天中交付完整文档并保持来源和事实边界一致。完整结束、用户暂停或时间到时自动：

1. 按产物契约生成 `run_id`、确定性标题和正式 Markdown；
2. 使用 `validate-markdown --content-only` 校验 Markdown；正文不显示“产物信息”、生成状态、
   生成 Skill、`run_id`、locator 或其他内部运行元数据；
3. 保存到 `04｜面试准备`，标题为 `面试准备｜<公司>｜<岗位>｜<环节>｜<日期>`；
4. 返回真实文档链接。

完整准备保存 `completed`；暂停或提前结束保存 `incomplete` 并保留缺口与续做清单。文档保存成功
且事件已唯一关联时，读取该记录当前 `面试准备文档`，再把含 `"kind":"prep"` 的 JSON 通过 stdin
交给 `event_lookup.py backfill --input - --json`
生成最小 patch 并自动回填；已有相同链接时 no-op，已有其他链接时报告冲突且不覆盖。回填临时失败
在当前执行中最多尝试 3 次，仍失败则记录精确 record ID、字段、URL 和 `run_id` 后停止；不得后台
补偿。只有用户明确要求重试时才补失败 patch。`run_id` 不写入标题或正文。保存失败时保留聊天中的
完整文档和原 `run_id`，不得声称已写入飞书。

保存成功后不创建或更新岗位能力地图。本轮 JD 要求、面试重点和待验证问题只保留在当前准备文档中，不写入跨任务能力结论。

## AI 产品专项来源边界

AI 产品经理岗位指南由用户提供的 AI PM 通用课程、Agent/RAG/Prompt/Workflow/MCP/模型训练
材料、AI Agent 项目案例与 AI 面试复盘交叉提炼。只吸收稳定的岗位验证维度、项目证据标准和
术语回答方法；公司业务、模型能力、价格、竞品和招聘趋势必须在本轮重新研究，不吸收固定题单、
参考答案、示例项目数字或个人面经中的公司流程推断。

AI Coding 与产品交付准备视角由用户提供的 AI Coding 课程、Codex 入门和生产项目实操提炼。
只吸收参与层级、Spec—验收、系统边界、Harness、测试安全和生产证据；工具能力、入口、价格
和当前推荐必须重新核验，账号凭据和课程项目结果不得进入准备答案。

