# 1. Spring Boot 4 / Spring Framework 7 的基线要求(JDK 17+/Jakarta EE 11)与升级路径,从 Boot 3.x 迁移的主要断点有哪些? A Boot 4 支持 JDK 8 B Boot 4 与 3 完全兼容 C Boot 4 基线 JDK 17+ / Jakarta EE 11,迁移断点含 API 移除、虚拟线程、自动配置变化 ✓ 正确答案 D 无需升级依赖
# 2. Spring Framework 7 的 API 版本化(API Versioning)原生支持如何取代自研版本路由方案? A @RequestMapping 的 version 参数原生支持按版本匹配 handler,取代自研路由 ✓ 正确答案 B 需自研版本路由 C 原生不支持版本 D 版本只能网关处理
# 3. Spring Boot 4 对虚拟线程的默认支持策略与 spring.threads.virtual.enabled 的适用边界? A spring.threads.virtual.enabled 开启,适合 IO 密集阻塞场景,CPU 密集与平台线程依赖需评估 ✓ 正确答案 B 虚拟线程适合 CPU 密集 C 所有场景都该用虚拟线程 D 虚拟线程占平台线程
# 4. Spring Boot 4 的 RestTestClient 替代 RestTemplate + WebTestClient 的统一集成测试入口:链式 API 的真实工程取舍? A 只用于 Servlet B 无法替代 WebFlux 测试 C RestTestClient 统一集成测试入口,链式断言,替代 RestTemplate/WebTestClient ✓ 正确答案 D 链式 API 复杂
# 5. Spring Boot 4 默认开启 OpenTelemetry Micrometer Observation 自动埋点:手动埋点 vs 自动埋点的边界? A 自动埋点覆盖全部 B 手动埋点覆盖框架 C 自动埋点覆盖框架组件,业务自定义需手动 Observation 埋点 ✓ 正确答案 D 无需手动埋点
# 6. Spring Boot 4 的 @ConfigurationProperties 绑定、宽松绑定与校验 A 不支持宽松绑定 B 绑定后不可刷新 C 无法校验 D 支持强类型绑定、宽松绑定(多种命名)与 @Validated 校验 ✓ 正确答案
# 7. Spring Boot 4 对 GraalVM Native Image 的一等公民支持的工程价值? A Native 启动快、内存低、云原生友好,但 AOT 构建复杂 ✓ 正确答案 B Native 启动慢 C Native 内存高 D Native 无价值
# 8. Spring Framework 7 与 Spring Boot 4 协同下 AOT 提前编译的边界? A AOT 处理所有动态行为 B AOT 处理静态可确定的配置,运行时动态(反射/代理)需声明或运行时处理 ✓ 正确答案 C AOT 无边界 D 动态行为也 AOT
# 9. Null-safety 方面 Spring 7 迁移到 JSpecify 注解体系对业务代码的影响? A Spring 7 仍用自定义注解 B 无影响 C Spring 7 迁移到 JSpecify 注解体系,业务代码可空性注解需迁移 ✓ 正确答案 D JSpecify 与 Kotlin 无关
# 10. Spring Boot 4 模块化拆分(按 starter 细分 jar)对依赖体积与启动时间的影响? A 模块化增加依赖体积 B 按需引入模块减小依赖体积、可能加快启动,但版本管理更复杂 ✓ 正确答案 C 拆分无影响 D 启动更慢
# 11. Spring Framework 7 的 @RequestMapping version 参数实现 API 版本控制:与 Spring Cloud 路由的协作? A 网关按版本路由服务,Framework 的 version 参数在服务内匹配 handler,分层版本控制 ✓ 正确答案 B 两者冲突 C version 参数管路由 D 网关管方法匹配
# 12. Spring Boot 4 模块化架构 + Spring Modulith 与 Jakarta EE 11 基线 (Servlet 6.1) 的真实迁移工作量评估? A 升级 Boot 4 需处理依赖与 Jakarta,Modulith 模块化增加工作量,分阶段迁移 ✓ 正确答案 B 迁移零成本 C 只需换版本号 D Jakarta 无影响
# 13. Spring Boot 4 启动时虚拟线程自动适配的边界:哪些阻塞 IO 调用仍需手工替换? A 全部自动适配 B synchronized 也自动适配 C 自动适配 Web 请求,synchronized 长持有、线程池、特定驱动阻塞需手工替换 ✓ 正确答案 D 无需评估
# 14. Spring Boot 4 外部化配置的优先级(properties/YAML/环境变量/命令行) A 命令行 > 环境变量 > 外部文件 > 内部文件 > 默认 ✓ 正确答案 B 配置文件最高 C 环境变量最高 D 优先级无差别
# 15. Spring Boot 测试切片(@WebMvcTest/@DataJpaTest)与 @SpringBootTest 的选择 A 切片测试加载全部 B 一律用 @SpringBootTest C 切片测试慢 D @WebMvcTest/@DataJpaTest 只加载单层(快),@SpringBootTest 加载完整上下文(集成) ✓ 正确答案
# 16. Spring Boot 4 的自动配置变化,@AutoConfiguration 与条件注解的评估顺序如何? A 自动配置用 @AutoConfiguration + 条件注解,按顺序评估,@ConditionalOnMissingBean 允许覆盖 ✓ 正确答案 B 自动配置无条件 C 条件注解非顺序 D 无法覆盖自动配置
# 17. Spring Boot 4 内置接口式 HTTP 客户端 @HttpExchange 替代 OpenFeign 的工程价值与边界? A 需 OpenFeign 依赖 B @HttpExchange 原生接口式 HTTP 客户端,轻量但能力较 OpenFeign 简单 ✓ 正确答案 C 与 OpenFeign 等价 D 无法声明 HTTP
# 18. Spring Boot 4 的优雅停机(graceful shutdown)与流量摘除 A server.shutdown=graceful 排空在途请求,配合注册中心/readiness 摘除停止新流量 ✓ 正确答案 B 停机直接杀进程 C 无需排空 D 摘除无关