V4 模拟面试题库#
V4 重构后的面试题库索引。答案见对应的层文档。 V3 版面试题库见
docs/layers/interview-questions.md(部分已过时,fast/deep 相关问题不再适用)。
Incident 状态机#
🔥 热点拷问#
- 你说 Incident 是第一类公民,但创建入口有多个(Webhook/手动/巡检),状态初始化不会出问题吗?
- ↳ 8 个状态会不会太多?incident.io 不是只有 active/resolved/declined 三个吗?
- 默认拒绝 + 行锁 + 审计日志放到一起性能怎么样?高并发下 Postgres 扛得住吗?
- ↳ RESOLVED 被拉回 INVESTIGATING,拉回上限 3 次——这个数字怎么定的?第 4 次是真新故障怎么办?
深度追问链#
- 告警和 Incident 解耦后,你的 L2 和 Alertmanager 的分组逻辑怎么协作?
- ↳ Alertmanager 的 group_by 设得很粗,一个 POST 混了不同服务的告警,L2 怎么拆?
- ↳
_ensure_investigating()补发两个事件推到 INVESTIGATING——审计日志里不会出现”没有实际工作”的迁移记录吗?
常规问题#
incident_transitions表会不会无限增长?有清理策略吗?- ESCALATED 是终态吗?人工介入后怎么关闭?
反思与改进#
- 如果重来,状态机这块你会改什么?
- 为什么不用一个正式的状态机库(transitions / pytransitions)?
L2 预处理 + 拓扑级联关联#
🔥 热点拷问#
- L2 是纯规则不进 LLM,但告警语义理解不需要 NLP 吗?“disk full”和”no space left”怎么聚合?
- ↳ 拓扑关联算法(Tarjan + 多跳 + 时序门)对于本地跑的小项目是不是过度设计?
- 告警风暴降噪率 80%——怎么测的?够吗?Alertmanager 不是已经做了一层?
- ↳ 静默根因——根因节点自己不告警,怎么保证找到的”共同祖先”真的是根因?
深度追问链#
- 自动发现的拓扑边一律
pending_review,没人审的话拓扑功能不是名存实亡?- ↳ 告警历史挖共现用条件概率 + lift,怎么过滤噪声?
常规问题#
- 去重窗口 600 秒、时间窗聚合 30 秒——默认值怎么定的?可以按 service 不同设置吗?
- 抖动检测——磁盘使用率在阈值附近波动就判抖动,不是 false positive 吗?
反思与改进#
- L2 预处理这块最大的遗憾是什么?
- 拓扑这块最大的技术挑战是什么?
分层自适应调查引擎(L3)#
🔥 热点拷问#
- 你说砍掉 fast/deep 换三级递进——fast/deep 是你自己设计的,现在又说它错了。你怎么确定三级递进不是下一个”被砍掉的设计”?
- ↳ Tier 1 在没有 MCP 工具的环境命中率恒为 0——最核心的功能在 demo 环境下根本不工作?
- Tier 3 的假设是 LLM 生成的——靠谱吗?会不会所有假设都指向同一个方向?
- ↳ 假设 3-5 条,取证是逐条的——第一条花了 5 分钟被证伪,剩下的来得及吗?
- 证据继承之前是”空管道”,你怎么保证现在真的工作了?
深度追问链#
- Tier 2 用同一套 pgvector + BM25 检索管道——历史 Incident 和知识库文档文本结构完全不同,适合吗?
- ↳ incident_vectors 表冷启动是空的——Tier 2 永远不会命中?
- ↳ Runbook 自增长——三个条件(置信度 + 人工确认 + 门禁通过)到达顺序不确定,怎么保证不丢?
常规问题#
- 为什么 Tier 2 限定 3 轮而不是 5 轮或 1 轮?
- BEST_EFFORT 的结论会写进报告吗?用户怎么知道这不是确定的根因?
反思与改进#
- 分层自适应调查引擎如果重来你会改什么?
- 从 fast/deep 到 Tier 1/2/3,你学到的最大教训是什么?
执行闭环 + 安全纵深防御(L5 + Security)#
🔥 热点拷问#
- 资源域建模——imagestore 只能清 docker 垃圾。“业务日志涨爆”怎么办?
- ↳ 那你的系统在自动化程度上不就很有限吗?大部分修复还是人工做的。
- CAS 漂移检测——容器在 crash loop 里反复重启,CAS 不会永远检出漂移?
- ↳ 三级验证门禁第三级”指标恢复”需要观察期,观察期内新告警进来怎么办?
- OWASP LLM Top 10 你列了四个——你的系统分别做了什么?还是只是列了名字?
深度追问链#
- 飞书审批超时降级 escalate_then_deny——审批人在飞机上,所有处置都被拒绝,告警堆积怎么办?
- ↳ 变更冻结窗口(freeze window)——大促期间全走审批不会把人累死吗?
常规问题#
- 读写分离——处置 worker 怎么知道要处置什么?信息传递通道是什么?
- 全链路审计——这些审计数据有人看吗?
反思与改进#
- 执行闭环这块最自豪和最后悔的设计?
- 安全设计如果重来你会改什么?
跨主题综合问题#
🔥 面试终极拷问#
- 整个 V4 重构的 ROI 怎么算?你怎么证明重构后比 V3 更好?
- 你说的”越用越准”飞轮(Tier 3 → Runbook → Tier 1),有没有可能越学越错?
- 这个系统上线前还差什么?如果给你一个月你优先补什么?
贯穿全链路的设计思想#
- 默认拒绝贯穿始终:状态机迁移默认拒绝、资源域动作默认拒绝、拓扑抑制默认关闭、自动发现的边默认 pending_review、Runbook 草稿默认 pending_review。
- “跑完 ≠ 解决”贯穿始终:Tier 1 命中 ≠ 解决(要过门禁)、处置完成 ≠ 解决(要过三级门禁)、BEST_EFFORT ≠ 确认(要交人工)、回滚成功 ≠ 解决(故障仍在)。
- 可审计贯穿始终:状态迁移有
incident_transitions、调查有investigations、工具调用有tool_calls、审批有approval_requests、执行有remediation_audit。 - 优雅降级贯穿始终:LLM 挂了 Tier 1/2 仍工作、embedding 挂了退 BM25、BM25 挂了退纯向量、拓扑推不出来就不推、探测不到就不处置。