导语:海量数据题的本质只有一个矛盾——数据规模远超内存容量。所有解法都是围绕「如何让每个处理单元的数据量降到内存装得下」展开。本篇先给出通用武器库(分治、位图、堆、Trie、外排序)与选型对照,再逐一拆解 10 道经典题:找出相同 URL、高频词 Top100、访问最多的 IP、不重复整数、判断数是否存在、最热门查询串、不同电话号码计数、中位数、按频度排序、Top500。
导语:前两篇解决"怎么拆"和"怎么稳",本篇解决"怎么看得见、怎么发得安全、怎么迁得过去"。核心 6 题:可观测性三支柱与 TraceId 透传、蓝绿/滚动/金丝雀与全链路灰度、服务网格的价值与代价、绞杀者模式迁移单体、容量规划与全链路压测,最后用"微服务反模式清单"压轴,共 20 题收官。
导语:本篇回答"微服务系统到底长什么样、怎么让它稳定运行"。先给出组件全景图与一次请求的完整链路(这是架构题的骨架),再逐个展开注册发现的上下线机制、网关与 BFF 的分层、配置中心的治理,然后是同步 vs 异步通信的选型矩阵,最后落到弹性设计五件套的正确使用顺序与服务间鉴权,共 7 题。
导语:微服务面试最容易失分的地方,不是"会不会用 Nacos / Gateway",而是说不清它为什么存在、代价是什么、边界怎么划。本篇先把架构演进讲清楚(单体 → SOA → 微服务 → 云原生),再给出拆分方法论(DDD 限界上下文)、粒度判断标准与"分布式单体"的自检清单,然后回答两个高频决策题:什么时候不该上微服务、数据该不该共享库,最后以"编排 vs 协同"收尾,共 7 题。
导语:前面《分布式(一)》讲过"脑裂与多数派仲裁"的理论(第 10 题),《Redis(三)》讲过缓存与集群的自动故障转移。本篇把视角拔到机房级容灾:RTO/RPO 怎么定、同城双活与异地多活怎么选、异地多活的核心难点与单元化改造、多机房数据同步与冲突解决、流量调度与"一键切流"的坑、容量水位与容灾演练,共 9 题。
导语:高可用的第一原则是「承认故障必然发生」。本篇围绕流量治理这套组合拳展开:限流(算法选择、单机 vs 分布式、放在哪层、阈值怎么定)、熔断(状态机、Sentinel 与 Hystrix 的分野、隔离方式)、超时(最容易被忽略却性价比最高)、降级(分级预案、开关、演练),共 10 题。
导语:MQ 篇讲的是「消息不丢、重复消费、幂等、积压处理」(见《消息队列通用》),Java 并发与 JVM 篇讲的是「线程池原理、GC 原理」。本篇只谈架构决策:一个调用该不该异步、削峰填谷怎么设计、异步后一致性/排障/体验怎么补、线程池为什么要按业务隔离、容器里 JVM 与线程池怎么调、容量怎么算,共 10 题。
导语:Redis 篇已经把「穿透 / 击穿 / 雪崩、Cache-Aside、延迟双删、更新 DB 再删缓存」这些应用与单库视角的题讲透了(见《Redis(四)》)。本篇只谈架构视角:缓存该分几层、本地 + 分布式多级缓存怎么组织、多副本 / 多机房下一致性怎么兜底、热点与容量怎么规划、缓存整体宕掉时如何保护 DB,共 10 题。
导语:分布式不是"拆成多个服务"就完事了,真正难的是让它在部分节点故障时依然可用。本篇按"流量治理 → 服务治理 → 稳定性保障"三层展开:限流算法与集群限流、熔断降级与隔离、拆分原则与注册发现、负载均衡与 RPC 原理、会话与缓存一致性,最后落到链路追踪、顺序性、MQ 与高可用综合设计,共 14 题。
导语:分布式事务是架构面试的"必答题",也是最容易答得空泛的一章。本篇先把底层协议讲透(2PC / 3PC / XA 的流程与缺陷),再给出完整的方案谱系与选型决策,然后逐个拆开柔性事务的四种落地姿势——TCC、Saga、本地消息表、MQ 事务消息,补上很少有人提但生产必需的对账兜底,落到 Seata 的 AT 模式与 TC/TM/RM 执行流程;后半篇补齐与事务强绑定的两块内容——分布式 ID(唯一标识、雪花算法时钟回拨、号段模式)与幂等设计(唯一索引、Token、状态机,以及幂等/去重/防重放的层次分工),共 18 题。
