知识点整理
一、Java 基础知识
-
面向对象特性
- 封装、继承、多态、抽象的概念及应用
- 重载(Overload)与重写(Override)的区别
- 抽象类与接口的区别(Java 8+ 接口默认方法)
-
基本数据类型
- 8 种基本数据类型及其包装类
- 自动装箱与拆箱(Autoboxing)
Integer缓存机制(Integer.valueOf())
-
字符串处理
String、StringBuilder、StringBuffer的区别- 字符串常量池(String Pool)
substring()方法内存泄漏问题(Java 6)
二、集合框架
-
常用集合
ArrayList与LinkedList的底层结构HashMap实现原理(Java 7 数组+链表 vs Java 8 数组+链表+红黑树)ConcurrentHashMap线程安全机制(Java 7 分段锁 vs Java 8 CAS+Synchronized)
-
集合源码
HashMap的扩容机制(resize())CopyOnWriteArrayList的写时复制原理TreeMap红黑树插入与平衡操作
三、多线程与并发
-
线程基础
- 创建线程的三种方式及其优缺点
- 线程生命周期(NEW、RUNNABLE、BLOCKED、WAITING、TIMED_WAITING、TERMINATED)
- 线程池核心参数(corePoolSize、maximumPoolSize、workQueue 等)
-
同步机制
synchronized底层实现(对象头 Mark Word、Monitor)ReentrantLock与synchronized的区别volatile关键字(内存可见性、禁止指令重排)
-
JUC 包
CountDownLatch、CyclicBarrier、Semaphore的应用场景Future和CompletableFuture的使用- 原子类(
AtomicInteger等)的 CAS 实现
四、JVM 底层原理
-
内存模型
- JVM 内存区域划分(堆、栈、方法区、本地方法栈、程序计数器)
- 堆内存分代(新生代、老年代)及垃圾回收机制
- OOM(OutOfMemoryError)常见原因及排查方法
-
类加载机制
- 类加载过程(加载、验证、准备、解析、初始化)
- 双亲委派模型(Parent Delegation Model)
- 自定义类加载器实现
-
性能调优
- GC 算法(CMS、G1、ZGC)的特点及适用场景
- JVM 常用参数(-Xms、-Xmx、-XX:SurvivorRatio 等)
- 性能分析工具(jstat、jmap、VisualVM、MAT)
五、数据库与ORM
-
JDBC 操作
- JDBC 连接步骤(注册驱动、获取连接、执行 SQL、处理结果、关闭资源)
- 预编译语句(PreparedStatement)的优点
- 数据库连接池原理(HikariCP、Druid)
-
事务管理
- 数据库事务四大特性(ACID)
- Spring 事务传播行为(PROPAGATION_REQUIRED、PROPAGATION_REQUIRES_NEW 等)
- 分布式事务解决方案(2PC、TCC、Saga)
-
ORM 框架
- Hibernate 一级缓存与二级缓存
- MyBatis 动态 SQL 实现
- 延迟加载与 N+1 查询问题
六、设计模式与架构
-
设计模式
- 单例模式(饿汉式、懒汉式、双重检查锁、静态内部类、枚举)
- 工厂模式(简单工厂、工厂方法、抽象工厂)
- 观察者模式与发布-订阅模式的区别
-
微服务架构
- 服务拆分原则(按领域、按业务流程)
- API 网关(Spring Cloud Gateway、Kong)
- 服务注册与发现(Eureka、Consul、Nacos)
-
高并发设计
- 限流算法(令牌桶、漏桶)
- 熔断降级(Hystrix、Sentinel)
- 缓存策略(Cache-Aside、Read-Through、Write-Through)
七、网络编程
-
Socket 编程
- TCP 与 UDP 的区别
- BIO、NIO、AIO 的对比
- 长连接与短连接的应用场景
-
HTTP 协议
- HTTP 1.1 与 HTTP 2.0 的主要区别
- RESTful API 设计原则
- 常见 HTTP 状态码(200、301、302、400、401、403、404、500)
八、新技术与框架
-
Spring 框架
- Spring IOC(控制反转)与 DI(依赖注入)
- Spring AOP(面向切面编程)底层实现(JDK 动态代理 vs CGLIB)
- Spring 事务管理实现原理
-
响应式编程
- Reactor 框架(Flux、Mono)
- 响应式流规范(Reactive Streams)
- 背压机制实现原理
-
容器化与云原生
- Docker 镜像与容器的区别
- Kubernetes 核心概念(Pod、Deployment、Service)
- CI/CD 流程(Jenkins、GitLab CI、GitHub Actions)
九、算法与数据结构
-
常见算法
- 排序算法(快排、归并排序、堆排序)
- 查找算法(二分查找)
- 递归与动态规划(斐波那契数列、背包问题)
-
数据结构
- 链表、栈、队列、树(二叉树、红黑树)
- B 树与 B+ 树的区别
- 图的遍历(DFS、BFS)
十、项目与场景题
-
项目经验
- 项目架构设计与技术选型
- 遇到的技术挑战及解决方案
- 性能优化实践(数据库、JVM、代码层面)
-
场景设计
- 高并发场景下的限流、熔断、降级方案
- 海量数据处理(分库分表、数据分片)
- 分布式唯一 ID 生成方案(UUID、Snowflake)