# 1. Knative Serving 的缩容到零(scale-to-zero)与冷启动原理是什么? A 缩容到零后无额外延迟 B 缩容到零省资源但首个请求需冷启动,运维需权衡最小副本与并发 ✓ 正确答案 C 冷启动只与镜像大小有关 D 缩容到零后请求无法唤醒
# 2. Knative 的 Activator 在缩容到零时如何拦截首个请求并唤醒实例? A Activator 只在有流量时工作 B 实例无需就绪即可转交 C Activator 不参与冷启动 D Activator 拦截冷启动请求、缓冲并触发扩容,实例就绪后转交流量 ✓ 正确答案
# 3. Knative 的流量分层(Queue Proxy)如何处理并发与限流? A Queue Proxy 只转发请求,不控并发 B Queue Proxy 限制进入容器的并发、超限限流并采集指标给 Autoscaler ✓ 正确答案 C 并发上限与扩缩容无关 D 排队无上限,可无限积压
# 4. OpenFaaS/函数计算 与 Knative 的运维模型差异? A 两者运维模型完全相同 B OpenFaaS 也依赖 Eventing 原生事件 C Knative 更 K8s 原生、能力强而复杂,OpenFaaS 更轻量易上手,扩缩容与事件模型不同 ✓ 正确答案 D Knative 不依赖 Kubernetes
# 5. Serverless 容器的冷启动延迟由哪些环节构成,如何优化(镜像/快照/预热)? A 冷启动只由镜像大小决定 B 就绪探测与冷启动无关 C 预热无助于降低冷启动 D 通过减镜像体积、层缓存/快照、预热实例多环节优化冷启动延迟 ✓ 正确答案
# 6. 事件驱动(Eventing)架构下,函数触发链的可观测与死信队列? A 用事件 ID 做端到端追踪,失败事件进死信队列并告警、人工介入 ✓ 正确答案 B 事件失败无需处理 C DLQ 与事件丢失无关 D 重试可无限进行
# 7. 函数平台的多运行时(容器运行时/custom runtime/扩展运行时)隔离与安全边界如何设计 A 所有函数共享权限即可 B 无需限制容器权限 C 函数间默认互通 D 用命名空间/安全上下文/内核隔离/网络与资源隔离设计多层安全边界 ✓ 正确答案
# 8. Knative Eventing 的 Broker/Trigger 模型如何做事件路由与运维? A Broker 直接把事件发给所有函数 B Broker 收事件,Trigger 按类型/源过滤并路由到目标函数 ✓ 正确答案 C Trigger 不做过滤 D 事件路由无需监控
# 9. Knative 的自动扩缩(KPA)与 HPA 的差异及运维选型? A KPA 按并发支持缩容到零,HPA 按资源且保最小副本,选型看负载特征 ✓ 正确答案 B HPA 也支持缩容到零 C 两者扩缩机制完全相同 D KPA 面向 CPU 指标
# 10. Knative 缩容到零后的“唤醒风暴”(突发流量)如何平滑承接? A 用预置并发、突发限流、快速扩容与队列背压平滑承接唤醒风暴 ✓ 正确答案 B 唤醒风暴无需处理,直接打爆即可 C 突发流量无需限流 D 队列可无限积压
# 11. Serverless 与常规 Deployment 混合部署时,节点资源争抢如何协调? A 函数可随意占用所有资源 B 常规服务无需资源保护 C 用 cgroup 限制、QoS/优先级与调度协调,防止函数挤占关键服务 ✓ 正确答案 D 混部无需隔离
# 12. Serverless 函数如何挂载有状态依赖(数据库连接池)而不耗尽? A 每个实例无限建连接即可 B 连接池与实例数无关 C 限制连接池大小与实例数联动、用连接代理/空闲回收与总量监控防止耗尽 ✓ 正确答案 D 连接无需回收
# 13. Serverless 场景下如何做容量压测而不触发无限扩容导致账单爆炸? A 设最大实例上限、并发控制、费用预算熔断与环境隔离,防止无限扩容 ✓ 正确答案 B 压测无需限制扩容 C 账单无需监控 D 压测可无限加压
# 14. Serverless 容器的启动依赖拉取(init container)过长如何加速? A init 拉取无法优化 B 用预热/镜像层缓存/并行/懒加载加速 init 依赖拉取,缩短冷启动 ✓ 正确答案 C init 与冷启动无关 D 依赖只能串行拉取
# 15. Serverless 按量计费的运维成本治理中闲置函数、配置过大与无限循环如何治理? A 成本只与调用量有关 B 配置过大无成本影响 C 治理闲置函数、调优内存配置、设超时与递归熔断防无限循环,并做成本分摊预算 ✓ 正确答案 D 无限循环无需防护
# 16. 事件 Schema 变更如何在函数间做兼容与灰度? A Schema 可随意变更,无需兼容 B 消费者无需声明版本 C 用向后兼容+Schema 版本化+灰度发布,保证事件演进不破坏消费者 ✓ 正确答案 D 新增字段可不加默认值
# 17. 事件源(Source)故障导致函数不被触发,如何发现与重试? A 事件源故障无需监控 B 无需心跳探活 C 事件丢失无法补救 D 用产生量/触发量对账发现漏触发,监控源健康并用重试与补偿兜底 ✓ 正确答案
# 18. 事件风暴(源端突发)下函数自动扩容的熔断与背压机制? A 事件风暴可无限扩容 B 背压无助于保护 C 用扩容上限、背压、熔断与死信降级保护下游,防止风暴打爆 ✓ 正确答案 D 熔断阈值无需设置
# 19. 事件驱动架构的端到端追踪(从事件产生到函数执行)如何串联? A 事件与函数执行无法关联 B 只追踪函数即可 C 日志无需关联事件 ID D 用事件 ID 与 trace context 传播,使事件产生到函数执行处于同一链路 ✓ 正确答案
# 20. 函数优雅停机(shutdown hook)与在途请求排空中发布与回收时如何避免请求中断 A 直接终止实例即可 B 在途请求无需排空 C 用 shutdown hook 停止接新、排空在途请求并设终止宽限期,滚动更新避免中断 ✓ 正确答案 D 就绪摘除与停机无关
# 21. 函数共享运行时(runtime)的隔离性与“邻座噪声”运维风险? A 共享运行时函数互不影响 B 噪声无需监控 C 用 cgroup 资源限制、独立运行时/节点与并发隔离治理邻座噪声 ✓ 正确答案 D 高负载函数无需隔离
# 22. 函数内存配置过小导致的 OOM 与隐性降速如何被监控发现? A 内存过小只导致 OOM 崩溃 B 用 OOM 事件+内存使用率+GC/交换+延迟指标发现显性崩溃与隐性降速,并调优 ✓ 正确答案 C 隐性降速无需监控 D 内存配置无需调优
# 23. 函数实例在闲置后突然被回收,导致请求毛刺,如何定位是调度还是资源? A 毛刺只能归因于资源不足 B 回收不会导致毛刺 C 拆解调度/拉取/启动/就绪各环节,区分调度还是资源问题,按根因优化 ✓ 正确答案 D 无需区分冷启动与热调用
# 24. 函数平台的并发模型(每实例并发 vs 每请求实例)对资源的影响? A 每实例并发省资源但共享,每请求实例隔离但开销大,按负载与隔离需求选型 ✓ 正确答案 B 每实例并发与每请求实例资源开销相同 C 每请求实例冷启动更少 D 并发模型与资源无关
# 25. 函数执行环境的地域就近调度对冷启动与延迟的影响? A 就近调度降低网络延迟与冷启动,但要区域容量充足并权衡成本 ✓ 正确答案 B 就近调度不影响延迟 C 就近调度与数据无关 D 区域容量无需考虑
# 26. 函数死信队列(DLQ)堆积的告警与人工介入流程? A DLQ 堆积无需告警 B 永久失败无需处理 C 设堆积阈值告警,人工区分可重试/永久失败并处理,修复根因防复发 ✓ 正确答案 D 堆积根因无需修复
# 29. 函数运行时逃逸风险(共享内核)如何缓解,是否需要 microVM 隔离? A 用加固+seccomp/gVisor/microVM 隔离,按租户风险等级选择隔离级别 ✓ 正确答案 B 容器逃逸不影响其他函数 C microVM 无成本 D 无需内核隔离
# 30. 函数链(编排)的超时传播与部分失败补偿如何运维? A 函数链超时无需控制 B 重试无需幂等 C 部分失败无需补偿 D 设链级超时、部分失败用补偿回滚、重试幂等并持久化状态,保证最终一致 ✓ 正确答案
# 31. 多事件源(HTTP/Kafka/对象存储)的统一可观测如何聚合? A 各事件源独立可观测即可 B 用统一事件模型+OpenTelemetry 统一追踪+指标日志聚合,按事件源维度关联 ✓ 正确答案 C 事件源无法统一追踪 D 无需统一事件 ID
# 32. 如何使用 eBPF 观测函数冷启动各阶段耗时分布? A eBPF 无法观测冷启动 B 只需观测总耗时 C 用 eBPF 跟踪调度/容器启动/拉取/初始化各阶段,定位冷启动瓶颈 ✓ 正确答案 D 冷启动阶段无需拆解
# 34. 平台层弹性调度器(如 KEDA/自研调度)在函数伸缩中的角色,与 Knative KPA 的协同边界 A KEDA 与 KPA 职责相同 B KEDA 负责外部事件积压伸缩,KPA 负责内部请求并发伸缩,按依据分工协同 ✓ 正确答案 C KEDA 无法触发 Knative D 两者无需协同
# 35. 生产函数冷启动 p99 过高,如何从镜像体积/启动脚本/快照多维度优化? A 冷启动 p99 无法优化 B 从镜像体积、启动脚本、快照预热多维度优化,并拆解各阶段定位瓶颈 ✓ 正确答案 C 只优化镜像即可 D 快照无助于冷启动
# 36. Serverless 函数的供应链安全(依赖/镜像)与短时运行带来的扫描难题? A 短时运行只能运行时扫描 B 无需签名镜像 C 依赖无需锁定 D 构建期扫描依赖/镜像、锁定版本、签名与 SBOM 追踪,把风险挡在发布前 ✓ 正确答案
# 38. 函数密钥注入(Secret)与短期凭证(STS)的运维实践? A 密钥可直接写进代码 B 长期密钥无需替换 C 用 Secret 加密注入、STS 短期凭证、定期轮换与最小权限保护密钥 ✓ 正确答案 D 密钥无需加密
# 39. 函数执行超时与资源限制(CPU/内存)的运维默认值与调优? A 超时越长越好 B 按业务类型设默认超时/资源,按实际负载调优,避免 OOM 或浪费 ✓ 正确答案 C 内存越小越好 D 资源无需调优
# 40. 函数日志分散且短命,如何聚合与关联排障? A 函数日志无需聚合 B 用日志 agent 聚合到统一平台、结构化带关联 ID,按 ID 关联排障 ✓ 正确答案 C 实例销毁后日志丢失即可 D 日志无需结构化
# 41. 函数消费消息队列(Kafka)时的重复消费与幂等如何保证? A 重复消费无害 B 消费无需幂等 C offset 提交不相关 D 用唯一键去重、幂等处理并合理管理 offset,保证重复消费无副作用 ✓ 正确答案
# 42. 函数版本(revision)管理与灰度流量(如 5% 新版本)如何运维? A 用 revision 版本化+流量比例灰度+指标观察+回滚,实现安全发布 ✓ 正确答案 B 新版本直接全量发布 C 灰度无需监控 D 旧版本无需保留
# 44. 大规模事件突发(十万级消息)下的背压与降级策略中限流、丢弃策略与重试补偿如何权衡 A 按事件优先级权衡限流/丢弃/重试补偿,背压降速防打爆 ✓ 正确答案 B 所有事件都重试保不丢 C 非关键事件可放弃丢弃 D 无需背压