生产部署与运维

共 20 题
#

1. MCP Server 的进程模型选择,stdio(本地子进程)vs HTTP+SSE(远程服务)vs Streamable HTTP,各自的部署拓扑、扩缩容和故障隔离

A 所有场景都应使用 stdio,因为最简单
B stdio 适合本地单机工具,远程可扩展服务用 Streamable HTTP,旧 HTTP+SSE 应迁移到 Streamable HTTP ✓ 正确答案
C HTTP+SSE 与 Streamable HTTP 完全等价,选哪个都行
D stdio 可以远程部署并水平扩展
#

2. MCP Server 的健康检查、重连和超时策略如何设计,Server 崩溃时 Host 如何优雅降级而非整体失败

A Server 崩溃时 Host 应整体失败,保证一致性
B 超时会导致失败,所以应设置无限超时
C 健康检查只需检查进程是否存活,无需就绪检查
D 通过健康检查、超时、指数退避重连与熔断,把崩溃的 Server 隔离并标记不可用,切换到备用或降级路径而非整体失败 ✓ 正确答案
#

3. MCP 在企业级部署中的网关层设计,认证代理、限流、日志聚合、Tool 级路由和灰度如何统一治理

A 每个 Server 应各自实现认证、限流与日志,避免单点
B 网关会破坏 MCP 协议,企业不应使用
C 网关只做认证,其他能力仍由各 Server 实现
D 网关统一治理认证、限流、日志、Tool 级路由与灰度,形成单一控制面,降低 Server 复杂度并保证策略一致 ✓ 正确答案
#

4. MCP Server 的版本管理与灰度发布,Schema 变更如何做向后兼容,新旧版本并行时 Client 如何选择

A Schema 变更可随时删除参数,因模型会自动适配
B 版本管理只影响 Server,不影响 Client 选择
C 灰度发布会导致新旧版本数据冲突,不应使用
D 用 SemVer 声明兼容性,Schema 变更保持向后兼容,新旧版本灰度并行,Client 通过版本协商选择兼容版本 ✓ 正确答案
#

5. MCP 无状态(stateless) 模式下服务端水平扩展:把多个 MCP server instance 放在 L4 LB 后面 round-robin 不再需要 session 共享的工程价值?

A 无状态模式下仍需 session 亲和与共享 session 存储,才能扩展
B 无状态模式只影响协议语义,不影响部署
C 无状态请求可被任意 instance 处理,round-robin 即可扩展,故障转移自然,无需 session 共享 ✓ 正确答案
D 无状态模式无法放在 LB 后面
#

6. MCP 无状态协议客户端用 server/discover RPC 获取能力列表(可选),而非强制 initialize 的工程取舍?

A discover 是强制的,客户端必须先 discover 才能通信
B initialize 在无状态协议中仍强制存在
C 无状态协议完全不需要能力协商
D discover 作为可选 RPC 提供能力发现,客户端可轻量启动、按需发现,配合调用时容错兼顾灵活与兼容 ✓ 正确答案
#

7. 故障演练,对 MCP Server、上游 LLM 与网络故障做注入演练,验证降级路径与重连是否真实可用?

A 故障演练只需在测试环境做一次,生产无需演练
B 注入故障会导致数据丢失,应避免演练
C 通过注入 Server、LLM 与网络故障,验证降级、重连、熔断与重试真实可用,并度量关键指标 ✓ 正确答案
D 故障演练只验证 Server 故障,不涉及 LLM 与网络
#

8. 容量规划,Tool 调用与 LLM 请求混合负载的压测方法、水位线与扩容触发条件如何确定?

A 用真实混合负载压测,按 CPU/队列/P99/错误率设定水位线,扩容触发与上游配额和成本联动 ✓ 正确答案
B 只需压测工具调用,无需考虑 LLM 请求
C 扩容只需看 CPU,无需看队列与延迟
D 容量规划只需一次,扩容条件无需调整
#

9. MCP Server 的性能优化,Tool 调用延迟预算、并发限制、连接池和结果缓存如何按业务 SLA 配置

A 所有工具调用都应无限并发,越快越好
B 结果缓存会返回过期数据,应禁用
C 按 SLA 分解延迟预算,用并发限制与连接池防资源耗尽,用结果缓存减少重复调用 ✓ 正确答案
D 并发限制会降低吞吐,应设无限大
#

10. MCP 在多租户 SaaS 中的隔离,每个租户连接独立 Server 实例 vs 共享 Server + 租户上下文注入的取舍

A 所有租户都应共享一个 Server 实例,成本最低
B 独立实例隔离强但成本高,共享实例成本低但依赖租户过滤,应按租户规模与安全需求选型并强制租户边界 ✓ 正确答案
C 每个租户必须独立实例,否则无法隔离
D 共享实例无法做租户隔离
#

11. MCP Server 的可观测性,如何将 Tool 调用 trace 接入 OpenTelemetry,与 LLM 推理 span 关联形成端到端链路

A 工具调用与 LLM 推理应分别记录,无需关联
B 用 OpenTelemetry 为工具调用与 LLM 推理建 span,通过 trace context 关联成端到端链路,按 trace id 回溯一次请求 ✓ 正确答案
C 可观测性只需记录工具名,无需耗时
D trace 无法关联到日志
#

12. MCP Server 的配置管理,环境变量、密钥注入、配置文件热更新如何与 12-Factor 原则对齐

A 配置与代码分离,非敏感配置走环境变量,密钥走密钥管理注入,变化频繁的配置走配置中心热更新 ✓ 正确答案
B 配置应硬编码在代码中,便于维护
C 密钥可直接写入环境变量并在日志中展示
D 配置热更新需要重启 Server
#

13. LLM 服务的扩缩容,请求排队深度、并发上限与弹性伸缩应如何与上游配额和成本预算联动?

A 扩缩容只看自身 CPU,与上游配额无关
B 并发上限应设无穷大,避免限流
C 队列深度与并发上限反映负载,弹性伸缩触发需同时确认上游配额充足并受成本预算约束 ✓ 正确答案
D 成本预算与扩缩容无关
#

14. 优雅停机与排空,发布或缩容时在途请求如何排空、会话如何恢复、连接如何优雅关闭?

A 停机时直接杀死进程,在途请求随之丢弃
B 有状态会话无法在停机时恢复
C 优雅停机只需关闭连接,无需排空
D 先摘除流量、排空在途请求、优雅关闭连接并通知客户端重连,配合会话恢复保证不丢请求 ✓ 正确答案
#

15. MCP Server 的容器化部署(Docker/K8s),资源限制、网络策略、Secret 挂载和镜像签名

A 用资源限制、NetworkPolicy 限制流量、Secret 挂载凭据、镜像签名与扫描保障部署安全 ✓ 正确答案
B 容器无需资源限制,K8s 会自动处理
C 镜像签名只影响构建,不影响部署
D 容器内务应用 root 运行,便于访问文件
#

16. MCP 生态的 Server 市场(Smithery、Glama、mcp.run)如何评估 Server 质量、安全性和活跃度

A 市场评分高的 Server 一定安全,可直接使用
B 只看下载量即可判断 Server 质量
C 从质量、安全性(源码审计/依赖扫描/权限)、活跃度(更新/维护者响应)多维度评估,市场评分仅作筛选 ✓ 正确答案
D 停止维护的 Server 仍可安全使用
#

17. MCP legacy HTTP+SSE transport 弃用 12 个月过渡期的迁移计划:何时全量切 HTTP Streamable?

A 过渡期结束应立即下线 legacy,无需验证
B 通过双跑、兼容测试、逐步切换,在全量 Client 升级且验证无回归后全量切 Streamable,并保留观察窗口 ✓ 正确答案
C 迁移只需切换 Server 端,Client 无需改动
D legacy HTTP+SSE 与 Streamable 完全等价,无需测试
#

18. 推理服务的可观测性,延迟、吞吐与 token 成本应如何归集到一次端到端用户请求?

A 延迟、吞吐与成本应分别统计,无需关联
B 成本无法归集到单次请求
C 用 trace id 关联一次请求的所有调用,在 span 记录延迟与 token,按单价归集成本,支持按用户/租户/模型分析 ✓ 正确答案
D 只需记录延迟,成本与吞吐无关要
#

19. 模型更新的灰度发布,新旧模型在同一批流量上的质量、延迟与成本对比应如何设计并支持自动回滚?

A 新模型应直接全量上线,无需灰度
B 灰度只评估延迟,不评估质量与成本
C 回滚只能人工操作,无法自动
D 按流量比例分流,在同一批流量上对比质量、延迟与成本,预设阈值触发自动回滚 ✓ 正确答案
#

20. 多环境配置漂移治理,dev/staging/prod 的 MCP Server 配置与依赖一致性如何保证?

A 各环境配置独立维护即可,无需统一
B 用配置即代码 + 依赖锁定 + 环境差异显式化,一套模板驱动各环境,并做一致性校验 ✓ 正确答案
C 依赖版本无需锁定,环境会自动解析
D 漂移只影响测试,不影响生产