面试知识库

面试文档构建规范#

本文件是 docs/interview/M*.md 系列面试文档的构建规范。每篇文档必须自包含——读一篇就够,不跳转到其他文档。


一、模块清单与来源映射#

编号模块名对应代码吸收旧文档
M0项目全景与架构串讲整体BP0 + INTERVIEW_QA Q20-Q22/Q33-Q34
M1AgentLoop 主循环与终止安全app/agent/main_agent.pyBP1 + QA Q1-Q1.1
M2同质 Fork 与并发控制app/agent/dispatch_tool.py, fork_guard.pyBP2 + QA Q2-Q4
M3三塔向量召回与精排管道app/recall/BP3 + QA Q8-Q9
M4上下文压缩与 Cache Breakpointapp/compress/BP4(压缩部分)+ QA Q10
M5跨会话偏好记忆与个性化app/memory/BP8 + BP4(记忆部分)+ QA Q11
M6WebSocket 实时通信与异步任务app/api/BP5 + QA Q12-Q13/Q27
M7数据 ETL 与 RAG 知识库scripts/, app/recall/rag.pyBP6 + QA Q18
M8Rubric 评测与零 GPU 迭代app/eval/BP7 + QA Q19-Q19.3
M9Harness 治理框架与 Hook Pipelineapp/harness/BP9 + QA Q14-Q16
M10单步断言与漂移检测app/harness/hooks/step_validator.py, drift_detector.pyBP10
M11动态工具权限与阶段状态机app/harness/hooks/phase_gate.pyBP11
M12BadCase 飞轮与规则自进化app/evolution/BP12
M13安全护栏与模型路由降级app/security/BP13 + QA Q14

旧文档(BP*.md + INTERVIEW_QA.md)在全部新文档完成后废弃。


二、统一文档结构#

每篇 M{N}-{名称}.md 必须包含以下七个板块,顺序固定:


四、构建原则#

  1. 自包含:读一篇搞定一个模块,不依赖其他文档。同一个概念在不同模块都用到的,在每篇里各自讲清楚,不写”详见 M{X}”。

  2. 从源码生成:每篇基于对应代码和 git 历史重新提取,不搬运旧 BP 文档的内容。旧文档只作为”有哪些点需要覆盖”的参考清单。

  3. 面试导向:所有内容服务于面试表达。流程讲清”怎么说”,踩坑讲清”为什么这么做”,问答覆盖面试官真实追问路径,前沿概念展示技术视野。

  4. 踩坑是工程坑不是代码 bug:见第二板块的 ✅/❌ 定义。

  5. 逐篇交付:一篇做完、审完,再做下一篇。建议顺序 M0 → M1 → M2 → … → M13。


五、文件命名#

docs/interview/M0-项目全景与架构串讲.md
docs/interview/M1-AgentLoop主循环与终止安全.md
docs/interview/M2-同质Fork与并发控制.md
...
docs/interview/M13-安全护栏与模型路由降级.md
plaintext

旧文件 BP*.md 在全部新文档完成后统一删除。