我的生态
🧭
Java 面试指南覆盖面试高频考点,助你从容应对技术面试
logologo
  • 面试准备
    • 🎯 面试流程与时间线
    • 📝 简历编写技巧(STAR法则)
    • 💬 行为面试(BQ)题库与回答模板
    • 🧮 智力题与逻辑题 20 道
    • 💰 HR面与薪资谈判技巧
    • 🏢 大厂面经与岗位匹配
    • 📊 面试复盘与 Offer 选择
  • 计算机基础
    • 🌐 计算机网络(TCP/IP/HTTP/HTTPS)
    • 🖥️ 操作系统(进程线程/内存管理/IO模型)
    • 🔒 网络安全(HTTPS/认证授权/加密算法)
    • 🧮 数据结构与算法(数组/链表/树/哈希/排序)
  • Java 核心
    • 🧱 Java 基础(面向对象/异常/反射/泛型)
    • 📦 集合框架(ArrayList/LinkedList/HashMap/ConcurrentHashMap)
    • ⚡ 并发编程(synchronized/volatile/AQS/线程池/JMM)
    • ⚙️ JVM(内存模型/GC/类加载/调优)
    • 🌊 I/O 与网络(BIO/NIO/AIO/Netty/零拷贝)
    • ✨ Java 8~21 新特性(Lambda/Stream/虚拟线程)
  • 数据库
    • 🐬 MySQL(索引/事务/锁/SQL优化/主从复制)
    • 🔴 Redis(数据结构/持久化/缓存三兄弟/分布式锁)
    • 🍃 MongoDB(文档模型/聚合框架/分片集群/复制集)
    • 📊 其他数据库(PostgreSQL/达梦/GaussDB/TiDB 场景选型)
  • 框架与中间件
    • 🍃 Spring(IOC/AOP/事务/循环依赖)
    • 🥾 Spring Boot(自动配置/Starter/Actuator)
    • 🗃️ MyBatis(原理/缓存/动态SQL)
    • ☁️ Spring Cloud(服务发现/配置中心/网关)
    • 📨 消息队列(Kafka/RocketMQ 选型/可靠性/顺序消息)
    • 🔌 RPC 与注册中心(Dubbo/gRPC/ZooKeeper/Nacos)
    • 🔍 搜索引擎(Elasticsearch 原理/倒排索引/集群)
    • 🧩 其他中间件(XXL-JOB/ShardingSphere/Apollo)
  • 分布式架构
    • 📐 分布式理论(CAP/BASE/一致性模型)
    • 💰 分布式事务(2PC/TCC/Saga/Seata)
    • 🔒 分布式锁(Redis/ZK/DB 三种方案对比)
    • 🏆 三高架构(高性能/高并发/高可用设计)
  • 设计模式与系统设计
    • 🎭 设计模式(工厂/单例/代理/策略/模板)
    • 📐 架构模式(MVC/DDD/CQRS/事件驱动)
    • 🚀 系统设计(秒杀/短链/IM/支付系统)
  • 高频面试题
    • 📚 Java 基础 40 题
    • 📦 集合框架 30 题
    • ⚡️ 并发编程 35 题
    • ⚙️ JVM 30 题
    • 🐬 MySQL 30 题
    • 🔴 Redis 25 题
    • 🍃 Spring 25 题
    • 🌐 分布式 30 题
    • 🏗️ 系统设计 20 题
    • 📝 综合与场景题 30 题
    Java 基础
    面向对象三大特性(封装/继承/多态)
    重载 vs 重写
    值传递 vs 引用传递
    == 与 equals 区别
    String/StringBuilder/StringBuffer 对比
    异常体系(Error/Exception/RuntimeException)
    checked vs unchecked 异常
    try-catch-finally 执行顺序
    反射原理与应用场景
    泛型(类型擦除/通配符/上下界)
    注解(元注解/运行时注解)
    内部类(成员/静态/局部/匿名)
    集合框架
    ArrayList 源码与扩容机制
    LinkedList 源码与双端队列
    ArrayList vs LinkedList 对比
    HashMap 源码深度解析
    HashMap 扩容机制(resize)
    HashMap 红黑树化阈值设计
    LinkedHashMap 实现 LRU 缓存
    TreeMap 与红黑树
    HashSet 与 HashMap 关系
    ConcurrentHashMap JDK7 vs JDK8
    ConcurrentHashMap put 流程
    ConcurrentHashMap 扩容机制
    HashMap vs Hashtable vs ConcurrentHashMap
    并发编程
    进程 vs 线程 vs 协程
    Java内存模型(JMM)
    happens-before 原则
    volatile 可见性与禁止重排序
    synchronized 原理与锁升级
    synchronized 对象头(Mark Word)
    synchronized vs ReentrantLock
    CAS 原理与 ABA 问题
    AQS 抽象队列同步器原理
    ReentrantLock 公平锁 vs 非公平锁
    ReentrantReadWriteLock 读写锁
    Condition 条件队列
    CountDownLatch 原理与使用
    CyclicBarrier 原理与使用
    Semaphore 信号量
    ThreadLocal 原理与内存泄漏
    线程池 7 个核心参数
    线程池 execute 流程
    线程池拒绝策略对比
    线程池大小如何设置
    阻塞队列(Array/Linked/Synchronous/Delay)
    CompletableFuture 异步编程
    Fork/Join 框架
    JVM
    JVM 运行时数据区
    堆内存分代(新生代/老年代/元空间)
    栈帧结构(局部变量表/操作数栈)
    对象内存布局(对象头/实例数据/对齐填充)
    对象创建流程
    逃逸分析与栈上分配
    垃圾回收判定(引用计数/可达性分析)
    GC Roots 有哪些
    四种引用类型(强/软/弱/虚)
    垃圾回收算法(标记清除/复制/标记整理)
    分代收集理论
    Serial/Parallel/CMS 收集器
    G1 收集器原理(Region/RSet)
    ZGC 收集器原理(染色指针/读屏障)
    GC 日志解读与分析
    GC 调优方法论与案例
    类加载机制(加载/验证/准备/解析/初始化)
    双亲委派模型
    打破双亲委派的场景(Tomcat/SPI)
    自定义类加载器实现
    内存溢出排查(OOM)
    堆转储(Heap Dump)分析
    I/O 与网络
    BIO(阻塞IO)原理
    NIO 核心组件(Channel/Buffer/Selector)
    AIO(异步IO)原理
    BIO/NIO/AIO 对比
    零拷贝原理(mmap/sendfile)
    Netty 线程模型(Reactor)
    Netty 核心组件(Channel/EventLoop/Pipeline)
    Netty 零拷贝实现
    Netty 粘包/拆包解决方案
    序列化协议对比(Java/JSON/ProtoBuf/Hessian)
    Java 新特性
    Lambda 表达式原理
    Stream 流操作(中间操作/终端操作)
    Optional 使用最佳实践
    新日期时间API(LocalDate/DateTimeFormatter)
    接口默认方法与静态方法
    模块化(JPMS)
    文本块(Text Block)
    Record 记录类
    密封类(Sealed Class)
    模式匹配(Pattern Matching)
    虚拟线程(Virtual Thread)原理
    结构化并发(Structured Concurrency)
    JDK 版本特性演进总结
    Edit this page
    Next pageJava 基础