面试口述稿 · 运维版(私有化大模型平台 · 直接练)
用途:面试前 15 分钟过一遍;每段出声朗读,控制在标注时长内。
环境锚点:207 Dify + LiteLLM/Higress + 116 vLLM + Langfuse + Prometheus(与作业 5~18 一致)。
HTML:
docs/html_cursor/面试口述稿_运维版私有化大模型平台_cursor.html
怎么练
| 步骤 | 做法 |
|---|---|
| 1 | 先通读四段加粗口述稿,不要背小字 |
| 2 | 每段计时:开场 30s;其余每题 45~60s |
| 3 | 面试官追问时,用每节下方「可展开一句」补细节 |
| 4 | 被问「你做过什么」→ 报 1 个作业编号 + 1 个 Runbook(见文末映射) |
1. 开场定位(30 秒)
口述稿(照读即可):
我是做中大型私有化大模型平台运维的。业务用 Dify/自研 Agent,模型走 vLLM,统一经网关限流与鉴权,观测用 Langfuse + Prometheus。我保证的是:调用可限流、链路可追踪、成本可熔断、配置可回滚、事故有 Runbook。
可展开一句(仅在被追问时):
- 限流/鉴权:LiteLLM
:4000或 Higress:18080,作业 13 主备与 429 Runbook - 追踪:Langfuse Trace + 作业 3 工具 Span;字段规范见作业 14
- 成本:作业 4 会话/日预算熔断;作业 14 Top10 与告警草稿
- 回滚:作业 17 LiteLLM 路由当配置发布;K8s
rollout undo - Runbook:Worker 宕机(作业 15)、上游 429/5xx(作业 13)、向量恢复(作业 16)
2. 被问「工具超时怎么办」
口述稿:
平台默认超时分层;可重试错误才退避重试;网关与工具出站都有熔断;耗尽后降级或人工;全程 Trace 可重放。
可展开(分层举例,选 2 点说):
| 层 | 本环境 | 动作 |
|---|---|---|
| 客户端 / Dify | TEXT_GENERATION_TIMEOUT_MS 等 | 用户侧先超时则断开,但上游可能仍在跑 |
| 网关 | LiteLLM timeout / 作业 13 主备 | 429/5xx 切 backup,勿无脑加倍重试 |
| 推理 | vLLM waiting 队列(作业 5) | 降并发、max_tokens,查 GPU |
| 工具 HTTP | OpenAPI 工具 → 8777/8779/8780 | ssrf 出站白名单(作业 18);失败写 Trace |
| 异步 | Celery dataset / ops_trace | Worker 停 ≠ API 健康(作业 15) |
收口句:「我会先 Langfuse 看是 generation 慢还是 tool Span 慢,再决定改网关超时还是查 Worker/上游。」
3. 被问「Token 烧飞了怎么办」
口述稿:
先按下应用配额止血,再查步数与重复工具调用,抓 Trace 交给开发,复盘是否缺平台默认 max_steps。
可展开:
- 止血:作业 4 日预算 / 会话 cap;网关或应用侧限流;必要时临时关非核心 Agent
- 查因:Langfuse 作业 14 八字段 —
prompt_tokens、completion_tokens、tool_name、是否同一session_id死循环 - Top10:作业 14 脚本看昨日哪几个
app_name烧最多 - 交给开发:导出 Trace ID + 工具调用次数 + 模型名;怀疑 Agent 缺
max_steps/ 工具重复入参 - 告警:作业 14 草稿 — 日 Token 突增 3 倍、错误率、P95 延迟
收口句:「运维负责配额与观测,根因修复在 Prompt/Agent 配置,但平台要提供默认步数上限和熔断。」
4. 被问「第 20 轮记忆丢了 / 上下文不对」
口述稿:
我侧先看会话存储与摘要任务是否失败、上下文是否触顶被截断;再和开发一起看记忆分层与关键召回。
可展开:
| 运维先查 | 怎么查 |
|---|---|
| Worker / 队列 | dataset、ops_trace 是否堆积(作业 15) |
| Redis / PG | 会话元数据是否写入;非「只猜模型坏了」 |
| 上下文触顶 | Dify/max_tokens、模型 context;专题十一/十二 空泡与截断 |
| 观测 | Langfuse 同一 session_id 多 Trace,对比轮次 token 是否陡增 |
| 和开发分工 | 运维:存储、队列、超时、熔断;开发:记忆分层、摘要策略、召回字段 |
收口句:「第 20 轮问题经常是存储或截断,不是单点模型故障;我会用 Trace 证明是平台层还是应用层。」
5. 备用口述(各 30 秒,有余力再练)
5.1 Worker 挂了用户什么感觉?
API 可能仍 200,但知识库一直「索引中」、Langfuse Trace 延迟;我会查 Redis
dataset队列 LLEN,隔离环境stop worker演练过,Runbook 在作业 15。
5.2 429 / 上游过载?
先降并发、切虚拟模型 backup,对照作业 13 安全并发;不在高峰加倍重试。Runbook 一页:429 / 5xx / 超时。
5.3 配置变更怎么发?
模型路由当配置发布:Git diff、备份 config、重启 LiteLLM、curl 验收、审计一行、能回滚;Deployment 发布带检查清单 PR(作业 17)。
5.4 安全与出站?
Agent 工具出站有白名单草案,877x 内网 + SSH/钉钉二次出站要审;L1 操作要签字;密钥轮换有 Runbook 骨架(作业 18)。
6. 口述稿 ↔ 作业映射(面试举证用)
| 面试关键词 | 举证 |
|---|---|
| 限流 / 429 | 作业 13 + LiteLLM 部署 |
| 延迟 / 健康检查 | 作业 12 + 作业 5 vLLM Agent |
| Trace / Token | 作业 3、14 |
| 成本熔断 | 作业 4 |
| Worker / 异步 | 作业 15 |
| 向量 / 备份 | 作业 16 + 15 备份清单 |
| 发布 / 回滚 | 作业 17 |
| 出站 / 密钥 | 作业 18 |
| SLA 大盘 | 作业 8 |
| 平台全景 | 作业 11 白皮书 |
7. 练完自检
- [ ] 开场 30 秒内说完五句「保证」
- [ ] 工具超时能说出「分层 + Trace 可重放」
- [ ] Token 能说出「配额止血 → Trace → 开发」顺序
- [ ] 记忆/多轮能说出「存储/队列/截断」先于「怪模型」
- [ ] 能随口举 2 个 Runbook 文件名或作业编号
*本文档为系列收尾:练口述 + 指向已交付 Runbook,面试深挖时再打开对应作业 HTML。*