导语:gRPC 面试的必答题几乎绕不开三件事——为什么偏偏选了 HTTP/2、Protobuf 到底快在哪、四种通信模式各用在什么场景。本篇先用图把 HTTP/2 的二进制分帧与多路复用(以及它没能解决的 TCP 队头阻塞)讲清楚,再逐字节拆开 Protobuf 的 Tag-Length-Value / Varint / ZigZag 编码与字段演进规则,接着画出 gRPC 四种通信模式的时序,补齐 Metadata / Deadline / Interceptor / 状态码这套"工程必备件",最后给出 Dubbo 与 gRPC 的完整对比与选型建议,共 6 题。
导语:Dubbo 面试真正的主战场在这里——注册中心、负载均衡、集群容错、SPI 四件套几乎是逢面必考,而且很容易问到源码级深度。本篇把 5 种负载均衡(含一致性哈希虚拟节点)、6 种集群容错(含"重试放大流量"的坑)、Dubbo SPI 为何优于 Java SPI(含 Adaptive / Wrapper / Activate 三要素)、协议选型与报文结构,以及超时重试的配置优先级与服务降级一次讲透,并补上 Dubbo 3 的关键变化,共 7 题。
导语:Dubbo 面试的第一层不是「Dubbo 怎么用」,而是「RPC 到底是什么、一次远程调用中间经过了什么」——这是能把"背配置的人"和"懂原理的人"区分开的分水岭。本篇先用 5 题打透 RPC 基础原理(定义与边界、完整调用链路、框架分层、动态代理、序列化选型),再落地到 Dubbo 的架构五角色、十层分层与服务暴露/引用流程,共 7 题。
导语:承接第一篇,本篇啃最后一座山——内存管理与实战。先对比
ByteBuf与 JDKByteBuffer的差异,讲清 ByteBuf 的四种分类与选型;再深入 引用计数与内存泄漏防护(线上最常见的踩坑点);然后图解 零拷贝的五个层次;最后收尾于 TCP 粘包拆包与 Netty 拆包器、编解码器体系、IO 线程阻塞问题 与 心跳保活机制,共 9 题。
导语:Netty 面试的「三座大山」是——线程模型、Pipeline 责任链、内存管理。本篇打前两座:先说清「Netty 是什么、为什么高性能、有哪些核心组件」,再用图把 Reactor 三种模型的演进 和 Netty 主从多线程模型 画明白,接着深挖
NioEventLoop的事件循环与 JDK epoll 空轮询 Bug 的修复,最后讲透 Pipeline 的双向链表结构 与 入站/出站事件传播顺序,共 9 题。
导语:这一篇是智力题的"进阶区",也是区分度最高的部分。覆盖概率与贝叶斯的反直觉结论(三门问题、两个孩子、检测阳性)、博弈与不变量的构造(100 苹果、25 匹马、猴子搬香蕉)、公共知识的归纳链(病狗与黑帽)、数学与数论(剩余定理、连续整数之和),最后给出「如何把智力题思维迁移到工程与系统设计」的收尾套路。
导语:智力题在面试里不考背诵,考的是"把生活语言翻译成数学模型"的能力——拆解条件、找约束、找不变量、验证边界。本篇覆盖最高频的四大类:信息量与编码(称重/药丸)、状态转移(分水/计时)、逻辑推理(真假话/标签/握手)、公共知识(囚犯与灯泡),共 14 题,每题都给出"可迁移的套路"。
导语:行为型模式是面试最常问"项目怎么用"的一章。本篇讲透观察者、策略、状态、责任链、模板方法五个高频模式的原理与落地,说清「策略 vs 状态」这组最易混的对比、状态机框架选型、其余行为型速览;最后给出三组高频综合设计题(支付系统、订单系统,以及如何判断该用哪个模式)与"你项目里用了什么设计模式"的高分答法,共 12 题。
导语:结构型模式是面试最爱挖源码的一章——「JDK 动态代理和 CGLIB 有什么区别」「Spring AOP 用哪个」几乎是必问;而「装饰器 vs 代理」是最容易混淆的一组。本篇拆开适配器的两种实现、代理三件套(静态代理 / JDK Proxy / CGLIB)与 Spring AOP 的代理选择规则、装饰器与 Java IO、桥接与 JDBC,并系统盘点 Spring / JDK / Netty / Dubbo 中的设计模式,共 12 题。
导语:设计模式面试的第一层是「原则」——不背原则直接讲模式,会被认为是"背了 23 个名字";第二层是「创建型」——单例、工厂、Builder 是真正的必考项。本篇给出设计模式的标准答题结构、SOLID 五原则的落地口径、工厂三兄弟的准确区分、单例的六种写法与三种破坏方式,以及 Builder/原型的适用边界,共 11 题。
