面试知识

Java(编程语言)全栈高级面试知识体系

00-总览与路线 面试知识整理。

Java(编程语言)全栈高级面试知识体系

01 Java(编程语言)基础与并发

01.1 Java(编程语言)核心基础

面向对象

集合框架

泛型

反射

注解

异常体系

01.2 Java(编程语言)并发基础

线程生命周期

线程安全

JMM(Java 内存模型)

happens-before(先行发生规则)

volatile(可见性关键字)

synchronized(同步锁)

Lock(锁接口)

01.3 锁体系

JVM(Java 虚拟机)锁

synchronized底层

偏向锁

轻量级锁

重量级锁

锁升级

CAS(比较并交换)

AQS(抽象队列同步器)

ReentrantLock(可重入锁)

ReadWriteLock(读写锁)

02 JVM(Java 虚拟机)与线上排障

JVM(Java 虚拟机)生命周期

启动阶段

初始化阶段

运行阶段

关闭阶段

Shutdown Hook(关闭钩子)

daemon thread(守护线程)

non-daemon thread(非守护线程)

类生命周期

Loading(加载)

Linking(链接)

Initialization(初始化)

Using(使用)

Unloading(卸载)

对象生命周期

内存分配

零值初始化

对象头设置

构造方法执行

可达性判断

GC(垃圾回收)回收

内存结构

程序计数器

虚拟机栈

本地方法栈

方法区

元空间

GC(垃圾回收)

引用计数

可达性分析

标记清除

标记整理

复制算法

分代收集

G1(垃圾优先回收器)

ZGC(低延迟垃圾回收器)

线上排障

OOM(内存溢出)

Full GC(完全垃圾回收)

CPU(中央处理器)飙高

死锁

内存泄漏

jmap(内存映射工具)

jstack(线程栈工具)

Arthas(Java 诊断工具)

03 Redis(远程字典服务)从基础到精通

Redis(远程字典服务)基础

数据类型

底层数据结构

单线程模型

I/O(输入输出)多路复用

过期删除

内存淘汰

Redis(远程字典服务)持久化

RDB(快照持久化)

AOF(追加日志)

混合持久化

主从复制

Redis(远程字典服务)高可用

单机

主从

哨兵

集群

分片

故障转移

Redis(远程字典服务)分布式锁

JVM(Java 虚拟机)锁对比

SET NX PX(不存在才设置并带过期时间)

Lua(脚本语言)原子解锁

Redisson(Redis 客户端)

看门狗

RedLock(红锁)

锁续期

锁误删

锁过期

脑裂问题

04 MySQL(关系型数据库)与分库分表

MySQL(关系型数据库)基础

SQL(结构化查询语言)

InnoDB(事务存储引擎)

B+Tree(多路平衡树)

聚簇索引

二级索引

回表

覆盖索引

事务与MVCC(多版本并发控制)

ACID(原子性、一致性、隔离性、持久性)

隔离级别

undo log(回滚日志)

redo log(重做日志)

binlog(二进制日志)

Read View(读视图)

版本链

快照读

当前读

MySQL(关系型数据库)锁

行锁

表锁

间隙锁

临键锁

意向锁

元数据锁

死锁

锁等待

05 MQ(消息队列)

Kafka(分布式日志消息系统)

RocketMQ(分布式消息队列)

RabbitMQ(消息队列)

消息可靠性

防丢失

重复消费

顺序消费

延迟消息

事务消息

死信队列

重试机制

幂等消费

06 分布式与微服务

单体架构

微服务架构

服务拆分

DDD(领域驱动设计)

CAP(一致性、可用性、分区容错)

BASE(基本可用、软状态、最终一致)

分布式事务

2PC(两阶段提交)

TCC(Try Confirm Cancel,尝试确认取消)

SAGA(长事务模式)

Seata(分布式事务框架)

TX-LCN(事务协调框架)

最大努力通知

可靠消息最终一致性

微服务核心组件

Gateway(网关)

Registry(注册中心)

Config Center(配置中心)

Load Balancer(负载均衡器)

Circuit Breaker(熔断器)

Trace(链路追踪)

限流熔断

Sentinel(流量治理框架)

降级

熔断

限流

线程池隔离

灰度发布

发布治理

蓝绿发布

金丝雀发布

Header(请求头)链路透传

回滚策略

可观测性

Log(日志)

Metrics(指标)

Trace(链路追踪)

TraceId(链路标识)

07 Spring(Java 应用框架)生态

Spring Boot(快速开发框架)

Spring Cloud(微服务框架)

Spring Security(安全框架)

MyBatis(持久层框架)

Bean(对象实例)生命周期

AOP(面向切面编程)

事务传播

网关

注册中心

08 Zookeeper(分布式协调服务)

ZAB(原子广播协议)

Leader(领导者)选举

临时节点

顺序节点

Watcher(监听器)

分布式锁

注册发现

配置中心

09 Linux(操作系统)网络与 Netty(网络通信框架)

Linux(操作系统)运维

CPU(中央处理器)排查

内存排查

磁盘排查

网络排查

网络协议

TCP/IP(传输控制协议/互联网协议)

HTTP(超文本传输协议)

HTTPS(安全超文本传输协议)

MQTT(消息队列遥测传输协议)

Netty(网络通信框架)

Epoll(事件轮询机制)

Reactor(反应器模型)

Channel(通道)

EventLoop(事件循环)

10 存储搜索时序

PostgreSQL(关系型数据库)

MongoDB(文档数据库)

ClickHouse(列式数据库)

Elasticsearch(搜索引擎)

物化视图

倒排索引

集群

备份

数据迁移

11 DevOps(开发运维一体化)与可观测性

Docker(容器技术)

Jenkins(持续集成工具)

CI/CD(持续集成/持续交付)

Kubernetes(容器编排平台)

ELK(日志系统)

Prometheus(监控系统)

SkyWalking(链路追踪系统)

日志

指标

链路追踪

告警

事故复盘

12 支付交易、资金一致性与订单履约

Stripe(国际支付网关)

PayPal(国际支付平台)

Airwallex(空中云汇)

PhotonPay(光子易支付)

支付交易模型

Payment Order(支付单)

Payment Session(支付会话)

Refund Order(退款单)

Ledger Entry(账务分录)

Webhook(回调通知)

验签

防重放

幂等

唯一流水号

预扣费

退款

Reconciliation(对账)

Billing(出账)

Settlement(结算)

资金一致性

订单履约

OMS(订单管理系统)

WMS(仓储管理系统)

库存冻结与释放

下游仓订单

面单异步拉取

物流轨迹同步

异常补偿

13 前端全栈

Vue3(前端框架)

React(前端框架)

Nuxt3(Vue 服务端渲染框架)

TypeScript(类型脚本)

SSR(服务端渲染)

SSG(静态站点生成)

SEO(搜索引擎优化)

Pinia(状态管理库)

ECharts(图表库)

14 架构设计、技术选型与业务指标

架构设计方法

需求与约束识别

容量估算

数据流与状态建模

可用性与一致性权衡

安全、成本与迁移

演进路线与技术债

稳定性与容量

SLI(服务等级指标)

SLO(服务等级目标)

错误预算

峰值 QPS(每秒查询率)

线程池与连接池容量

压测与降级预案

业务指标与埋点

指标口径

事件模型

数据质量

漏斗与留存

归因边界

决策闭环

15 项目串讲与综合题库

WMS(仓储管理系统)与库存

跨境物流与海外仓履约

支付交易与资金一致性

异步任务与 Runner(执行器)调度

IoT(物联网)报警风暴治理

高频追问题库

系统设计题训练

贯穿全部模块的精通能力

L1(一级)概念级

L2(二级)机制级

L3(三级)源码级

L4(四级)架构实战级

设计思想

Divide and Conquer(分治)

Asynchronous(异步)

Buffering(缓冲)

Parallelism(并行)

Decoupling(解耦)

Backpressure(背压)

Locality(局部性)

Space-Time Tradeoff(时空权衡)

Idempotency(幂等)

State Machine(状态机)

Lease(租约)与 Fencing Token(栅栏令牌)

Failure-Oriented Design(失败导向设计)

版本与源码视角

JDK(Java 开发工具包)8 基线

JDK(Java 开发工具包)17 关键变化

JDK(Java 开发工具包)21 关键变化

OpenJDK(开放 Java 开发工具包)源码调用链

图形与数据表达

Mermaid(图表语法)流程图与时序图

PlantUML(开源建模工具)复杂结构图

ImageGen(图像生成能力)教学认知图

具体数据与失败路径演绎