# 1. JVM 现代 GC 的工程取舍,G1(默认)、ZGC(< 1ms 暂停)、Shenandoah(低延迟)、Epsilon(no-op)的生产选型如何? A 所有场景都应使用 Epsilon B 默认选 G1,低延迟大堆可用 ZGC/Shenandoah,Epsilon 仅限特定测试 ✓ 正确答案 C ZGC 吞吐一定高于 G1 D Shenandoah 适合小堆高吞吐场景
# 2. Async-Profiler 4.x + Continuous Profiling 平台(Pyroscope/Conprof)的 JDK 25/26 集成 A Async-Profiler 以低开销采样,通过 JFR 事件流/agent 上报到 Pyroscope/Conprof 实现持续剖析 ✓ 正确答案 B Async-Profiler 只能离线使用,无法联机 C 持续剖析会采集所有数据,无需采样 D 持续剖析与告警联动无关
# 3. 可观测性数据的成本治理,指标降采样、日志采样与追踪存储策略 A 应全量采集所有数据,不做任何采样 B 通过指标降采样、日志采样、追踪采样与分层存储控制成本并保留关键信息 ✓ 正确答案 C 采样只影响性能,不影响成本 D 追踪无法采样,只能全量存储
# 4. Java 网络性能优化,TCP 参数、零拷贝与连接复用对延迟的影响如何? A 零拷贝与连接复用无关,只影响 CPU B TCP 参数调优、零拷贝(sendfile/DirectBuffer)与连接复用都能降低网络延迟 ✓ 正确答案 C 连接复用会增加握手次数 D Nagle 算法总是降低延迟
# 5. JVM 性能工具链的新变化,JFR 事件流、async-profiler、JDK Flight Recorder 在云原生下的集成如何? A JFR 只能落盘分析,无法实时订阅 B async-profiler 与 JFR 完全无关 C JFR 事件流可实时订阅,async-profiler 补充采样,云原生下可汇聚到 OTel/Prometheus ✓ 正确答案 D 云原生无法集成 JFR 数据
# 6. 容器环境下的性能可观测,cgroup 内存限制、CPU 限流(throttling)与 JVM 自适应参数的相互作用如何? A UseContainerSupport 让 JVM 感知 cgroup 限制自适应堆与线程,需监控堆外内存与 CPU throttling ✓ 正确答案 B JVM 完全忽略容器限制,按宿主机配置 C cgroup 内存限制不影响 JVM 堆设置 D CPU throttling 与 JVM 线程数无关
# 7. JFR 事件流与云原生可观测,如何把 JVM 指标接入 Prometheus/OTel? A JVM 指标无法接入 Prometheus B OTel 不支持 JVM 指标 C JFR 事件只能落盘,不能实时采集 D 通过 JFR 事件流、Micrometer 或 OTel agent 将 JVM 指标转换为 Prometheus/OTLP 格式汇聚 ✓ 正确答案
# 8. JVM 可观测性趋势,JFR 事件流、OTel JVM 指标与 eBPF 的互补关系如何? A 三者完全冗余,只需其中之一 B JFR 看 JVM 内部、OTel 提供标准指标、eBPF 看系统层,覆盖完整链路 ✓ 正确答案 C eBPF 可完全替代 JFR D OTel 无法观测 JVM 指标
# 9. AI 工作负载下 JVM 性能特征,长连接流式响应与虚拟线程的 GC 交互如何? A 流式响应不产生中间对象,GC 无压力 B AI 场景无需考虑 GC 选型 C 虚拟线程会增加 GC 对象数量 D 虚拟线程可承载大量并发长连接,流式生成的中间对象需关注 GC 压力 ✓ 正确答案
# 10. 云原生下的弹性伸缩与 JVM 启动优化(HPA、CDS/AOT、就绪探针) A 启动速度与弹性伸缩无关 B CDS 只能减少内存,不能加速启动 C 就绪探针只用于健康检查,与扩容无关 D CDS/AOT 加速 JVM 启动,配合就绪探针与 HPA 实现快速扩缩容 ✓ 正确答案
# 11. JFR 事件流(JEP 349,JDK 14)的实时订阅与 SRE 集成的工程实践 A JFR 只能事后落盘分析,无法实时 B 订阅所有事件即可,无需选择 C 通过 RecordingStream 实时订阅关键 JFR 事件并上报指标/告警,需控制事件选择与开销 ✓ 正确答案 D JFR 事件流无法与 Prometheus 集成
# 12. JVM CPU Profile(AsyncGetCallTrace)的低开销生产剖析与火焰图生成 A 它基于低开销周期采样获取调用栈,生成火焰图定位 CPU 热点 ✓ 正确答案 B AsyncGetCallTrace 需要暂停线程才能采样 C 采样开销通常超过 50% D 火焰图无法反映调用路径
# 13. AI/LLM 场景下 Java 服务的性能特征,流式响应、高并发长连接对 GC 与线程模型的新要求如何? A 长连接无需虚拟线程,平台线程即可 B 传统线程池模型完全够用 C 流式响应不产生中间对象 D 虚拟线程承载高并发长连接,流式中间对象需低延迟 GC 处理 ✓ 正确答案
# 14. 虚拟线程与性能剖析,async-profiler 对虚拟线程的采样支持如何? A async-profiler 无法剖析虚拟线程 B 剖析虚拟线程不需要任何额外支持 C 虚拟线程只能按平台线程剖析 D async-profiler 4.x 能感知虚拟线程,采集其挂起态调用栈并支持按虚拟线程分析 ✓ 正确答案
# 15. 持续剖析(Continuous Profiling)在 Java 服务中的落地,采样开销与告警联动如何? A 持续剖析必须全量高采样率,开销可忽略 B 采用低采样率控制开销,与 Prometheus/OTel 打通并联动告警定位性能热点 ✓ 正确答案 C 持续剖析数据无法长期保存 D 持续剖析与告警无关
# 16. Java 应用的容量预测,基于压测基线与业务增长模型的资源规划如何? A 压测基线映射单实例能力,结合业务增长模型规划资源,并预留余量与弹性兜底 ✓ 正确答案 B 容量预测只需经验估算,无需压测 C 容量预测是一次性工作,无需迭代 D 资源规划无需考虑峰值与故障
# 17. 容器环境下 JVM 自适应参数,UseContainerSupport 与 cgroup 限额的匹配如何? A UseContainerSupport 让 JVM 感知 cgroup 限额自适应堆与线程,但需预留堆外内存并微调比例 ✓ 正确答案 B JVM 完全忽略容器限额,按宿主机配置 C 堆外内存不影响 JVM 稳定性 D CPU 配额不影响 GC 线程数
# 18. JVM 技术路线(虚拟线程生态、FFM、Valhalla 进度)对性能优化的影响 A 虚拟线程、FFM、Valhalla 对性能优化无影响 B Valhalla 会增加内存开销 C FFM 与 JNI 完全等价,无性能优势 D 虚拟线程优化并发、FFM 优化原生交互与内存、Valhalla 优化内存布局,共同推动性能提升 ✓ 正确答案