模拟面试题库#
从各层架构文档中提取的全部面试问题索引。答案见对应的层文档。
跨层并发治理#
🔥 热点拷问#
- 你这个并发设计,本地跑 3 个 Worker、2 个执行槽,跟生产环境差距大不大?你怎么证明这套东西上了生产能用?
- ↳ 那执行槽用 Redis ZSET + Lua 做,Redis 本身是单线程的,如果争抢很频繁,Redis 会不会成为瓶颈?
- 为什么不用 Kafka?你说 Redis Streams 够用,但 Kafka 不是更成熟吗?
常规问题#
- 如果全局执行槽设置为 1 或 10 分别会怎样?
反思与改进#
- 这套并发设计的投入产出比怎么样?
API 接入层#
🔥 热点拷问#
- 你同时搞了同步 SSE 和异步队列两种入口,这不是过度设计吗?直接全部走队列不就完了?
- ↳ 那 SSE 长连接多了不会拖垮 API 进程吗?
- 你的限流用的固定窗口,不觉得粗糙吗?窗口边界突刺怎么办?
常规问题#
- Webhook 告警去重怎么做的?同一个告警反复推怎么办?
- Readiness 和 Liveness 为什么分开?
反思与改进#
- API 设计这块如果重来,你会改什么?
队列与缓冲层#
🔥 热点拷问#
- 你的两阶段消费,Phase 1 扫 4 条流 + Phase 2 BLOCK,这个切换开销大不大?
- ↳ 你说 15 分钟回收阈值是”诊断超时 10 分钟 + 5 分钟安全边际”,那如果诊断真的跑了 14 分钟呢?
- DLQ 里的任务你说要人工排查,有工具吗?实际怎么操作?
常规问题#
- 优先级队列真的有必要吗?场景能举个例子吗?
反思与改进#
- 队列设计过程中踩过什么坑?
编排与调度层#
🔥 热点拷问#
- 分布式执行槽为什么不用 asyncio.Semaphore 或 Redlock?
- ↳ 你说 Fail-Open,Redis 挂了 5 分钟,所有请求都不限流,LLM 不会被打爆吗?
- 重新入队为什么必须在 ACK 之前完成?能不能先 ACK 再入队?
常规问题#
- Pause/Resume 这个机制在审批场景下的实际效果如何?
反思与改进#
- 分布式执行槽有没有可能是过度设计?单机场景 asyncio.Lock 就够了吧?
智能体层#
🔥 热点拷问#
- 你这个 deep 模式,说起来很好听——多 Agent 并行取证、证据归并、RCA 裁决。但你实际跑过吗?deep 跑出来的结果真的比 fast 好吗?有数据吗?
- ↳ deep 的 Agent 之间不互相通信,只通过 Evidence 黑板交互。但如果 MetricAgent 发现 CPU 100%,LogAgent 发现 OOM 日志,这两个信息的关联怎么做?
- 考虑实际工程效果——如果电脑上有一个名为 svchost.exe 的恶意挖矿程序,你的系统光扫进程名能判断出来吗?
- ↳ 那你怎么保证不同告警、多次分析的路径和结果是准确一致的?LLM 本身就是非确定性的。
- 你说排查故障,能做到什么程度?能定位根因吗?能自动修复吗?
深度追问链#
- 如果 fast 和 deep 都跑了但结论不一样,你怎么办?
- ↳ 你怎么定义”正确的诊断”?有 ground truth 吗?
- ↳ 完全相同的输入,两次路径不同但结论相同,算一致吗?
- 知识库没覆盖、工具采集不到的场景,Agent 会不会胡编一个根因?
常规问题#
- Executor 为什么用 astream 而不是 ainvoke?
反思与改进#
- 如果重来,你还会选 LangGraph 吗?
- Agent 开发过程中最难的 bug?
Skill 系统#
🔥 热点拷问#
- 你的知识库里到底存了啥?这个项目看着不需要什么特别的知识吧。
- ↳ 那 RAG 在诊断过程中实际被调用了多少次?占诊断总时间的比例?
- 你的 Skill 是写死 4 个的,有没有想过渐进式披露——系统自动发现和生成 Skill?
- ↳ Skill Router 的分类准确率多少?有测过吗?
深度追问链#
- 你的 SOP 是公开的 awesome-prometheus-alerts,不是真正的企业 SOP。怎么证明对真实企业也有效?
- ↳ Skill Router 分类准确率 80%,重路由成功率 50%,端到端正确率是多少?你算过吗?
- ↳ SOP 本身写得不好或者过时了呢?知识库质量谁来保证?
常规问题#
- Skill-first 路由和直接暴露所有工具给 LLM,区别是什么?有量化数据吗?
反思与改进#
- 4 个 Skill 够吗?扩展的阻力在哪?
- Skill 设计最成功和最后悔的决策?
AgentHarness#
🔥 热点拷问#
- 预算控制你设了 token 上限和时间上限,实际跑的时候 token 消耗是什么量级?一次诊断花多少钱?
- ↳ 如果我要换一个 LLM Provider,改动量大吗?
常规问题#
- Transition History 有什么实际用处?不就是个日志吗?
反思与改进#
- AgentHarness 的设计初衷是什么?之前出过什么问题?
RAG 知识层#
🔥 热点拷问#
- 说实话,这个项目场景真用得上 RAG 吗?Agent 有 LLM 的训练知识,加上 MCP 工具实时取数据,RAG 的边际价值在哪?
- ↳ 那你有没有做过消融实验?对比有 RAG 和没 RAG 的诊断质量差异?
- 你既有 RAG 又有 LLM Wiki(见 Layer 7 第 7.4 节),这俩看着都是”存知识然后检索回来”,为什么要分成两层?只用其中一个不行吗?
- ↳ 那为什么不能只用 RAG?把诊断经验也切成 chunk 灌进向量库不就行了?
- ↳ 那反过来,为什么不能只用 Wiki?SOP 也让 LLM merge 进 Markdown 页面,召回时关键词匹配不就够了?
- 向量库为什么从 Milvus 迁到 pgvector?当初为什么不直接上 pgvector?
- ↳ 那 Qdrant 呢?它原生支持向量 + BM25 混合,不是更省事?
- ↳ 你的 BM25 索引以前是全量加载到内存的,数据量大了怎么办?
- 纯向量不够要加 BM25,那你有没有考虑过其他方案?比如 query rewriting、HyDE?
深度追问链#
- 如果做消融实验发现 RAG 贡献很小,你会怎么调整?
- ↳ 那 RAG 的价值到底是检索准确度还是别的什么?
- 向量维度 1024,chunk 几千条,用 Milvus 是不是大炮打蚊子?SQLite + numpy 就够了吧?(→ 这正是迁到 pgvector 的原因)
常规问题#
- 结构保护分块解决什么问题?
- RRF 的 k=60 怎么定的?调过吗?
反思与改进#
- RAG 在这个系统里最大的价值和局限分别是什么?
- 如果重来 RAG 这块怎么做?
工具与 MCP 层#
🔥 热点拷问#
- 你的 MCP 工具,实际使用中调用频率和准确度怎么样?有统计过吗?
- ↳ MCP 工具能采集到什么层面的信息?能发现隐蔽问题吗?比如进程伪装、隐藏端口?
- MCP 协议听起来很好,但每个工具调用都要走一次 HTTP 请求到独立进程,延迟开销值得吗?
- ↳ 那如果工具需要的参数 Agent 没给对,或者工具返回了错误结果,Agent 怎么处理?
深度追问链#
- MCP 工具输出是文本,Agent 怎么理解结构化数据?有没有出现过误解工具输出的情况?
- ↳ 你说可以扩展 security_server,但安全检测和运维诊断的知识体系完全不同,复用性有多高?
常规问题#
- 三层工具过滤和权限三态,会不会让系统变得太复杂?
反思与改进#
- MCP 协议的选择你满意吗?
- 工具层最大的教训?
存储与审计层#
🔥 热点拷问#
- 你的知识库只支持 Markdown 上传,实际运维知识可能在飞书、腾讯文档、Confluence、PDF 里。多源知识管理怎么考虑的?
- ↳ 增量同步具体怎么做?文档更新后旧的 chunk 怎么处理?全量重建索引吗?
- 你的 Postgres 8 张表,数据量大了之后查询性能怎么样?考虑过分区吗?
- Wiki 经验沉淀这个功能,有没有出现过”经验误导诊断”的情况?
- ↳ Wiki 为什么不用向量搜索做召回?
深度追问链#
- 多源同步你说”可以做但没做”,这话面试里说出来会不会减分?
- ↳ Wiki 用 LLM 合并诊断经验,合并质量有保证吗?怎么验证?
常规问题#
- 为什么同时用 Postgres 和 Redis,不能只用一个?
反思与改进#
- 存储设计如果重来你会改什么?
- 上线前还差什么?
全链路故障矩阵#
🔥 热点拷问#
- 你列了这么多故障场景,有没有真实遇到过?处理过吗?
- ↳ 如果让你给这个系统做一次混沌工程测试,你会怎么设计?
- 这个系统目前最大的技术短板是什么?如果给你一个月时间,你优先补什么?
反思与改进#
- 如果重来整个系统,架构层面你会怎么改?
- 开发过程中最有成就感的一件事?