一、Java 基础知识
-
面向对象编程
- 四大特性:封装、继承、多态、抽象
- 访问修饰符(public/private/protected/default)
- 接口 vs 抽象类
- 继承与组合的区别
-
核心类库
- 集合框架:List、Set、Map 的实现类(ArrayList、LinkedList、HashMap 等)
- 字符串处理:String、StringBuilder、StringBuffer 的区别
- 日期与时间 API(Java 8+):LocalDateTime、Instant、DateTimeFormatter
-
异常处理
- 受检异常(Checked Exception)与非受检异常(RuntimeException)
- try-catch-finally 的执行顺序
- 自定义异常的设计
-
多线程与并发
- 创建线程的方式(继承 Thread、实现 Runnable/Callable)
- 线程池(ExecutorService)的原理与使用
- 同步机制:synchronized、Lock、ReentrantLock
- 并发工具类:CountDownLatch、CyclicBarrier、Semaphore
- JUC 包(java.util.concurrent)中的常用类
二、JVM 原理
-
内存模型
- JVM 内存区域划分(堆、栈、方法区、本地方法栈、程序计数器)
- 对象创建与垃圾回收机制
- 内存溢出(OOM)和内存泄漏的原因与排查
-
垃圾回收(GC)
- 常见 GC 算法(标记 - 清除、标记 - 整理、复制、分代收集)
- 垃圾回收器(Serial、Parallel、CMS、G1、ZGC)的特点与适用场景
- GC 调优的常用参数(-Xms、-Xmx、-XX:NewRatio 等)
-
类加载机制
- 类加载过程(加载、验证、准备、解析、初始化)
- 双亲委派模型的原理与作用
三、高级特性
-
反射机制
- 反射的应用场景(框架开发、动态代理)
- Class 类与 Method/Field/Constructor 的使用
-
注解(Annotation)
- 自定义注解与元注解(@Retention、@Target 等)
- 注解处理器(Annotation Processor)
-
泛型
- 泛型擦除的原理
- 通配符(? extends T、? super T)的使用
四、常用框架
-
Spring/Spring Boot
- IoC(控制反转)与 DI(依赖注入)的实现原理
- AOP(面向切面编程)的应用场景与实现方式
- Spring MVC 的请求处理流程
- Spring Boot 的自动配置原理
-
Spring Cloud
- 微服务架构的核心组件(服务注册与发现、配置中心、网关、熔断器)
- 常用组件:Eureka、Consul、Nacos、Zuul、Gateway、Hystrix、Sentinel
-
MyBatis/Hibernate
- ORM 框架的基本原理
- MyBatis 的 SQL 映射文件与动态 SQL
- Hibernate 的缓存机制(一级缓存、二级缓存)
五、数据库
-
关系型数据库
- SQL 优化(索引优化、查询优化)
- 事务的 ACID 特性与隔离级别
- 锁机制(行锁、表锁、悲观锁、乐观锁)
-
NoSQL
- Redis:数据类型、缓存雪崩 / 穿透 / 击穿、持久化机制(RDB/AOF)
- MongoDB:文档模型、索引优化
六、分布式系统
-
分布式理论
- CAP 定理与 BASE 理论
- 分布式事务的解决方案(2PC、3PC、TCC、事务补偿)
-
服务治理
- 服务注册与发现的实现方式
- 负载均衡算法(轮询、随机、加权、IP 哈希)
-
分布式缓存
- 缓存与数据库的一致性问题
- 缓存失效策略(LRU、LFU、FIFO)
-
消息队列
- Kafka、RabbitMQ、RocketMQ 的对比与适用场景
- 消息幂等性与顺序性的保证
七、设计模式与架构
-
设计模式
- 常见设计模式(单例、工厂、观察者、策略、责任链等)
- 设计模式的应用场景与优缺点
-
系统架构
- 高并发、高可用、高性能系统的设计与优化
- 常见架构模式(微服务、API 网关、CQRS、事件驱动)
八、算法与数据结构
-
数据结构
- 数组、链表、栈、队列、树(二叉树、红黑树)、图
- 哈希表的实现原理与冲突解决方法
-
算法
- 排序算法(快排、归并、堆排序)
- 查找算法(二分查找)
- 递归、动态规划、贪心算法
九、其他常见问题
-
性能优化
- 代码优化(减少创建对象、避免循环中创建字符串)
- 数据库优化(索引优化、分库分表)
-
网络编程
- TCP/IP 协议的三次握手与四次挥手
- NIO 与 BIO 的区别
-
容器化与 DevOps
- Docker 与 Kubernetes 的基本概念
- CI/CD 流程与工具(Jenkins、GitLab CI)
十、项目经验与软实力
- 项目亮点:技术选型、难点解决方案、性能优化
- 系统设计:从需求到架构的完整设计思路
- 软实力:问题排查能力、团队协作、技术热情