Java面试须知

一、Java 基础知识

  1. 面向对象编程

    • 四大特性:封装、继承、多态、抽象
    • 访问修饰符(public/private/protected/default)
    • 接口 vs 抽象类
    • 继承与组合的区别
  2. 核心类库

    • 集合框架:List、Set、Map 的实现类(ArrayList、LinkedList、HashMap 等)
    • 字符串处理:String、StringBuilder、StringBuffer 的区别
    • 日期与时间 API(Java 8+):LocalDateTime、Instant、DateTimeFormatter
  3. 异常处理

    • 受检异常(Checked Exception)与非受检异常(RuntimeException)
    • try-catch-finally 的执行顺序
    • 自定义异常的设计
  4. 多线程与并发

    • 创建线程的方式(继承 Thread、实现 Runnable/Callable)
    • 线程池(ExecutorService)的原理与使用
    • 同步机制:synchronized、Lock、ReentrantLock
    • 并发工具类:CountDownLatch、CyclicBarrier、Semaphore
    • JUC 包(java.util.concurrent)中的常用类

二、JVM 原理

  1. 内存模型

    • JVM 内存区域划分(堆、栈、方法区、本地方法栈、程序计数器)
    • 对象创建与垃圾回收机制
    • 内存溢出(OOM)和内存泄漏的原因与排查
  2. 垃圾回收(GC)

    • 常见 GC 算法(标记 - 清除、标记 - 整理、复制、分代收集)
    • 垃圾回收器(Serial、Parallel、CMS、G1、ZGC)的特点与适用场景
    • GC 调优的常用参数(-Xms、-Xmx、-XX:NewRatio 等)
  3. 类加载机制

    • 类加载过程(加载、验证、准备、解析、初始化)
    • 双亲委派模型的原理与作用

三、高级特性

  1. 反射机制

    • 反射的应用场景(框架开发、动态代理)
    • Class 类与 Method/Field/Constructor 的使用
  2. 注解(Annotation)

    • 自定义注解与元注解(@Retention、@Target 等)
    • 注解处理器(Annotation Processor)
  3. 泛型

    • 泛型擦除的原理
    • 通配符(? extends T、? super T)的使用

四、常用框架

  1. Spring/Spring Boot

    • IoC(控制反转)与 DI(依赖注入)的实现原理
    • AOP(面向切面编程)的应用场景与实现方式
    • Spring MVC 的请求处理流程
    • Spring Boot 的自动配置原理
  2. Spring Cloud

    • 微服务架构的核心组件(服务注册与发现、配置中心、网关、熔断器)
    • 常用组件:Eureka、Consul、Nacos、Zuul、Gateway、Hystrix、Sentinel
  3. MyBatis/Hibernate

    • ORM 框架的基本原理
    • MyBatis 的 SQL 映射文件与动态 SQL
    • Hibernate 的缓存机制(一级缓存、二级缓存)

五、数据库

  1. 关系型数据库

    • SQL 优化(索引优化、查询优化)
    • 事务的 ACID 特性与隔离级别
    • 锁机制(行锁、表锁、悲观锁、乐观锁)
  2. NoSQL

    • Redis:数据类型、缓存雪崩 / 穿透 / 击穿、持久化机制(RDB/AOF)
    • MongoDB:文档模型、索引优化

六、分布式系统

  1. 分布式理论

    • CAP 定理与 BASE 理论
    • 分布式事务的解决方案(2PC、3PC、TCC、事务补偿)
  2. 服务治理

    • 服务注册与发现的实现方式
    • 负载均衡算法(轮询、随机、加权、IP 哈希)
  3. 分布式缓存

    • 缓存与数据库的一致性问题
    • 缓存失效策略(LRU、LFU、FIFO)
  4. 消息队列

    • Kafka、RabbitMQ、RocketMQ 的对比与适用场景
    • 消息幂等性与顺序性的保证

七、设计模式与架构

  1. 设计模式

    • 常见设计模式(单例、工厂、观察者、策略、责任链等)
    • 设计模式的应用场景与优缺点
  2. 系统架构

    • 高并发、高可用、高性能系统的设计与优化
    • 常见架构模式(微服务、API 网关、CQRS、事件驱动)

八、算法与数据结构

  1. 数据结构

    • 数组、链表、栈、队列、树(二叉树、红黑树)、图
    • 哈希表的实现原理与冲突解决方法
  2. 算法

    • 排序算法(快排、归并、堆排序)
    • 查找算法(二分查找)
    • 递归、动态规划、贪心算法

九、其他常见问题

  1. 性能优化

    • 代码优化(减少创建对象、避免循环中创建字符串)
    • 数据库优化(索引优化、分库分表)
  2. 网络编程

    • TCP/IP 协议的三次握手与四次挥手
    • NIO 与 BIO 的区别
  3. 容器化与 DevOps

    • Docker 与 Kubernetes 的基本概念
    • CI/CD 流程与工具(Jenkins、GitLab CI)

十、项目经验与软实力

  • 项目亮点:技术选型、难点解决方案、性能优化
  • 系统设计:从需求到架构的完整设计思路
  • 软实力:问题排查能力、团队协作、技术热情
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值