Appearance
自测清单(主入口)
升级自 2024 版问题清单:题目全量保留,新增答案定位、掌握度标记、缺口标注。 用法:每季度过一遍 P0 部分,在【掌握度】列标记 ✅ 已掌握 / 🔶 模糊 / ❌ 未学;模糊与未学项安排重读。 图例:优先级 P0(面试必考)>P1>P2;🕳 = 库内尚无对应答案文章(待补全,见优化计划)。
Java 基础(P0)
| # | 题目 | 答案定位 | 掌握度 |
|---|---|---|---|
| 1 | List 和 Set 的区别 | java基础/ | ☐ |
| 2 | HashSet 如何保证不重复 | java基础/ | ☐ |
| 3 | HashMap 线程安全吗,为什么(画图说明多线程不安全) | java基础/ | ☐ |
| 4 | HashMap 的扩容过程 | java基础/ | ☐ |
| 5 | HashMap 1.7 与 1.8 区别与优化 | java基础/ | ☐ |
| 6 | final finally finalize | java基础/ | ☐ |
| 7 | 强/软/弱/虚引用 | JVM/补充-强引用软引用弱引用虚引用.md | ☐ |
| 8 | Java 反射 | java基础/ | ☐ |
| 9 | Arrays.sort 与 Collections.sort 实现原理 | java基础/ | ☐ |
| 10 | LinkedHashMap 的应用 | java基础/ | ☐ |
| 11 | Cloneable 接口实现原理 | java基础/ | ☐ |
| 12 | 异常分类与处理机制 | java基础/ | ☐ |
| 13 | wait 和 sleep 的区别 | java基础/ | ☐ |
| 14 | 数组在内存中如何分配 | JVM/Java内存结构.md | ☐ |
Java 并发(P0)
| # | 题目 | 答案定位 | 掌握度 |
|---|---|---|---|
| 1 | synchronized 实现原理与锁优化 | Java 并发/ | ☐ |
| 2 | volatile 实现原理 | Java 并发/ | ☐ |
| 3 | Java 的信号灯(Semaphore) | Java 并发/ | ☐ |
| 4 | synchronized 静态方法与普通方法区别 | Java 并发/ | ☐ |
| 5 | 所有线程等待某事件后才执行怎么实现 | Java 并发/ | ☐ |
| 6 | CAS?缺陷与解决 | Java 并发/ | ☐ |
| 7 | synchronized 和 Lock 区别 | Java 并发/ | ☐ |
| 8 | Hashtable 怎么加锁 | Java 并发/ | ☐ |
| 9 | HashMap 并发问题 | java基础/ | ☐ |
| 10 | ConcurrentHashMap,1.8 为何用红黑树 | Java 并发/ | ☐ |
| 11 | AQS | Java 并发/ | ☐ |
| 12 | 死锁检测与预防 | Java 并发/ | ☐ |
| 13 | Java 内存模型(JMM) | JVM/Java内存模型.md | ☐ |
| 14 | 多线程下 i++ 正确性保证 | Java 并发/ | ☐ |
| 15 | 线程池种类、区别与场景 | 深度解读线程池设计思想及源码实现.md | ☐ |
| 16 | 线程池实现原理与调度过程 | 同上 | ☐ |
| 17 | 线程池调优,最大线程数确认 | 同上 | ☐ |
| 18 | ThreadLocal 原理与注意事项 | Java 并发/ | ☐ |
| 19 | CountDownLatch 与 CyclicBarrier 差别 | Java 并发/ | ☐ |
| 20 | LockSupport 工具 | Java 并发/ | ☐ |
| 21 | Condition 接口及实现原理 | Java 并发/ | ☐ |
| 22 | Fork/Join 框架 | Java 并发/ | ☐ |
| 23 | 分段锁原理,锁粒度减小的思考 | Java 并发/ | ☐ |
| 24 | 八种阻塞队列及特性 | 解读 java 并发队列 BlockingQueue.md | ☐ |
| 25 | 虚拟线程 vs 线程池(JDK21) | 🆕 虚拟线程-vs-线程池-JDK21.md | ☐ |
Spring(P0)
| # | 题目 | 答案定位 | 掌握度 |
|---|---|---|---|
| 1 | BeanFactory 和 FactoryBean | Spring/ | ☐ |
| 2 | Spring IOC 理解与初始化过程 | Spring/ | ☐ |
| 3 | BeanFactory 和 ApplicationContext | Spring/ | ☐ |
| 4 | Bean 生命周期如何管理 | Spring/ | ☐ |
| 5 | Bean 加载过程 | Spring/ | ☐ |
| 6 | 让你实现 Spring AOP 怎么做 | Spring/ | ☐ |
| 7 | 让你实现 Spring IOC 注意什么 | Spring/ | ☐ |
| 8 | Spring 事务管理与机制 | Spring/ | ☐ |
| 9 | 事务传播行为有哪些、干什么用 | Spring/ | ☐ |
| 10 | Spring 用到的设计模式 | Spring/ | ☐ |
| 11 | Spring MVC 工作原理 | Spring/ | ☐ |
| 12 | Spring 循环注入(依赖)原理 | Spring/ | ☐ |
| 13 | AOP 理解、术语与协作 | Spring/ | ☐ |
| 14 | Controller 并发安全保证 | Spring/ | ☐ |
| 15 | Spring Boot 3(Jakarta/AOT/Native) | 🆕 SpringBoot3升级要点.md | ☐ |
JVM(P0)
| # | 题目 | 答案定位 | 掌握度 |
|---|---|---|---|
| 1 | 详细 JVM 内存模型 | JVM/ | ☐ |
| 2 | 什么情况下内存溢出/泄漏 | JVM性能兼容、故障处理/ | ☐ |
| 3 | Java 线程栈 | JVM/ | ☐ |
| 4 | 年轻代到老年代晋升判断条件 | JVM/ | ☐ |
| 5 | fullGC 频繁怎么线上排查 | JVM性能兼容、故障处理/ | ☐ |
| 6 | 双亲委派与打破场景 | JVM/ | ☐ |
| 7 | 类的实例化顺序 | JVM/ | ☐ |
| 8 | GC 机制,何时触发 MinorGC | JVM/ | ☐ |
| 9 | 一次完整 GC 流程(ygc 到 fgc) | JVM/ | ☐ |
| 10 | 各回收器优缺点,重点 CMS、G1 | JVM/ | ☐ |
| 11 | 各回收算法 | JVM/ | ☐ |
| 12 | OOM / StackOverflow / PermGen 错误 | JVM性能兼容、故障处理/ | ☐ |
| 13 | ZGC/Shenandoah 原理与调优 | 🆕 GC现代化-ZGC与Shenandoah.md | ☐ |
数据库 / MySQL(P0)
| # | 题目 | 答案定位 | 掌握度 |
|---|---|---|---|
| 1 | mysql 分页优化 | 数据库/ | ☐ |
| 2 | 悲观锁、乐观锁 | 数据库两大神器之锁.md | ☐ |
| 3 | 组合索引最左原则 | 数据库两大神器之索引.md | ☐ |
| 4 | mysql 表锁、行锁 | 同上 | ☐ |
| 5 | mysql 性能优化 | 数据库语句优化手段.md | ☐ |
| 6 | 索引分类 B+/hash,什么场景用什么 | 数据库两大神器之索引.md | ☐ |
| 7 | 事务特性与隔离级别 | 脏读幻读不可重复读.md | ☐ |
| 8 | 分库分表策略与全表查询 | 数据库怎么分库分表.md | ☐ |
| 9 | MySQL 8 新特性 | 🆕 MySQL8新特性速览.md | ☐ |
Redis / 缓存(P0,🆕 已补全)
| # | 题目 | 答案定位 | 掌握度 |
|---|---|---|---|
| 1 | 缓存穿透、击穿、雪崩 | 🆕 缓存穿透-击穿-雪崩.md | ☐ |
| 2 | Redis 分布式锁怎么实现 | 🆕 同上(互斥锁方案节)+ 高可用篇 Redisson 节 | ☐ |
| 3 | Redis 数据类型与底层实现 | 🆕 数据类型与底层编码.md | ☐ |
| 4 | 持久化方式与优缺点 | 🆕 持久化-RDB与AOF.md | ☐ |
| 5 | 集群、高可用原理 | 🆕 高可用与部署选型-主从哨兵与集群.md | ☐ |
| 6 | 数据淘汰策略 | 🆕 过期删除与内存淘汰.md | ☐ |
| 7 | 缓存与数据库一致性 | 🆕 同 1(追问链节) | ☐ |
Netty / 网络(P1)
| # | 题目 | 答案定位 | 掌握度 |
|---|---|---|---|
| 1 | BIO、NIO、AIO | netty/ | ☐ |
| 2 | Netty 各大组件 | 同上 | ☐ |
| 3 | Netty 线程模型 | 同上 | ☐ |
| 4 | TCP 粘包/拆包原因与解决 | 同上 | ☐ |
| 5 | 序列化协议选择 | 同上 | ☐ |
| 6 | Netty 零拷贝实现 | 同上 | ☐ |
| 7 | Netty 高性能体现在哪 | 同上 | ☐ |
分布式(P1)
| # | 题目 | 答案定位 | 掌握度 |
|---|---|---|---|
| 1 | 分布式事务理解 | 分布式理论/ | ☐ |
| 8 | 分布式事务(同系列) | 同上 | ☐ |
| 9 | 负载均衡算法 | 🕳 组件层待补 | ☐ |
| 15 | 分布式集群下唯一序列号 | 🆕 分布式ID-从雪花算法到生产实现.md | ☐ |
| 16 | 如何做分布式锁 | 🆕 缓存穿透-击穿-雪崩.md | ☐ |
| 21 | 全局 ID | 同 15 | ☐ |
| 2/3 | Dubbo 服务发布到消费、服务治理 | 🕳 待补(Dubbo 体系) | ☐ |
| 10/12/20 | Zookeeper 用途/原理/选举 | 🕳 待补(ZK 体系) | ☐ |
| 5/18 | MQ 消息丢失保证 | 🆕 消息不丢失与不重复.md | ☐ |
| 17 | MQ 选型对比 | 🆕 MQ选型对比-Kafka-RocketMQ-RabbitMQ.md | ☐ |
| 新增 | Kafka 架构与高性能原理 | 🆕 Kafka架构与高性能原理.md | ☐ |
| 新增 | 顺序消息 | 🆕 顺序消息.md | ☐ |
| 新增 | 事务消息与延迟消息 | 🆕 事务消息与延迟消息.md | ☐ |
| 新增 | 系统设计四场景(秒杀/短链/Feed/限流) | 🆕 系统设计/ | ☐ |
安全 / 支付(P2,🆕)
| # | 题目 | 答案定位 | 掌握度 |
|---|---|---|---|
| 1 | 支付回调如何防伪造/重放 | 🆕 支付回调的HMAC验签与幂等设计.md | ☐ |
| 2 | 接口幂等性的实现 | 同上(CAS 节) | ☐ |
金融信贷 · 设计层(P2,🆕 架构/系统/模块三层)
| # | 题目 | 答案定位 | 掌握度 |
|---|---|---|---|
| 1 | 信贷核心系统群怎么拆分(上下文→系统映射) | 🆕 信贷核心系统群架构总览 | ☐ |
| 2 | 授信系统的额度模型与并发扣减设计 | 🆕 授信系统设计 + 额度中心模块设计 | ☐ |
| 3 | 还款冲抵顺序与批量代扣设计 | 🆕 还款系统设计 | ☐ |
| 4 | 对账中心模块划分与对碰算法 | 🆕 对账中心系统设计 + 对账差错处理模块 | ☐ |
| 5 | 决策引擎的规则编排与性能预算 | 🆕 决策引擎系统设计 | ☐ |
| 6 | 计息模块的精度与断点续跑 | 🆕 计息模块设计 | ☐ |
| 7 | 回调验签模块的三渠道统一抽象 | 🆕 回调验签模块设计 | ☐ |
AI 应用工程(P3,🆕 规划)
| # | 题目 | 答案定位 | 掌握度 |
|---|---|---|---|
| 1 | RAG 检索增强:切分/嵌入/重排 | 🆕 RAG体系与项目定位.md | ☐ |
| 2 | Agent 设计:ReAct/工具调用/记忆 | 🆕 ReAct与LangGraph工程实践.md | ☐ |
| 3 | LLM 幻觉成因与缓解 | 🆕 LLM基础-Token上下文与幻觉.md | ☐ |
| 4 | Prompt Engineering 要点 | 🆕 系统提示词工程-从财务诊断说起.md | ☐ |
2026-10 大扩充(🆕 本批:javadoop 迁移 + 技术栈补全 + Go 轨,共 20 题)
并发深读(javadoop 系)
| # | 题目 | 答案定位 | 掌握度 |
|---|---|---|---|
| 1 | AQS 加锁全链路:acquire→addWaiter→acquireQueued 的自旋与挂起 | 🆕 [AQS源码精读一-加锁与队列](A-后端内核/java/Java 并发/AQS源码精读一-加锁与队列.md) | ☐ |
| 2 | 独占锁释放如何唤醒后继?条件队列与同步队列的转移 | 🆕 [AQS源码精读二](A-后端内核/java/Java 并发/AQS源码精读二-独占锁释放与条件队列.md) | ☐ |
| 3 | 共享模式与 Semaphore/CountDownLatch 的基座关系 | 🆕 [AQS源码精读三](A-后端内核/java/Java 并发/AQS源码精读三-共享模式与工具类基座.md) | ☐ |
| 4 | HashMap JDK7 成环与 JDK8 改造、ConcurrentHashMap 两代演进 | 🆕 HashMap与ConcurrentHashMap源码全解析 | ☐ |
| 5 | 读写锁的锁降级与写饥饿 | 🆕 [ReentrantReadWriteLock源码分析](A-后端内核/java/Java 并发/ReentrantReadWriteLock源码分析.md) | ☐ |
Spring / NIO 源码(javadoop 系)
| # | 题目 | 答案定位 | 掌握度 |
|---|---|---|---|
| 6 | refresh() 十二步顺序与扩展点埋伏位置 | 🆕 [Spring IOC容器源码分析](A-后端内核/框架与中间件/Spring/Spring IOC容器源码分析.md) | ☐ |
| 7 | AOP 代理创建链:wrapIfNecessary 到 JdkDynamicAopProxy | 🆕 [Spring AOP源码解析](A-后端内核/框架与中间件/Spring/Spring AOP源码解析.md) | ☐ |
| 8 | NioEventLoop.run() 的 select 与事件分发 | 🆕 [Netty源码分析二](A-后端内核/框架与中间件/web server/netty/Netty源码分析二-Pipeline与Handler.md) | ☐ |
| 9 | Netty 内存分配:PoolArena/PoolChunk/零拷贝三件套 | 🆕 [Netty源码分析三](A-后端内核/框架与中间件/web server/netty/Netty源码分析三-内存分配与ByteBuf.md) | ☐ |
JVM 深读
| # | 题目 | 答案定位 | 掌握度 |
|---|---|---|---|
| 10 | Metaspace 三层结构与类元数据生命周期 | 🆕 堆外内存Metaspace深入理解 | ☐ |
| 11 | 字符串常量池的 JDK6/7/8 演进(高频错误答案) | 🆕 字符串常量池 | ☐ |
2026 技术栈补全
| # | 题目 | 答案定位 | 掌握度 |
|---|---|---|---|
| 12 | MCP 协议与 function calling 的区别、企业落地四件套 | 🆕 MCP协议与企业落地 | ☐ |
| 13 | 向量检索四层选型(pgvector/Redis8/Milvus/Qdrant) | 🆕 向量检索选型 | ☐ |
| 14 | vLLM 与 SGLang 的核心差异(PagedAttention vs RadixAttention) | 🆕 自托管LLM推理-vLLM与SGLang | ☐ |
| 15 | Kafka 4 的 Queues(Share Groups)解决了什么 | 🆕 Kafka4-KRaft与Queues | ☐ |
| 16 | Redis 8 Vector Sets 与 Valkey 分叉的选型线 | 🆕 版本演进-Redis8新特性与Valkey分叉 | ☐ |
| 17 | JDK 25 并发终局:ScopedValues 转正与结构化并发时间线 | 🆕 [JDK25并发终局](A-后端内核/java/Java 并发/JDK25并发终局-ScopedValues与结构化并发.md) | ☐ |
Go 轨
| # | 题目 | 答案定位 | 掌握度 |
|---|---|---|---|
| 18 | goroutine 与 Java 虚拟线程的本质异同 | 🆕 从Java视角看Go-开篇 | ☐ |
| 19 | nil 接口陷阱与 slice 共享底层(Go 八坑选二) | 🆕 从Java视角看Go-开篇 | ☐ |
生产事故复盘
| # | 题目 | 答案定位 | 掌握度 |
|---|---|---|---|
| 20 | 范围条件断前缀 + 5w 回表 + LIMIT 1 → 连接池满的完整链条 | 🆕 线上慢SQL复盘 | ☐ |