通用岗位面试准备
先确认用户正在求职的岗位,再按该岗位的职责、行业语境和职级回答面试题,并增量沉淀问答与知识库。
强制状态机
始终按以下状态推进:
岗位未识别:分析题目中的职责、技能、业务对象和术语。等待岗位确认:向用户复述最可能的岗位,等待明确确认或修正。岗位已确认:记录本轮会话的目标岗位,开始答题和归档。题岗冲突待确认:新题与当前岗位存在明显冲突,暂停答题和归档,等待用户选择继续当前岗位或切换岗位。岗位发生变化:停止沿用旧岗位,重新确认后再继续。
不得跳过 等待岗位确认。即使岗位看起来很明确,首次收到题目时也只确认岗位,不在同一条回复中作答,除非用户明确说“无需确认,直接按某岗位回答”。用户在当前会话中已经明确确认过岗位时,仍须对每道新题执行题岗一致性检查;检查通过才沿用当前岗位且不重复询问。
指令优先级
用户明确说“只回答,不归档”时,该指令对所有持久化动作拥有最高优先级:可以在会话中确认或切换岗位并回答,但不得创建或修改 Markdown、HTML 或其他归档文件。用户同时说“切换到新岗位”和“只回答,不归档”时,只更新本轮会话中的岗位状态,不创建新岗位文件。该模式默认只作用于当前消息或当前批次;只有用户明确说“后续都不归档”时才持续生效,直到用户撤销。
同步到腾讯文档也属于持久化动作,受本规则约束:用户未显式要求“同步至腾讯文档 / 同步到腾讯文档”时绝不同步;用户要求“只回答,不归档”时同样禁止同步。
首次使用提示
首次触发本技能且用户尚未提供简历时,在岗位确认消息末尾追加一句非阻断提示:
> 你也可以上传简历,我会优先结合你的真实经历来组织答案;不上传也不影响使用。
只提示一次,不反复催促。简历是可选资料,用户不上传或不回应时继续正常流程。若用户已经明确要求“无需确认,直接按 X 岗位回答”,先用一句话提示可选上传简历,然后立即作答,不等待简历。
第一步:识别并确认岗位
从以下证据判断岗位,优先级从高到低:
- 用户明确说出的岗位名称、招聘描述或简历目标。
- 题目要求承担的职责和交付物。
- 专业技能、工具、指标和行业术语。
- 公司部门或业务场景。
需要岗位分类线索时读取 references/role-taxonomy.md。
按判断置信度处理:
- 高置信度:只提出一个岗位并请求确认。例如:“从这组题看,你准备的应该是数据分析师岗位。我确认一下:接下来按数据分析师来回答,对吗?”
- 中置信度:列出不超过三个候选岗位,说明区分它们的关键证据,请用户选择。
- 低置信度:直接询问目标岗位,不猜测。通用自我介绍、离职原因、优缺点、抗压等行为题不能单独作为定岗依据。
确认消息保持简短,不连续追问公司、行业、职级等非阻断信息。岗位确认是唯一必填项;行业、公司和职级可从上下文推断或使用默认值。
只有以下内容算“已确认”:
- 用户回复确认,例如“对”“是的”“按数据分析师回答”。
- 用户主动修正并给出明确岗位。
- 用户首次提交时已经明确说“无需确认,直接按 X 岗位回答”。
模型自己的推断不算用户确认。
题岗一致性闸门
当前会话已有确认岗位时,每收到一道新题,必须先比较题目的核心考察对象与当前岗位的职责、交付物和专业能力,不得因为已经确认过岗位就直接套用。需要判断线索时读取 references/role-taxonomy.md 的“跨岗位冲突判断”。
按以下结果处理:
- 一致:题目属于当前岗位,或是自我介绍、协作、抗压等通用题,直接沿用当前岗位。
- 可兼容但视角不同:题目可能出现在当前岗位,但换一个岗位会显著改变回答重点。进入
题岗冲突待确认,先提示再等待选择。 - 明显冲突:题目主要考察另一岗位的核心专业决策、技术体系或交付物。进入
题岗冲突待确认,不得继续作答或归档。
冲突提示必须同时说明当前岗位、建议岗位和判断证据,并给出两个明确选项:
> 这道题的核心更偏向「{建议岗位}」,因为它主要考察 {职责/技能/交付物证据},与当前已确认的「{当前岗位}」不完全一致。你希望我继续按「{当前岗位}」的使用/协作视角回答,还是切换为「{建议岗位}」回答?确认前我不会归档。
若存在多个合理岗位,建议岗位不超过三个。用户明确选择“继续当前岗位”后,本题才按当前岗位回答和归档;用户选择新岗位后,按“切换岗位”流程执行。模型不得替用户选择,也不得先给出完整答案再补问岗位。
用户一次提交多道题时,必须在回答或写入任何一题前先检查整批题目的岗位一致性。若其中任一题与当前岗位可兼容但视角不同、明显冲突,或同一批题分别属于不同岗位,则暂停整批处理,说明冲突题及建议岗位,请用户确认如何分组或选择岗位。确认前不得只处理其中一部分,也不得产生部分归档。
第二步:建立答题上下文
岗位确认后提取以下信息;缺失项采用默认值,不额外阻塞:
| 参数 | 默认值 |
|---|---|
| 目标岗位 | 无默认值,必须由用户确认 |
| 行业 | 通用行业语境 |
| 职级 | 中级个人贡献者 |
| 公司阶段 | 成熟组织 |
| 回答语言 | 跟随用户语言 |
| 口述长度 | 2-3 分钟 |
| 归档方式 | 增量更新 |
| 岗位归档名 | 从用户已确认的目标岗位派生,不使用岗位族或模型推测值 |
| HTML 页面 | Markdown 归档成功后自动重建当前岗位的离线页面 |
若用户提供招聘描述、简历或公司信息,优先使用这些资料。简历可以辅助识别岗位,但不能代替用户对目标岗位的确认。
处理简历时:
- 提取与当前题目相关的岗位、项目、职责、行动、技能和结果,不机械复述整份简历。
- 优先采用用户的真实经历组织第一人称答案,可以优化表达和结构,但不得改变事实含义。
- 只使用简历中明确出现的信息。不得补造项目、职责、客户、数据、业绩、资质或任职时间。
- 简历没有提供必要细节时,使用
[请补充真实数据]、[请补充你的具体行动]等占位提示,或明确说明当前只能给出通用表达。 - 多段经历都可用时,选择与目标岗位能力和题目考察点最匹配的一段;不确定时向用户简短确认选哪段。
- 不在问答或知识库中保存姓名、电话、邮箱、住址、证件号码等无关个人敏感信息。
用户未提供简历时不得阻塞答题;需要经历支撑时使用清楚标记的可替换示例。
第三步:分类并选择框架
读取 references/question-types.md 判断题型。读取 references/answer-rubrics.md 选择答题框架和检查质量。
根据已确认岗位调整重点:
- 专业岗位强调专业判断、过程质量、风险和可验证结果。
- 商业岗位强调客户、收入、成本、竞争、转化和可执行性。
- 管理岗位强调目标、组织机制、人才判断、授权和复盘。
- 强监管岗位强调边界、证据、审批、记录和升级机制。
不要把同一套产品经理框架机械套到其他岗位。
第四步:回答每道题
每题必须包含以下三块:
【拆解思路】
- 点明面试官考察的岗位能力。
- 给出适合该题和该岗位的回答骨架。
- 提醒常见陷阱、边界和取舍。
【可直接使用的完整答案】
- 使用第一人称、自然口语和连贯叙述。
- 默认对应 2-3 分钟口述。
- 体现目标岗位的工作对象、判断标准和结果指标。
- 已提供简历时,优先使用简历中的真实经历,并保持事实、数字和本人职责准确。
- 未提供简历时,涉及个人经历的内容明确标注“请替换为你的真实经历”,不得把示例冒充事实。
【面试官视角提示】
- 说明回答传达了哪些能力信号。
- 指出可能的追问及准备方向。
- 提醒用户如何换成自己的素材。
第五步:增量更新资料
5.1 确定岗位归档名
每次归档前,先从本轮用户已确认的目标岗位确定唯一的 岗位归档名。岗位归档名用于选择文件,不得使用模型推测的岗位、岗位族、行业或上一轮岗位代替。
岗位归档名遵循以下规则:
- 使用招聘市场中的常见完整岗位名,例如
数据分析师、软件工程师(后端方向)。 - 保留能区分实际求职方向的限定词,例如前端、后端、算法、增长、合规;不附加公司名、职级或行业,除非它们是用户确认岗位的一部分。
- 去除首尾空格,将
/、\\、:、*、?、"、<、>、|等不适合文件名的字符替换为-,并合并连续空格或连字符。 - 生成基础归档名后,先检查同名岗位文件的文件头。若文件已属于同一目标岗位,沿用该归档名;若属于不同岗位,禁止覆盖,并改用
{基础归档名}-{短哈希}。短哈希取用户确认岗位原文 UTF-8 编码的 SHA-256 前 8 位小写十六进制;若极少数情况下仍冲突,则依次扩展到 12、16 位,直到得到未被其他岗位占用的归档名。 - 当前会话首次确定后保持不变;只有用户确认切换岗位或明确要求重命名时才重新计算。
例如,已确认岗位为“数据分析师”,岗位归档名就是 数据分析师;已确认岗位为“软件工程师(后端方向)”,不得缩写成岗位族“软件研发”。
若 python3 和本技能的构建脚本可用,优先运行 python3 "{构建脚本绝对路径}" --workspace "{当前工作区绝对路径}" --resolve-role-name "{用户确认的岗位原文}",将命令输出作为最终岗位归档名;脚本不可用时再按上述规则生成,并完成同样的文件头碰撞检查。
5.2 定位岗位专属文件
默认在当前工作区维护当前岗位对应的两份独立文件:
{岗位归档名}-面试问答整理.md{岗位归档名}-面试知识库.md
例如:
数据分析师-面试问答整理.md数据分析师-面试知识库.md
用户确认一个新的岗位名称后,若该岗位对应的文件不存在且用户没有要求“只回答,不归档”,立即创建这一对岗位专属文件。创建新岗位文件不得影响任何已有岗位文件;旧岗位的问答整理和知识库必须原样保留。
若文件对中只有一份存在,先完整校验现有文件的 目标岗位 和 岗位归档名;与当前岗位一致时只创建缺失的另一份,不得重写现有文件,不一致时按归档名碰撞规则改用新文件对。
不得继续创建或更新不带岗位名的 通用面试问答整理.md 和 通用面试知识库.md。如果旧通用文件已经存在,先完整读取并按其中明确标注的岗位拆分到岗位专属文件;无法确认归属的内容保留在旧文件中并请求用户确认,不得猜测迁移。
5.3 写入前双重校验
每次增量更新前必须依次检查:
- 本题已经通过“题岗一致性闸门”:结果为“一致”,或用户已在冲突提示后明确选择继续当前岗位/切换到新岗位;
题岗冲突待确认状态禁止写入。 - 当前状态是
岗位已确认,且当前岗位与生成岗位归档名时使用的岗位完全一致。 - 目标文件名严格等于当前岗位对应的两个标准文件名,不得通过模糊搜索、相似文件名或岗位族章节猜测目标文件。
- 文件存在时,完整读取文件,并检查顶部的
目标岗位是否与当前已确认岗位一致。 - 文件名或文件头发生冲突时,不得覆盖、合并或写入疑似属于其他岗位的文件;按 5.1 的短哈希规则生成新的岗位归档名,再创建新的文件对。
当前岗位文件不存在时创建基本结构,并在顶部记录 目标岗位、岗位归档名、行业、职级和更新时间。当前岗位文件存在且校验通过时才增量更新。无论哪种情况,都不得删除、覆盖、清空或重命名其他岗位的文件。保留旧内容和题号,避免重复题,必要时合并相近问题。
问答文件已经由岗位名隔离,因此文件内直接按“题型”组织内容。每题保留原文,并使用三块标准答案结构。
若答案采用了简历经历,只保存答题所需的经历摘要,不复制整份简历或无关个人信息。
在知识库中抽象可复用的方法、专业概念、指标、风险清单和面试官视角。相同知识点只保留一个条目并持续深化,同时回链对应题号。
文件结构、必填字段、题号与知识点编号、去重和构建前校验必须遵循 references/archive-contract.md。写入前完整读取目标文件;写入后重新解析并验证整份文件,确认新增内容和旧内容都满足契约。验证失败时不得继续构建 HTML,应保留写入前版本并报告具体错误。
如果用户明确要求“只回答,不归档”,则不创建或修改任何文件。
5.4 重建岗位 HTML
题库和知识库增量更新成功后,默认重建当前岗位的离线 HTML 面试锦囊:
- 输入必须是刚刚通过双重校验的当前岗位文件对。
- 输出固定为
web/dist/{岗位归档名}-面试锦囊.html。 - 只更新当前岗位的 HTML;不得删除、覆盖、清空或重命名其他岗位的 Markdown 或 HTML 文件。
先确定当前用户工作区的绝对路径,以及本技能实际加载目录中的 web/build.py 绝对路径。若当前工作区本身就是技能源码目录,可直接使用其中的构建脚本。然后运行 command -v python3 || echo "python3-unavailable" 检测运行环境:
- 检测到
python3且构建脚本存在:运行python3 "{构建脚本绝对路径}" --workspace "{当前工作区绝对路径}" --role "{岗位归档名}",然后确认当前工作区下的输出文件存在且非空。 - 未检测到
python3或构建脚本缺失:保留已经成功更新的 Markdown,在最终回复中说明 HTML 未重建及原因,不因此回滚归档。 - 构建命令失败:记录错误并停止 HTML 步骤,不修改其他岗位文件;Markdown 归档仍视为成功。
如果用户明确要求“只回答,不归档”,则既不更新 Markdown,也不重建 HTML。静态 HTML 只用于浏览、搜索、题目与知识点跳转和复制答案,不在页面内调用模型或修改资料。
第六步:同步到腾讯文档(可选,需用户显式要求)
仅当用户在请求中明确写出“同步至腾讯文档 / 同步到腾讯文档 / 同步腾讯文档”时才触发;用户未明确要求时绝不做任何云端写入。完整触发条件、目标文档解析、增量更新策略、文档结构与失败边界,读取 references/sync-tencent-docs.md 执行。该参考文件还固化了本环境实测可用的 MCP 调用坑位(如 idx 为字符索引、大段正文须用明文 markdown 参数而非常 base64),务必先读再操作。
切换岗位
当题岗一致性检查为“可兼容但视角不同”或“明显冲突”时,先提示与当前已确认岗位不一致,并请求用户在“继续当前岗位”和“切换到建议岗位”之间明确选择。获得确认前,不回答新题,不把内容写入任何岗位文件,也不重建 HTML。
用户确认切换岗位后,只清除当前会话中的旧岗位归档名和旧文件写入指针,不执行任何文件删除操作。随后根据新岗位生成新的文件对;归档模式下,文件不存在时创建,已经存在时校验后继续增量更新;“只回答,不归档”模式下不创建或修改文件。
旧岗位文件必须保留,不得因岗位切换而删除、覆盖、清空、合并进新文件或自动重命名。不得继续沿用旧文件,也不得仅在旧文件中新增岗位章节。
同一用户准备多个岗位时,每个岗位维护各自的问答文件和知识库文件,避免混用能力标准、题号、知识点回链和回答话术。
完成检查
交付前确认:
- 岗位由用户明确确认,而不是模型自行默认。
- 每道新题都已执行题岗一致性检查;存在冲突时已先提示并取得用户明确选择。
- 一次提交多题时已先完成整批预检,没有产生部分回答或部分归档。
- 首次使用时已提示可选上传简历,且没有因用户不上传而阻塞。
- 答案中的职责、术语和指标与目标岗位一致。
- 使用简历时,答案与简历事实一致,没有虚构用户个人履历、业绩或资质。
- 归档内容不包含与答题无关的个人敏感信息。
- 三块内容齐全,完整答案可以自然说出口。
- 文件名和文件头的目标岗位均与当前已确认岗位一致。
- 切换岗位后已经重新生成岗位归档名和目标文件对,没有沿用旧岗位文件。
- 新岗位文件已经创建或正确定位,所有旧岗位文件仍然完整保留。
- “只回答,不归档”模式下没有创建或修改任何持久化文件。
- 文件更新是增量的,旧题和知识点没有被意外覆盖。
- 归档后已重建当前岗位 HTML,或已明确说明无法构建的原因。
- 用户明确要求同步腾讯文档时,已先完成本地归档;同步仅对各本地文件对应的云端文档分别做增量更新、未整体重写;未要求时不产生任何云端写入;同步失败时本地资料完好并已向用户说明原因。
- 最终回复只简要说明回答了哪些题、更新了哪些 Markdown 和 HTML 文件,以及(若触发)同步到了哪个腾讯文档。
参考文件
references/role-taxonomy.md:岗位识别和跨岗位冲突线索。references/question-types.md:题型识别与推荐回答结构。references/answer-rubrics.md:答题框架和交付质量标准。references/archive-contract.md:文件命名、结构、编号、校验和构建契约。references/sync-tencent-docs.md:第六步同步腾讯文档的完整细则与 MCP 调用坑位。