Java 语言与集合(10)
- 解释
equals与hashCode的契约,如何影响集合行为? HashMap在高并发下的问题与解决思路?ConcurrentHashMap分段锁到 1.8 的 CAS 与红黑树演进?CopyOnWriteArrayList使用场景与代价?LinkedHashMapLRU 实现原理?TreeMap的比较器与一致性注意事项?Collections.synchronizedList与Vector的差异?- 如何实现不可变集合与防御性拷贝?
- 集合遍历中删除元素的正确方式?
Optional的最佳实践与误用?
并发与锁(10)
volatile能否保证复合操作?配合Atomic*如何使用?synchronized与ReentrantLock的差异与应用场景?- 线程池各参数如何选型(CPU/IO/混合场景)?
- 拒绝策略选择与降级兜底方案?
CompletableFuture组合与异常处理最佳实践?- 死锁的形成与检测/预防手段?
- 公平锁/非公平锁影响与吞吐量权衡?
- 条件变量与
wait/notify的正确使用? - 生产者-消费者的阻塞队列选型?
- 如何设计可取消的任务与超时?
JVM 与 GC(10)
- 类加载双亲委派原理与打破方式风险?
- JIT 与逃逸分析带来的优化效果?
- G1 的 Region、Mixed GC 与暂停目标?
- ZGC/Shenandoah 的并发标记/压缩机制?
- 如何读 GC 日志定位停顿问题?
- 堆/栈/元空间的大小与调优思路?
- TLAB 与对象分配路径?
- OOM 常见类型与定位方法?
- JFR/JCMD/JSTAT 在生产诊断中的使用?
finalize与 Cleaner 的差异与注意?
Spring/Spring Boot(10)
@Transactional失效的所有常见原因?- AOP 代理类型选择(JDK/CGLIB)与影响?
- 统一异常处理与全局
@ControllerAdvice的设计? - 校验
@Validated与分组、嵌套对象的注意事项? @ConfigurationProperties绑定与安全配置管理?- Bean 生命周期与初始化/销毁钩子?
- 事件发布/监听与异步事件?
- WebFlux 与 MVC 的选择依据?
- Actuator 指标接入与自定义健康检查?
- 多数据源与事务管理器配置?
Spring Cloud(10)
- 配置中心与注册中心在一致性与可用性上的权衡?
- Gateway 路由/限流/熔断设计?
- 服务发现与心跳机制?
- 灰度发布与流量染色实现?
- 链路追踪(Zipkin/Jaeger)接入与问题定位?
- 断路器与重试退避策略?
- 分布式配置刷新策略与安全?
- RPC vs REST 的选型与兼容?
- 统一鉴权与跨域方案?
- 配额/限流在多租户场景的实现?
数据库与 SQL(10)
- 如何通过执行计划定位索引失效?
- 联合索引列顺序选择的原则与案例?
- 游标分页的实现与一致性问题?
- 事务隔离级别的选择与幻读处理?
- 大表改表的在线方案(PT-OSC 等)?
- 写热点的拆分(分片/热键迁移)策略?
- 慢查询治理的流程与指标?
- 参数化查询与 SQL 注入的防范?
- 统计信息与索引重建的时机?
- 读写分离下一致性保障?
缓存与中间件(10)
- 避免雪崩/穿透/击穿的组合拳?
- 旁路/写穿/写回的选择与实现细节?
- 热点键本地缓存策略与一致性?
- 过期与主动失效的事件驱动?
- Redis 数据结构选型与内存开销?
- 多级缓存与版本同步机制?
- Kafka 分区与顺序/幂等保障?
- 消息重复/乱序的处理思路?
- 可靠事件投递的 Outbox 实践?
- 消费者组再均衡的影响与设计?
分布式与微服务(10)
- CAP 与 PACELC 的取舍?
- 最终一致性的用户体验设计?
- 事件驱动抽象与领域事件版本管理?
- 幂等键设计与作用域选择?
- Saga 编排与补偿事务设计?
- 防腐层(ACL)在上下文之间的作用?
- 读模型物化视图的维护成本控制?
- 服务边界与聚合边界的协同?
- API 版本管理策略与网关治理?
- 多租户隔离与数据安全?
架构与模式(10)
- DDD 战术/战略模式的落地路径?
- CQRS 的收益与复杂度控制?
- 事件溯源的审计与性能权衡?
- Hexagonal/Onion 的依赖方向实践?
- 防腐层与适配器/转换器关系?
- 设计可测试性的依赖注入策略?
- 分层与模块化的边界划分?
- 流量治理(限流/熔断/降级)的统一设计?
- 配置即代码与环境一致性?
- 成本与性能的度量与优化闭环?