# 1. Spring Cloud 官方栈与 Spring Cloud Alibaba 的整体差异,Netflix 组件停维后的生态走向 A 两者完全一致 B Netflix 组件仍维护 C 官方栈用 LoadBalancer/Gateway 等标准组件,Alibaba 用 Nacos/Sentinel 一体化治理,常组合使用 ✓ 正确答案 D Alibaba 无治理
# 2. Spring Cloud Gateway 的请求路由核心,Route/Predicate/Filter 模型与 RouteDefinition 动态刷新 A Route 只有目标 URI B 路由无法动态刷新 C Route 由目标 URI + Predicate + Filter 组成,RouteDefinition 可配置中心动态刷新 ✓ 正确答案 D Predicate 是过滤器
# 3. Spring Cloud LoadBalancer 的负载均衡 SPI,ServiceInstanceListSupplier 与自定义权重/亲和性 A supplier 只取实例 B supplier 与负载均衡无关 C 无法自定义权重 D supplier 是 SPI 扩展点,权重/亲和性/健康检查通过 supplier 链实现,可自定义 ✓ 正确答案
# 4. OpenFeign 的声明式客户端,FeignClient 注解、编解码器与契约(contract)扩展 A @FeignClient 声明接口,Encoder/Decoder 管序列化,Contract 管注解映射,可扩展 ✓ 正确答案 B @FeignClient 自动映射 C 编解码器固定 D 无法扩展 contract
# 5. Gateway 的限流,RequestRateLimiter 过滤器与 Redis 令牌桶,以及 KeyResolver 自定义限流维度 A 限流在单机内存 B KeyResolver 管令牌 C RequestRateLimiter 用 Redis 令牌桶分布式限流,KeyResolver 自定义限流维度 ✓ 正确答案 D 无法自定义维度
# 6. Spring Cloud Config Server 的配置源(Git/文件系统/Vault)与配置刷新(@RefreshScope + Bus) A 配置源只有 Git B 刷新只能单实例 C Config Server 支持 Git/文件/Vault,@RefreshScope + Bus 实现动态刷新 ✓ 正确答案 D Bus 不广播
# 7. Spring Cloud Bus(Kafka/RabbitMQ)如何广播配置刷新事件与失败重试 A Bus 直接调用 B 刷新无需重试 C 事件不广播 D Bus 通过 Kafka/RabbitMQ 广播 RefreshRemoteApplicationEvent 到所有实例刷新配置 ✓ 正确答案
# 8. OpenFeign 的请求拦截器(RequestInterceptor)与统一 Header/鉴权透传 A 拦截器只能一次 B 无法注入 Header C RequestInterceptor 统一注入 Header/鉴权/链路,透传到下游 ✓ 正确答案 D 拦截器无效
# 9. OpenFeign 与 Sentinel/Resilience4j 的熔断集成(feign.circuitbreaker.enabled) A Feign 默认熔断 B feign.circuitbreaker.enabled=true 启用,Feign 调用纳入熔断 + fallback 降级 ✓ 正确答案 C 无法接熔断 D 熔断无需配置
# 10. Spring Cloud Gateway 全局过滤器与局部过滤器的执行顺序(Ordered) A 顺序固定 B 全局与局部过滤器按 Order 排序执行,order 越小越先 ✓ 正确答案 C 全局过滤器无顺序 D 局部过滤器最后
# 11. Gateway 的 WebSocket/SSE 代理与长连接超时配置 A WebSocket 处理 Upgrade,SSE 是流式响应,需配置长连接超时避免中断 ✓ 正确答案 B SSE 是短连接 C 长连接无超时 D WebSocket 无需配置
# 12. LoadBalancer 与 Nacos/Eureka 服务发现的数据源适配(DiscoveryClientServiceInstanceListSupplier) A 每种注册中心单独适配 B LoadBalancer 无法适配 C DiscoveryClientServiceInstanceListSupplier 通过 DiscoveryClient 统一获取实例,屏蔽 Nacos/Eureka 差异 ✓ 正确答案 D DiscoveryClient 无抽象
# 13. Sleuth 退役后 Micrometer Tracing + OpenTelemetry 在官方栈中的链路透传 A Sleuth 仍维护 B 透传需手动 C 无链路追踪 D Sleuth 退役,Micrometer Tracing + OTel 统一追踪,组件自动透传 TraceID ✓ 正确答案
# 14. Spring Cloud Stream 的 binder 抽象与函数式编程模型(Function/Kafka binder) A binder 只支持 Kafka B binder 抽象统一消息中间件,函数式模型(Function)定义处理,Kafka binder 绑定 ✓ 正确答案 C 函数式模型是注解 D 无法解耦中间件
# 15. OpenFeign 的重试与超时,默认不重试的坑、连接/读取超时与重试放大 A Feign 默认重试 B Feign 默认不重试需显式 Retryer,超时分连接/读取,避免多层重试放大 ✓ 正确答案 C 超时无需配置 D 重试无放大
# 16. Gateway 基于 WebFlux/Netty 的线程模型,事件循环线程与业务线程池配置对网关调优的意义 A 事件循环线程处理 IO,避免阻塞事件循环是调优关键,合理设置线程数 ✓ 正确答案 B 有独立业务线程池 C 事件循环线程越多越好 D 阻塞无害
# 17. Config Server 的加密,对称/非对称密钥、{cipher} 前缀与解密时机,以及密钥管理实践 A {cipher} 标记密文,Config Server 解密,非对称更安全,密钥集中管理 ✓ 正确答案 B {cipher} 是明文 C 只能对称 D 密钥存配置
# 18. Feign 的性能优化,HTTP/2、连接池(Apache HC5/OkHttp)与日志级别 A 日志 FULL 最优 B HTTP/2 无收益 C 连接池无益 D HTTP/2 + 连接池复用 + 合理日志级别(生产用 BASIC 控开销)提升性能 ✓ 正确答案
# 19. Spring Cloud 官方栈的 API 网关与 BFF 模式,按客户端拆分的路由组织 A 所有客户端一个网关 B 无法按客户端拆分 C BFF 按客户端拆分网关/路由,适配各客户端需求 ✓ 正确答案 D BFF 只用于移动端
# 20. Bus 的远程事件机制,RefreshRemoteApplicationEvent 如何跨服务传播,自定义远程事件需满足的条件 A 远程事件直接调用 B 无需扫描 C 事件不传播 D RefreshRemoteApplicationEvent 通过 Bus 消息传播,自定义事件需继承 RemoteApplicationEvent 并扫描 ✓ 正确答案
# 21. Gateway 的跨域 CORS,全局 CORS 与路由级 CORS 的合并规则,以及预检请求的处理 A 全局与路由级 CORS 合并(路由级覆盖),预检 OPTIONS 由 globalcors 处理 ✓ 正确答案 B 只有全局 CORS C 预检无需处理 D 路由级覆盖全局