知识库文档 1 / 251
适用方向:高级 Java 工程师、技术专家、应用架构师、分布式系统架构师。 编排原则:覆盖原理、源码、工程实践、故障排查和系统设计;编号固定,后续可按编号逐篇扩写。
分类导航
| 分类 | 编号范围 | 数量 |
|---|---|---|
| 01 Java 语言基础与面向对象 | 001–015 | 15 |
| 02 集合框架、泛型与函数式编程 | 016–030 | 15 |
| 03 Java 并发编程 | 031–050 | 20 |
| 04 JVM 原理与调优 | 051–070 | 20 |
| 05 I/O、NIO 与网络编程 | 071–080 | 10 |
| 06 Spring 与 Spring Boot | 081–100 | 20 |
| 07 MyBatis、JPA 与 ORM | 101–110 | 10 |
| 08 MySQL 与关系型数据库 | 111–130 | 20 |
| 09 Redis 与缓存体系 | 131–145 | 15 |
| 10 消息队列与事件驱动 | 146–160 | 15 |
| 11 分布式理论、事务与一致性 | 161–175 | 15 |
| 12 微服务与服务治理 | 176–190 | 15 |
| 13 架构设计与系统设计 | 191–213 | 23 |
| 14 性能工程、可观测性与故障排查 | 214–224 | 11 |
| 15 安全架构 | 225–231 | 7 |
| 16 DevOps、容器与云原生 | 232–240 | 9 |
| 17 数据结构与算法 | 241–245 | 5 |
| 18 工程效能、测试与 DDD | 246–250 | 5 |
| 合计 | 001–250 | 250 |
01 Java 语言基础与面向对象(001–015)
- 001|面向对象四大特性:封装、继承、多态、抽象的边界与实际应用。
- 002|重载与重写:静态分派、动态分派、协变返回类型与方法选择规则。
- 003|接口与抽象类:设计取舍、默认方法以及面向接口编程。
- 004|Java 参数传递机制:值传递、对象引用与常见误区。
- 005|equals 与 hashCode 契约:对象相等性、哈希容器行为和实现规范。
- 006|String 不可变性:字符串常量池、intern、拼接优化与安全价值。
- 007|final、finally、finalize/Cleaner:语义差异、资源释放与废弃机制。
- 008|异常体系与最佳实践:受检异常、非受检异常、异常转换与错误码设计。
- 009|try-with-resources:AutoCloseable、关闭顺序和 suppressed exception。
- 010|反射机制:Class 元数据、动态调用、性能代价和框架应用。
- 011|注解机制:元注解、运行期解析、编译期处理器与典型场景。
- 012|Java SPI:ServiceLoader 原理、类加载上下文与扩展机制设计。
- 013|深拷贝与浅拷贝:对象图复制、序列化方案及不可变对象。
- 014|Java 序列化:serialVersionUID、兼容性、安全风险与替代协议。
- 015|Java 新版本特性:record、sealed class、模式匹配、文本块与虚拟线程概览。
02 集合框架、泛型与函数式编程(016–030)
- 016|ArrayList 原理:扩容、随机访问、插入删除成本与 fail-fast。
- 017|LinkedList 与队列结构:双向链表、Deque 用法及选型边界。
- 018|HashMap 数据结构:数组、链表、红黑树、扩容和哈希扰动。
- 019|HashMap 容量设计:负载因子、初始容量计算与性能权衡。
- 020|ConcurrentHashMap 原理:JDK 7 分段锁与 JDK 8 CAS+synchronized。
- 021|LinkedHashMap 与 LRU:访问顺序、淘汰钩子与缓存实现。
- 022|TreeMap 与红黑树:有序映射、比较器、一致性和复杂度。
- 023|HashSet、TreeSet 与去重:底层结构、相等性和有序性。
- 024|CopyOnWriteArrayList:写时复制、快照一致性与适用场景。
- 025|阻塞队列体系:ArrayBlockingQueue、LinkedBlockingQueue、PriorityBlockingQueue。
- 026|集合迭代安全:fail-fast、fail-safe、迭代器删除与并发修改。
- 027|Comparable 与 Comparator:自然顺序、定制排序与比较器契约。
- 028|Java 泛型:类型擦除、上下界、PECS 原则与桥接方法。
- 029|Lambda 与函数式接口:方法引用、闭包、变量捕获和执行模型。
- 030|Stream API:惰性计算、并行流、Collector、性能与副作用。
03 Java 并发编程(031–050)
- 031|线程生命周期与状态转换:NEW、RUNNABLE、BLOCKED、WAITING 等状态。
- 032|Java 内存模型 JMM:主内存、工作内存、可见性、有序性和原子性。
- 033|happens-before 规则:程序次序、锁、volatile、线程启动与终止规则。
- 034|volatile 原理:可见性、有序性、内存屏障及不保证复合操作原子性。
- 035|synchronized 原理:对象头、Monitor、锁升级与现代 JVM 优化。
- 036|CAS 与原子类:compare-and-swap、ABA 问题、自旋代价和 AtomicStampedReference。
- 037|AQS 原理:同步状态、CLH 队列、独占/共享模式和 Condition。
- 038|ReentrantLock:公平锁、非公平锁、可中断锁与超时获取。
- 039|ReentrantReadWriteLock 与 StampedLock:读多写少场景和乐观读。
- 040|wait/notify 与 Condition:等待通知模型、虚假唤醒和标准范式。
- 041|ThreadLocal 原理:ThreadLocalMap、弱引用、内存泄漏与上下文传递。
- 042|线程池核心原理:核心线程、最大线程、工作队列、keepAliveTime。
- 043|线程池任务提交流程:execute 决策路径、Worker 机制与异常处理。
- 044|线程池参数估算:CPU 密集、I/O 密集、Little 定律与压测校准。
- 045|线程池队列与拒绝策略:有界队列、背压、降级和自定义策略。
- 046|Future 与 CompletableFuture:异步编排、异常传播、线程池隔离。
- 047|ForkJoinPool 原理:工作窃取、任务拆分和 commonPool 风险。
- 048|并发工具类:CountDownLatch、CyclicBarrier、Semaphore、Phaser。
- 049|死锁、活锁与饥饿:产生条件、检测工具、规避与恢复方案。
- 050|虚拟线程(Project Loom):调度模型、pinning、适用场景与平台线程对比。
04 JVM 原理与调优(051–070)
- 051|JVM 运行时数据区:堆、虚拟机栈、本地方法栈、程序计数器、元空间。
- 052|Java 对象内存布局:对象头、实例数据、对齐填充与指针压缩。
- 053|对象创建过程:类检查、内存分配、零值初始化、对象头设置与构造。
- 054|对象访问与引用类型:句柄/直接指针以及强、软、弱、虚引用。
- 055|类加载生命周期:加载、验证、准备、解析、初始化、卸载。
- 056|类加载器与双亲委派:Bootstrap/Platform/Application、破坏委派与隔离。
- 057|GC Roots 与可达性分析:根节点类型、引用链与对象存活判定。
- 058|垃圾回收基础算法:标记清除、标记复制、标记整理和分代收集。
- 059|Serial、Parallel、CMS 收集器:工作过程、停顿特性和适用场景。
- 060|G1 收集器:Region、Remembered Set、SATB、Mixed GC 和停顿预测。
- 061|ZGC 与 Shenandoah:并发整理、染色指针/转发指针和低延迟取舍。
- 062|Minor GC、Major GC 与 Full GC:触发条件、日志识别和优化方向。
- 063|内存分配策略:TLAB、Eden、晋升、年龄阈值和大对象分配。
- 064|常见 OOM 类型:Java heap space、Metaspace、Direct buffer、线程耗尽。
- 065|内存泄漏分析:堆转储、支配树、引用链和 MAT/JProfiler 使用思路。
- 066|JVM 常用诊断工具:jps、jstat、jstack、jmap、jcmd、Arthas。
- 067|GC 日志分析:统一日志、停顿时间、吞吐量、晋升失败与分配速率。
- 068|JIT 编译与分层编译:C1/C2、热点探测、OSR、去优化和逃逸分析。
- 069|JIT 优化技术:方法内联、标量替换、锁消除、公共子表达式消除。
- 070|JVM 调优方法论:目标设定、基线采集、参数调整、验证与回滚。
05 I/O、NIO 与网络编程(071–080)
- 071|BIO、NIO 与 AIO:阻塞模型、非阻塞模型、异步模型和场景选型。
- 072|NIO 核心组件:Buffer、Channel、Selector 的工作方式。
- 073|多路复用机制:select、poll、epoll 差异以及水平/边缘触发。
- 074|零拷贝技术:mmap、sendfile、DirectByteBuffer 与数据路径。
- 075|TCP 可靠传输:三次握手、四次挥手、重传、滑动窗口和拥塞控制。
- 076|TCP 常见问题:粘包拆包、TIME_WAIT、CLOSE_WAIT、半连接/全连接队列。
- 077|HTTP/1.1、HTTP/2 与 HTTP/3:连接复用、队头阻塞和 QUIC。
- 078|HTTPS 与 TLS:握手流程、证书链、密钥协商和会话复用。
- 079|Netty 线程模型:EventLoop、ChannelPipeline、Handler 与 Reactor 模式。
- 080|Netty 内存与性能:ByteBuf、池化、引用计数、拆包器和背压。
06 Spring 与 Spring Boot(081–100)
- 081|Spring IoC 与 DI:控制反转、依赖注入、BeanFactory 和 ApplicationContext。
- 082|Bean 生命周期:实例化、属性填充、Aware、前后置处理、初始化和销毁。
- 083|BeanDefinition 与容器刷新:配置解析、注册、后处理器和 refresh 流程。
- 084|Spring Bean 作用域:singleton、prototype、request、session 与线程安全。
- 085|依赖注入方式:构造器、Setter、字段注入的差异与循环依赖影响。
- 086|循环依赖:三级缓存、提前暴露、代理对象以及无法解决的场景。
- 087|Spring AOP 原理:切点、通知、连接点、织入和代理创建过程。
- 088|JDK 动态代理与 CGLIB:生成机制、限制、调用路径与选型。
- 089|Spring 事务传播行为:REQUIRED、REQUIRES_NEW、NESTED 等语义。
- 090|Spring 事务隔离级别:数据库隔离映射、只读和超时配置。
- 091|声明式事务失效场景:自调用、非 public、异常类型、跨线程和多数据源。
- 092|Spring 事务实现原理:TransactionInterceptor、事务管理器和代理边界。
- 093|Spring MVC 请求流程:DispatcherServlet、HandlerMapping、Adapter、ViewResolver。
- 094|Spring MVC 参数绑定与异常处理:Converter、Validator、ControllerAdvice。
- 095|Spring 事件机制:ApplicationEvent、同步/异步监听及事务事件。
- 096|Spring Boot 自动配置:条件注解、AutoConfiguration.imports 和加载顺序。
- 097|Spring Boot Starter 设计:依赖封装、配置属性和自动配置模块化。
- 098|Spring Boot 配置体系:配置优先级、Profile、绑定、动态配置与敏感信息。
- 099|Spring Boot 启动流程:SpringApplication、环境准备、上下文创建与 Runner。
- 100|Spring 扩展点:BeanFactoryPostProcessor、BeanPostProcessor、ImportSelector、FactoryBean。
07 MyBatis、JPA 与 ORM(101–110)
- 101|MyBatis 核心架构:Configuration、SqlSession、Executor、StatementHandler。
- 102|MyBatis 动态代理:Mapper 接口绑定、MappedStatement 与方法执行链。
- 103|MyBatis 一级/二级缓存:作用域、失效条件、脏数据风险与适用性。
- 104|MyBatis 插件机制:Interceptor、四大对象代理与分页插件原理。
- 105|MyBatis 参数和结果映射:TypeHandler、ResultMap、嵌套查询和对象映射。
- 106|JDBC 工作流程:Driver、Connection、PreparedStatement、ResultSet。
- 107|数据库连接池:池化原理、关键参数、连接泄漏与 HikariCP 优势。
- 108|ORM 的 N+1 问题:产生原因、识别方式、JOIN FETCH 和批量加载。
- 109|JPA/Hibernate 实体状态:瞬时、持久、游离、删除与脏检查。
- 110|ORM 选型与边界:MyBatis、JPA、jOOQ 的生产力、可控性和复杂查询取舍。
08 MySQL 与关系型数据库(111–130)
- 111|InnoDB 存储结构:表空间、页、区、段、行格式与溢出页。
- 112|B+Tree 索引原理:层高、页分裂、范围查询与磁盘 I/O。
- 113|聚簇索引与二级索引:主键组织、回表和主键选择。
- 114|联合索引:最左前缀、索引下推、覆盖索引和排序利用。
- 115|索引失效场景:函数、隐式转换、范围条件、LIKE 与优化器选择。
- 116|Explain 执行计划:type、key、rows、filtered、Extra 的诊断方法。
- 117|MySQL 优化器:成本模型、统计信息、索引选择与优化器误判。
- 118|SQL 优化方法论:慢 SQL 发现、执行计划、改写、索引和效果验证。
- 119|事务 ACID 实现:redo log、undo log、锁和刷盘策略。
- 120|事务隔离级别:脏读、不可重复读、幻读与隔离强度。
- 121|MVCC 原理:Read View、隐藏字段、undo 版本链和快照读。
- 122|当前读与锁机制:记录锁、间隙锁、临键锁和意向锁。
- 123|MySQL 死锁:形成原因、检测、日志分析、重试和规避。
- 124|redo、undo、binlog 区别:职责、生命周期及两阶段提交。
- 125|MySQL 主从复制:binlog、relay log、复制线程与并行复制。
- 126|复制延迟与数据一致性:原因、监控、治理和读写路由策略。
- 127|分库分表:拆分维度、路由、扩容、跨库查询和全局 ID。
- 128|数据库高可用:主从切换、MGR、故障检测、脑裂与数据恢复。
- 129|数据库容量规划:QPS/TPS、数据增长、索引容量、连接数和归档。
- 130|关系型与 NoSQL 选型:一致性、查询能力、扩展性和运维成本。
09 Redis 与缓存体系(131–145)
- 131|Redis 核心数据结构:String、Hash、List、Set、ZSet 的实现与场景。
- 132|Redis 底层编码:SDS、dict、listpack、intset、skiplist。
- 133|Redis 单线程与多线程:事件循环、I/O 多线程和高性能原因。
- 134|RDB 与 AOF:持久化流程、刷盘策略、重写、混合持久化和恢复。
- 135|Redis 主从复制:全量/增量同步、复制积压缓冲区和无盘复制。
- 136|Redis Sentinel:监控、主观/客观下线、选举与故障转移。
- 137|Redis Cluster:哈希槽、Gossip、重定向、扩缩容和故障转移。
- 138|Redis 事务与 Lua:MULTI/EXEC、WATCH、原子脚本和阻塞风险。
- 139|缓存穿透、击穿、雪崩:根因及布隆过滤器、互斥、限流等治理。
- 140|缓存与数据库一致性:Cache Aside、延迟双删、订阅 binlog 与最终一致。
- 141|热 Key 与大 Key:识别、拆分、复制、限流和删除策略。
- 142|Redis 过期与淘汰策略:惰性/定期删除、LRU、LFU 和 maxmemory。
- 143|Redis 分布式锁:SET NX PX、续期、fencing token 与 Redlock 争议。
- 144|布隆过滤器与概率结构:误判率、容量设计、Bitmap、HyperLogLog。
- 145|多级缓存架构:本地缓存、分布式缓存、CDN 的一致性与失效传播。
10 消息队列与事件驱动(146–160)
- 146|消息队列核心价值:解耦、削峰、异步以及引入的复杂度。
- 147|Kafka 架构原理:Broker、Topic、Partition、Replica、Controller/KRaft。
- 148|Kafka 高吞吐机制:顺序写、页缓存、零拷贝、批处理和压缩。
- 149|Kafka 生产者可靠性:acks、重试、幂等生产、事务和顺序性。
- 150|Kafka 消费者组:分区分配、Offset、Rebalance 和静态成员。
- 151|Kafka 消息语义:至多一次、至少一次、恰好一次及端到端边界。
- 152|Kafka 消息积压治理:发现、扩容、并行度、限流和应急消费。
- 153|RocketMQ 架构:NameServer、Broker、CommitLog、ConsumeQueue。
- 154|RocketMQ 顺序/延迟/事务消息:实现机制和业务使用约束。
- 155|RabbitMQ 核心模型:Exchange、Queue、Binding、路由类型与确认机制。
- 156|消息重复消费与幂等:业务唯一键、去重表、状态机和幂等令牌。
- 157|消息丢失防护:生产、存储、消费三个阶段的确认与补偿。
- 158|消息顺序性:全局顺序、分区顺序、路由键和并发消费取舍。
- 159|死信队列与重试设计:退避、最大次数、毒消息隔离和人工补偿。
- 160|事件驱动架构 EDA:领域事件、事件总线、事件溯源与最终一致性。
11 分布式理论、事务与一致性(161–175)
- 161|CAP 与 PACELC:一致性、可用性、分区容错和延迟权衡。
- 162|一致性模型:强一致、顺序一致、因果一致、最终一致和会话一致。
- 163|BASE 理论:基本可用、软状态、最终一致及工程落地。
- 164|共识算法基础:Paxos、Raft 的角色、日志复制和安全性。
- 165|Raft 选举与日志复制:任期、心跳、提交规则和脑裂防护。
- 166|分布式事务 XA/2PC/3PC:协议流程、阻塞、故障场景和适用边界。
- 167|TCC 模式:Try/Confirm/Cancel、空回滚、悬挂和幂等。
- 168|Saga 模式:编排式/协同式、补偿事务和长事务管理。
- 169|可靠消息最终一致性:本地消息表、事务消息、补偿与对账。
- 170|Seata AT 模式:全局锁、undo log、分支事务和隔离限制。
- 171|分布式 ID:UUID、数据库号段、Snowflake 的趋势递增与时钟回拨。
- 172|分布式锁选型:数据库、Redis、ZooKeeper 的一致性和可用性权衡。
- 173|幂等设计:幂等键、去重、状态机、Token 与唯一约束。
- 174|分布式时钟:NTP、逻辑时钟、向量时钟和时间漂移问题。
- 175|数据对账与补偿体系:差异发现、重放、修复、审计和闭环。
12 微服务与服务治理(176–190)
- 176|微服务拆分原则:业务边界、团队边界、数据边界和演进式拆分。
- 177|服务注册与发现:客户端/服务端发现、健康检查和实例摘除。
- 178|Nacos 原理:注册中心、配置中心、AP/CP 模式和推拉结合。
- 179|ZooKeeper 原理:ZAB、临时节点、Watcher、一致性与典型应用。
- 180|RPC 原理:代理、序列化、协议、网络传输、超时和异常映射。
- 181|Dubbo 核心架构:服务暴露/引用、集群容错、路由、负载均衡和 SPI。
- 182|REST、RPC 与 GraphQL 选型:契约、性能、耦合度和生态差异。
- 183|API 网关:路由、认证、限流、聚合、协议转换和高可用。
- 184|负载均衡算法:轮询、随机、一致性哈希、最少连接和自适应。
- 185|超时、重试与退避:重试风暴、指数退避、抖动和截止时间传播。
- 186|限流算法:固定窗口、滑动窗口、漏桶、令牌桶和分布式限流。
- 187|熔断、降级与隔离:状态机、舱壁模式、线程池/信号量隔离。
- 188|配置中心设计:版本、推送、灰度、回滚、审计和一致性。
- 189|服务版本与灰度发布:蓝绿、金丝雀、流量染色和兼容性。
- 190|微服务故障治理:级联故障、流量控制、故障演练与自愈。
13 架构设计与系统设计(191–213)
- 191|架构质量属性:可用性、性能、扩展性、安全性、可维护性和成本。
- 192|系统设计面试方法论:需求澄清、容量估算、API设计、数据模型、架构演进、技术选型与权衡。
- 193|高并发系统设计方法:流量估算、瓶颈识别、分层优化和容量冗余。
- 194|高可用设计:冗余、故障转移、无单点、超时、降级和恢复。
- 195|可扩展架构:无状态化、水平扩展、分片、异步化和热点治理。
- 196|系统容量规划:峰值流量、吞吐、延迟、存储、带宽和资源预算。
- 197|SLA、SLO 与错误预算:可用性度量、预算消耗和发布决策。
- 198|异地多活架构:单元化、数据分区、流量路由、冲突解决和容灾切换。
- 199|读写分离架构:复制延迟、读一致性、故障切换和路由策略。
- 200|CQRS:读写模型分离、数据同步、复杂度与适用场景。
- 201|事件溯源 Event Sourcing:事件存储、状态重建、快照和审计。
- 202|分层架构与六边形架构:依赖方向、端口适配器和领域隔离。
- 203|常用设计模式:工厂、策略、模板、责任链、观察者、代理的工程应用。
- 204|架构反模式:大泥球、分布式单体、共享数据库、循环依赖和过度设计。
- 205|系统设计题型分类:社交/内容型、电商/交易型、IM、流媒体/视频、分布式存储、搜索与推荐、中间件设计等。
- 206|秒杀系统设计:库存预热、削峰、限流、防刷、扣减一致性和兜底。
- 207|短链接系统设计:编码算法、冲突处理、存储、缓存与统计。
- 208|订单系统设计:状态机、库存、支付、超时关单、幂等和对账。
- 209|权限系统设计:RBAC/ABAC、组织模型、数据权限和审计。
- 210|社交Feed流系统设计:推拉模型、Timeline、粉丝/关注扩散、热点缓存。
- 211|实时消息推送/通知系统设计:长连接、订阅管理、分级推送、送达率保障。
- 212|即时通讯系统设计:消息可靠性、已读/未读、离线消息、群聊扩散。
- 213|推荐系统设计:召回/排序/重排、协同过滤、向量化、冷启动、实时特征与在线服务。
14 性能工程、可观测性与故障排查(214–224)
- 214|性能指标体系:吞吐量、响应时间、百分位、并发数、利用率和饱和度。
- 215|压测方法论:模型设计、数据准备、预热、稳态、拐点与结果分析。
- 216|全链路压测:流量染色、影子库表、隔离、防污染和容量评估。
- 217|CPU 飙高排查:进程/线程定位、栈分析、热点代码与 GC 关联。
- 218|Load 高但 CPU 不高排查:I/O 等待、锁竞争、不可中断睡眠和队列堆积。
- 219|内存持续增长排查:堆内/堆外、缓存、线程、本地内存和泄漏定位。
- 220|接口 RT 突增排查:依赖、慢 SQL、GC、线程池、网络与流量变化。
- 221|可观测性三支柱:Metrics、Logs、Traces 的关联与统一上下文。
- 222|分布式链路追踪:Trace/Span、采样、上下文传播和性能开销。
- 223|告警体系设计:症状告警、根因告警、降噪、收敛、分级和升级。
- 224|故障复盘与稳定性治理:时间线、根因、促成因素、行动项和机制改进。
15 安全架构(225–231)
- 225|认证与授权:Authentication/Authorization、RBAC、ABAC 和最小权限。
- 226|OAuth 2.0 与 OpenID Connect:授权码、PKCE、Token 与身份层。
- 227|JWT 安全实践:签名、过期、刷新、吊销、密钥轮换和存储风险。
- 228|Web 常见漏洞:SQL 注入、XSS、CSRF、SSRF、文件上传与防护。
- 229|密码与敏感数据保护:哈希加盐、加密、脱敏、密钥管理和轮换。
- 230|接口安全:签名、防重放、时间戳、Nonce、限流和风控。
- 231|零信任与纵深防御:持续验证、身份边界、网络分段和审计。
16 DevOps、容器与云原生(232–240)
- 232|CI/CD 流水线设计:构建、测试、扫描、制品、部署和回滚。
- 233|Docker 核心原理:Namespace、Cgroups、UnionFS、镜像分层和容器网络。
- 234|容器化 Java 应用调优:CPU/内存限额、JVM 感知、优雅停机和镜像优化。
- 235|Kubernetes 核心对象:Pod、Deployment、StatefulSet、Service、Ingress。
- 236|Kubernetes 调度与资源管理:requests/limits、QoS、亲和性、污点和驱逐。
- 237|Kubernetes 健康检查与发布:探针、滚动更新、PDB 和优雅终止。
- 238|Service Mesh:数据面/控制面、Sidecar、流量治理和性能成本。
- 239|基础设施即代码 IaC:声明式配置、状态管理、变更审查和漂移检测。
- 240|云原生弹性与成本治理:HPA/VPA、自动扩缩、资源利用率和 FinOps。
17 数据结构与算法(241–245)
- 241|复杂度分析:时间/空间复杂度、均摊分析和性能边界。
- 242|链表、栈、队列与堆:典型操作、复杂度和工程应用。
- 243|树结构:二叉树、BST、AVL、红黑树、B/B+Tree 和 Trie。
- 244|哈希与一致性哈希:冲突解决、扩容、虚拟节点和数据倾斜。
- 245|高频算法思想:二分、双指针、滑动窗口、回溯、贪心和动态规划。
18 工程效能、测试与 DDD(246–250)
- 246|单元测试与可测试性设计:测试金字塔、Mock、契约和覆盖率质量。
- 247|集成测试与契约测试:Testcontainers、消费者驱动契约和环境治理。
- 248|代码质量与重构:SOLID、代码异味、静态检查、评审和渐进式重构。
- 249|DDD 战略设计:领域、子域、限界上下文、上下文映射和通用语言。
- 250|DDD 战术设计:实体、值对象、聚合、领域服务、仓储和领域事件。
后续知识文档建议模板
每个考点的讲解文档建议统一包含:问题定义、核心原理、源码/实现机制、生产实践、常见陷阱、故障案例、面试追问、参考答案、示例代码和延伸阅读。