# 1. Nacos、Sentinel、Seata 与 RocketMQ 组合使用时,配置、注册和事务故障应由哪些独立降级策略处理 A 各中间件的降级策略应相互独立,避免局部故障级联放大 ✓ 正确答案 B 配置中心故障时注册中心也应停止服务,避免状态不一致 C 四个中间件应共享同一个降级开关,统一切换 D 降级策略应优先保证配置一致性,牺牲可用性
# 2. Spring Cloud Alibaba Nacos Config 在 K8s 动态配置下 Spring Boot 4.0 @RefreshScope 的热更新延迟 A 配置变更后立即生效,无延迟 B 热更新只刷新被 @Value 注入的字段,不涉及 Bean C 延迟由配置感知、事件触发与 Bean 重建三环节共同决定 ✓ 正确答案 D K8s 环境下配置变更不会产生任何额外延迟
# 3. Spring Cloud Alibaba Nacos 与 Eureka 2.x 停止维护后,在 Spring Boot 4.0 中的迁移路径 A 可采用双注册过渡期,逐步验证灰度后再下线 Eureka ✓ 正确答案 B 迁移时只需替换依赖,无需关心 instanceId 与 namespace 映射 C 必须一次性切换,不支持双注册过渡 D Eureka 停维后 Spring Boot 4.0 仍强制使用 Eureka
# 4. Spring Cloud Alibaba Seata 在 Spring Boot 4.0 中使用 AT 模式与 Spring @Transactional 的事务悬挂检测 A 全局事务超时与分支锁冲突检测是检测悬挂的关键手段 ✓ 正确答案 B 悬挂事务会自动释放全局锁,无需任何机制 C @GlobalTransactional 与 @Transactional 的拦截顺序无关紧要 D 悬挂事务只影响性能,不影响数据一致性
# 5. Spring Cloud Alibaba Sentinel 1.8.8 与 Resilience4j 2.x 在 Spring Boot 4.0 中功能对比与选型 A Resilience4j 原生提供动态规则推送与控制台 B 两者在 Spring Boot 4.0 中集成方式完全一致 C Sentinel 具备流控、熔断、系统自保护等一站式能力,且支持动态规则下发 ✓ 正确答案 D Sentinel 是纯函数式库,不含控制台
# 6. Spring Cloud Alibaba 在 Spring Boot 3.5+ 中对 Jakarta EE 10 的迁移与 API 兼容性 A 业务代码无需改动,javax 命名空间自动兼容 B Jakarta EE 10 仅影响配置,不影响依赖库 C Spring Cloud Alibaba 的注解 API 会彻底改变 D `javax.servlet.*` 需迁移为 `jakarta.servlet.*`,并升级容器 ✓ 正确答案
# 7. Spring Cloud Alibaba 在 Spring Boot 4.0 + 虚拟线程下,Sentinel 调用链上下文传递如何保证 A 虚拟线程与平台线程的 ThreadLocal 语义完全一致,无需处理 B 虚拟线程下应改用显式 entry/exit 或 ScopedValue 传递上下文 ✓ 正确答案 C Sentinel 上下文与线程无关,天然安全 D 虚拟线程场景下 Sentinel 无法使用
# 8. Spring Cloud Alibaba 在 Spring Boot 4.0 中整合 SkyWalking 与 OpenTelemetry 的链路追踪兼容 A 两者协议相同,可直接互通 B Spring Boot 4.0 只支持 SkyWalking,不支持 OTel C 应用必须同时部署两套 agent 才能兼容 D 可通过 OTLP 接收器或 SkyWalking 导出器实现数据互通 ✓ 正确答案
# 9. Spring Cloud Alibaba 的 schedx 分布式任务调度 A 提供任务注册、分布式调度、分片路由与失败重试能力 ✓ 正确答案 B 是单机定时任务框架,仅支持本地执行 C schedx 与 Nacos、Sentinel 完全无关 D 不支持任务超时与幂等控制
# 10. 分布式 ID 生成方案(雪花算法、号段模式、UUID)在微服务中如何选型,时钟回拨、趋势递增与存储友好性如何权衡 A UUID 对存储最友好且趋势递增 B 雪花算法依赖时钟,时钟回拨会导致 ID 重复或乱序 ✓ 正确答案 C 号段模式完全依赖机器时钟 D 三种方案都无需任何协调
# 11. 升级 Spring Boot、Spring Cloud 与 Spring Cloud Alibaba 时,如何根据发布列车和兼容矩阵制定验证顺序 A 三个组件可随意升级,互不约束 B 升级只需看 Spring Cloud Alibaba 版本即可 C 应先查兼容矩阵,再按 Spring Boot→Spring Cloud→Spring Cloud Alibaba 顺序逐级升级验证 ✓ 正确答案 D 升级后无需依赖树检查
# 12. 在 Kubernetes 已提供服务发现时继续使用 Nacos 有何收益与重复治理成本,如何选择单一事实源 A 应明确单一事实源,将 Pod 级连通与业务治理路由分工 ✓ 正确答案 B 两套服务发现必然冲突,必须二选一 C K8s 的服务发现一定优于 Nacos D 双服务发现不会产生任何治理成本
# 13. 在 Spring Cloud Alibaba 微服务中实现统一异常处理与 Sentinel 熔断降级联动 A 应通过 @RestControllerAdvice 与全局 BlockExceptionHandler 将限流熔断统一映射到标准错误码 ✓ 正确答案 B BlockException 应当作普通业务异常处理 C 降级响应不需要可观测 D 业务异常与限流异常应返回完全相同的错误码
# 14. 微服务拆分后分布式数据一致性有哪些总体方案,本地消息表、TCC、Saga 的选型路径如何依据一致性与复杂度决定 A 所有场景都应选强一致的 2PC B Saga 提供强隔离性 C TCC 无侵入,适合任何业务 D 本地消息表适合能接受异步最终一致的场景,复杂度低 ✓ 正确答案
# 15. 微服务接口幂等性如何设计,去重表、幂等 Token 与状态机三种方案分别适用什么场景、如何防范并发重放 A 去重表依赖数据库唯一约束,token 依赖 SETNX 原子占用 ✓ 正确答案 B 先查后插的校验方式足以防止并发重放 C 状态机方案不依赖状态字段 D 三种方案互斥,不能组合使用
# 16. 微服务的反模式(Distributed Monolith) A 分布式单体比传统单体更易维护 B 共享数据库与共享库是分布式单体的典型表现 ✓ 正确答案 C 服务间同步调用越多越算是健康的微服务 D 分布式单体获得了独立部署的能力
# 17. 微服务的 12-Factor App 原则 A 配置应硬编码在代码中 B 应用实例应保持会话状态以便复用 C 日志应写入本地文件而非标准输出 D 进程应保持无状态,配置通过环境变量注入 ✓ 正确答案
# 18. 微服务的 API Gateway(Spring Cloud Gateway/Kong/APISIX) A Spring Cloud Gateway 基于 Servlet 阻塞模型 B 网关可承担路由、鉴权、限流、灰度等统一治理职责 ✓ 正确答案 C Kong/APISIX 只支持 Java 插件 D 网关应保持有状态以支持会话
# 19. 微服务的去中心化与"smart endpoints and dumb pipes" A 管道应承担协议转换与业务编排 B 业务逻辑应集中在 ESB 中 C 智能端点负责业务逻辑,管道只做简单消息传递 ✓ 正确答案 D 该原则要求管道必须具备智能
# 20. 微服务的可移植性(Cloud Native Buildpacks) A 需要开发者手写 Dockerfile 才能构建 B 自动探测语言依赖并生成可复现的 OCI 镜像 ✓ 正确答案 C 只支持 Java 语言 D 构建结果不可复现
# 21. 微服务的可观测性(Metrics/Logs/Traces) A Traces 用于定位一次请求在服务链路上的环节 ✓ 正确答案 B Metrics 用于记录事件详情,Logs 用于量化告警 C 三大支柱相互独立,无需关联 D 日志即可满足所有可观测性需求
# 22. 微服务的多语言栈(Polyglot)的取舍 A 多语言栈一定能降低运维成本 B 多语言栈无需统一通信协议 C 多语言栈带来技术自由,但也增加运维与共享成本 ✓ 正确答案 D 多语言栈能保证所有服务性能最优
# 23. 微服务的容错(Resilience4j/Hystrix/Sentinel) A Hystrix 是当前主流且持续维护的熔断库 B Sentinel 不支持限流 C Resilience4j 提供重试、熔断、限流、舱壁等可组合能力 ✓ 正确答案 D 容错只需重试,无需隔离
# 24. 微服务的文档(OpenAPI/Swagger) A 文档应由人工维护,与实现解耦 B Swagger 只能用于调试,不能作为契约 C 文档在生产环境应无条件开放 D OpenAPI 是描述 REST API 的标准,可自动化生成并校验契约 ✓ 正确答案
# 25. 微服务的服务发现(DNS/注册中心) A DNS 服务发现能提供实例健康检查与权重等精细信息 B DNS 服务发现不存在任何缓存延迟 C 注册中心服务发现支持健康检查、权重、元数据与灰度 ✓ 正确答案 D 服务发现只有客户端发现一种
# 26. 微服务的演进(Microservices 2.0) A 强调进一步拆分服务,越多越好 B 2.0 与 1.0 无本质区别 C 2.0 放弃了模块化,全部拆成独立服务 D 通过 Service Mesh 与平台化把横切能力下沉,让业务无感 ✓ 正确答案
# 27. 微服务的版本管理(API Versioning) A 删除字段属于兼容变更,无需升版本 B 版本管理只对公网 API 有意义 C 版本越多越好,无需废弃策略 D URL 路径版本、请求头版本、查询参数版本是常见方式 ✓ 正确答案
# 28. 微服务的边界划分(业务域/团队/数据) A 应按技术分层拆分为服务 B 边界应依据业务域、团队与数据所有权划分 ✓ 正确答案 C 多个服务可共享同一个数据库表 D 边界划分应频繁变动以保持灵活
# 29. 微服务的边车(Sidecar)与 Service Mesh(Istio/Linkerd) A 控制面由所有 Sidecar 组成,负责流量处理 B Sidecar 与应用生命周期无关 C Service Mesh 只能用于 Java 应用 D 数据面处理流量,控制面负责配置下发与证书管理 ✓ 正确答案
# 30. 微服务的部署与发布策略(蓝绿/金丝雀/滚动)如何选择,发布安全与回滚如何保障? A 蓝绿部署需双倍资源但回滚快 ✓ 正确答案 B 金丝雀部署一次性全量切换 C 滚动部署期间新老版本不存在并存 D 发布无需考虑数据库兼容性
# 31. 微服务的链路追踪(Sleuth/Zipkin/Jaeger) A Zipkin 负责生成 TraceID B TraceID 用于标识一次请求,SpanID 用于标识单个服务调用 ✓ 正确答案 C 链路追踪只适用于单体应用 D 上下文无需跨服务传播
# 32. 微服务调用链如何通过 Micrometer Observation 贯通网关、Feign、消息和数据库的追踪上下文 A TraceID 无法跨组件传播 B Observation 只能用于 Metrics,不能用于 Traces C 需要为每个组件手写埋点 D 各组件(网关/Feign/消息/数据库)自动生成 span 并共享 TraceContext ✓ 正确答案
# 33. 网关与服务侧都执行限流熔断时,如何划分全局流量保护和实例自保护的职责 A 网关负责实例自保护,服务侧负责全局防护 B 两级限流阈值完全一致即可 C 网关做全局入口保护,服务侧做实例自保护,阈值统筹设计 ✓ 正确答案 D 服务侧无需限流,依赖网关即可
# 34. OpenFeign 与 Spring Cloud LoadBalancer 同时重试时如何避免重试相乘,并保持总请求截止时间 A 总截止时间会干扰重试,应禁用 B 重试次数越多越安全 C 重试无需考虑幂等性 D 两层重试叠加会放大请求次数,应限定重试维度与截止时间 ✓ 正确答案
# 35. Spring Cloud Alibaba Dubbo 3.3 与 Spring Boot 4.0 集成时 Triple 协议 HTTP/2 性能基准 A Triple 与 Dubbo2 协议完全相同 B Triple 不支持流式传输 C Triple 基于 HTTP/2 + Protobuf,支持多路复用并与 gRPC 互通 ✓ 正确答案 D Triple 无法承载 Dubbo 的治理能力
# 36. Spring Cloud Alibaba 与 Apache Dubbo 在 RPC 协议(Triple/Dubbo2) A Dubbo2 协议基于 HTTP/2 + Protobuf B Dubbo2 协议是自定义二进制协议,Triple 基于 HTTP/2 + Protobuf ✓ 正确答案 C Triple 协议不支持跨语言 D Dubbo2 协议可观测性优于 Triple
# 37. Spring Cloud Alibaba 与 Spring Cloud LoadBalancer 的边界 A Nacos 负责实例选择,LoadBalancer 负责实例收集 B Nacos 提供实例列表,LoadBalancer 负责从列表中选实例 ✓ 正确答案 C 两者职责重叠,都需要实现负载均衡 D LoadBalancer 从注册中心获取实例完成发现
# 38. Spring Cloud Alibaba 与 Spring Cloud Netflix 的差异 A 两者组件完全等价 B Nacos 用于熔断,Sentinel 用于注册 C Ribbon 是 Alibaba 的负载均衡组件 D Netflix 组件全面停维,Alibaba 组件提供替代与额外能力 ✓ 正确答案
# 39. Spring Cloud Alibaba 与 Spring Cloud OpenFeign 的协作 A OpenFeign 直接解析服务实例,不依赖注册中心 B Nacos 负责 HTTP 编解码 C OpenFeign 声明调用,Nacos 提供实例,LoadBalancer 选实例,Sentinel 熔断 ✓ 正确答案 D Sentinel 负责服务发现
# 40. Spring Cloud Alibaba 的 @NacosPropertySource/@NacosValue 在配置动态刷新的实现 A @NacosValue 刷新会重建整个 Bean B @NacosValue 只能注入静态配置 C @NacosValue 支持 autoRefreshed 字段级刷新,无需重建 Bean ✓ 正确答案 D @NacosPropertySource 用于定义单个字段
# 41. Spring Cloud Alibaba 集成 RocketMQ 的要点,事务消息、顺序消息与延迟消息在 Spring 中的使用,与原生 RocketMQ API 的差异如何? A 事务消息发送成功后立即对消费者可见 B 延迟消息只能通过定时任务实现 C 顺序消息不需要队列路由 D 事务消息先发半消息,本地事务成功后 commit 并对消费者可见 ✓ 正确答案
# 42. Spring Cloud Alibaba 的 cloud-native 诊断,如何用 Actuator、Arthas 与链路追踪定位容器化部署下的性能与配置问题? A Arthas 用于暴露健康端点 B 链路追踪用于查看 GC 情况 C Actuator 提供健康/指标/配置端点,链路追踪定位瓶颈,Arthas 现场诊断 JVM ✓ 正确答案 D 容器化部署无需考虑资源限额
# 43. Spring Cloud Alibaba 集成 OSS 对象存储的要点,STS 临时凭证与内网/外网端点选择,大文件分片上传与断点续传如何实现? A 应使用明文 AK/SK 下发到客户端 B 用 STS 临时凭证保证安全,内网端点降成本,分片上传支持断点续传 ✓ 正确答案 C 分片上传无法断点续传 D 大文件必须用单次 PutObject 上传
# 44. Spring Cloud Alibaba 集成 SLB 实现负载均衡的原理,与 Spring Cloud LoadBalancer/Ribbon 的协作关系,以及多层负载均衡下的会话保持与超时问题? A SLB 负责服务间调用负载均衡 B 多层负载均衡无需协调超时 C SLB 负责入口流量分发,客户端负载均衡负责服务间调用 ✓ 正确答案 D 会话保持与负载均衡无关
# 45. Spring Cloud Alibaba 集成短信服务(SMS)的工程实践,异步发送、重试与幂等、模板管理与多通道容灾如何设计? A 短信应同步发送,阻塞主流程以保证可靠 B 用异步 MQ + 重试去重 + 多通道容灾保证可靠投递 ✓ 正确答案 C 短信内容可直接拼接,无需模板 D 重试无需幂等,可能重复发送
# 46. spring-cloud-starter-alibaba-nacos-config 的职责,它如何封装 Nacos 配置拉取与监听刷新,与原生 Nacos Client 的差异及常见踩坑? A 它封装了配置拉取、监听刷新与 PropertySource 注入,并支持 @RefreshScope ✓ 正确答案 B 它只提供 getConfig 低层 API C 它不支持 Profile 组合 D 它与原生 Client 完全等价
# 47. Spring Cloud Alibaba 的灰度发布与版本管理,如何结合 Nacos 配置与负载均衡规则实现按标签路由,灰度期的可观测与快速回滚如何保障? A 标签路由依赖 Nacos 元数据与自定义 LoadBalancer supplier ✓ 正确答案 B 灰度只能通过重启切换 C 灰度期无需可观测 D 回滚必须重新部署实例
# 48. Spring Cloud Alibaba 的运维与诊断,Sentinel 控制台、Nacos 控制台与 Seata 监控如何配合定位线上问题,Metrics 如何接入 Prometheus? A Sentinel 控制台用于查看服务注册 B Seata 监控用于查看流控规则 C Nacos 查服务与配置,Sentinel 查限流熔断,Seata 查事务,配合链路定位 ✓ 正确答案 D Metrics 只能通过 JMX 暴露
# 49. 动态规则或配置发布出错时,如何保存版本、分批生效并在不重启服务的前提下回滚 A 回滚后必须重启服务才生效 B 发布出错无法回滚 C 回滚能撤销已产生的数据库副作用 D 配置中心维护历史版本,可分批生效并动态回滚 ✓ 正确答案
# 50. 微服务的契约测试(Pact/CDC) A 契约测试由提供方单独定义契约 B 契约测试能完全替代端到端测试 C 消费者定义契约,提供方用 Pact 文件回放验证 ✓ 正确答案 D 契约测试需要真实环境运行
# 51. Spring Cloud Gateway 的过滤器链与限流熔断如何与 Sentinel 协同? A Gateway 内置 RequestRateLimiter 与 Sentinel 完全等价 B Sentinel 无法集成到 Gateway 过滤器链 C Sentinel 只能做全局限流,无法按 API 分组 D Sentinel 通过 SentinelGatewayFilter 对 route 资源做限流熔断 ✓ 正确答案
# 52. Spring Cloud 的配置刷新(@RefreshScope)原理与失效场景? A 未标注 @RefreshScope 的 Bean 不刷新,静态字段与手动 new 的对象不受 scope 管理 ✓ 正确答案 B 所有 Bean 无论是否标注都会自动刷新 C @RefreshScope 会重建所有单例 Bean D 刷新后旧缓存对象不会引发资源问题
# 53. Spring Cloud Alibaba 在 Spring Boot 3.x Servlet 6.0 / Jakarta EE 10 与 4.x Servlet 6.1 / Jakarta EE 11 上的演进 A Boot 3.x 基于 Servlet 6.1 / Jakarta EE 11 B 两个版本没有 Servlet 差异 C Boot 4.x 基于 Servlet 6.1 / Jakarta EE 11,并支持虚拟线程 ✓ 正确答案 D 演进只影响配置,不影响依赖库
# 54. Spring Cloud Alibaba 与 Spring Boot 4.0 的兼容版本矩阵、发布路线图与已知风险 A 需查兼容矩阵,风险集中在 Jakarta EE 11、虚拟线程与自动配置变化 ✓ 正确答案 B 所有组件版本都天然兼容 Boot 4.0 C 升级无需关注已知 issue D Boot 4.0 与 3.x 完全兼容
# 55. Spring Cloud Alibaba 在 Spring Boot 3.5+/4.x 与 Spring Cloud 最新代际的兼容性矩阵 A 兼容矩阵给出了 Spring Cloud Alibaba、Spring Cloud、Spring Boot 及中间件的对齐版本 ✓ 正确答案 B 版本组合可随意搭配 C 升级只升级 Spring Cloud Alibaba 即可 D 矩阵与中间件版本无关
# 57. 微服务的服务调用(REST/RPC/gRPC) A gRPC 基于 HTTP/2 + Protobuf,高性能且跨语言 ✓ 正确答案 B REST 是性能最高的调用方式 C RPC 调用跨语言能力最强 D 所有场景都应使用 REST
# 59. 灰度实例如何利用服务元数据与负载均衡提示进行路由,提示丢失时应采用什么安全默认值 A 提示丢失时应默认路由到灰度版本 B 提示丢失时应采用保守默认值,默认路由到稳定版本 ✓ 正确答案 C 提示丢失不影响路由 D 灰度路由无需监控
# 60. 组件控制台、客户端凭据与配置内容应如何实施最小权限、轮换和审计,避免默认口令风险 A 控制台账号应统一使用默认口令 B 应实施最小权限、密钥轮换与操作审计,并修改默认口令 ✓ 正确答案 C 配置内容无需加密 D 凭据一旦配置无需轮换
# 61. 跨组件故障演练如何覆盖注册中心分区、规则中心不可用和事务协调器切换,并定义验收指标 A 应覆盖注册中心分区、规则中心不可用、事务协调器切换,并定义可用性/降级/恢复指标 ✓ 正确答案 B 只需演练注册中心故障 C 故障演练无需验收指标 D 演练会破坏系统,不应执行
# 62. 配置中心启动失败时,哪些配置可从本地快照恢复,密钥和动态开关又为何需要更严格策略 A 所有配置(含密钥)都可从本地快照恢复 B 密钥应明文存于本地快照 C 普通配置可恢复,但密钥与安全开关需更严格策略(加密、fail-fast、安全默认值) ✓ 正确答案 D 动态开关应无条件恢复旧值
# 63. Spring Cloud Alibaba 应用制作 GraalVM Native Image 时,动态代理、反射和客户端初始化需如何处理 A 需通过 reflect-config/proxy-config 声明反射与代理,并处理客户端初始化 ✓ 正确答案 B Native Image 完全支持运行时反射与动态代理 C 只需配置反射即可,无需处理代理 D Spring Cloud Alibaba 组件无需额外配置
# 64. Spring Boot 4 + Spring Cloud 最新代际的兼容矩阵与升级注意事项? A 升级无需关注 API 断点 B Boot 4 与 Boot 3 完全向后兼容 C 需查兼容矩阵,处理 Jakarta EE 11、虚拟线程与 API 断点,并逐级验证 ✓ 正确答案 D 升级只需更新版本号