☕ Java面试速查卡片

2026版 · 一页纸覆盖7大核心领域 · 面试前5分钟过一遍 · 可打印

🔤 Java基础

  • == 比地址,equals() 比内容;重写equals必须重写hashCode
  • String不可变(final类+final byte[]),线程安全
  • ArrayList扩容1.5倍,HashMap默认16→负载0.75→树化阈值8
  • 异常:checked需try-catch,unchecked(RuntimeException)不用
  • 泛型擦除:编译后<T>变Object,运行时不保留类型
  • 反射:Class.forName()获取类→getDeclaredMethod()调用

⚡ JVM

  • 内存:堆(对象) + 栈(局部变量/帧) + 方法区(类信息/常量池) + 程序计数器
  • GC算法:标记-清除(碎片) / 复制(年轻代) / 标记-整理(老年代)
  • CMS:并发标记清除,低停顿但碎片化;G1:Region分区,可预测停顿
  • 类加载:双亲委派(Bootstrap→Extension→Application),防止重复加载+核心类篡改
  • OOM排查:jmap -dump导出 → MAT/JProfiler分析

🧵 并发编程

  • volatile:保证可见性+禁止重排序,不保证原子性
  • synchronized锁升级:偏向锁→轻量锁(CAS)→重量锁(OS mutex)
  • AQS:CLH队列+state变量,ReentrantLock/Semaphore/CountDownLatch都基于它
  • 线程池:corePool→队列→maxPool→拒绝策略(CallerRuns/Abort/Discard)
  • ConcurrentHashMap JDK8:CAS+synchronized锁链表头节点

🌱 Spring

  • IoC:容器管理Bean生命周期,@Autowired注入(byType→byName)
  • AOP:动态代理(JDK接口代理 / CGLIB子类代理),@Transactional就是AOP实现的
  • Bean生命周期:实例化→注入→Aware→BeanPostProcessor→init→使用→destroy
  • @SpringBootApplication = @Configuration + @EnableAutoConfiguration + @ComponentScan
  • 循环依赖:三级缓存解决(singletonFactories→earlySingletonObjects→singletonObjects)

🗄️ MySQL

  • InnoDB索引:B+树,聚簇索引(主键)叶子存数据,非聚簇索引叶子存主键
  • 最左前缀:联合索引(a,b,c)→where a=1能用,where b=2不能用
  • EXPLAIN关键列:type(eq_ref>ref>range>ALL)、key、rows、Extra
  • 事务隔离:RU脏读→RC不可重复读→RR幻读(InnoDB用间隙锁解决)→Serializable
  • MVCC:undo log版本链+ReadView快照,RR级别第一次查询生成ReadView
  • 慢SQL优化:开慢日志→EXPLAIN→加索引/改SQL/分库分表

🔴 Redis

  • 5种类型:String/Hash/List/Set/ZSet
  • 穿透:布隆过滤器+空缓存;击穿:互斥锁+逻辑过期;雪崩:TTL随机化+多级缓存
  • 持久化:RDB(快照)恢复快丢数据 / AOF(追加命令)恢复慢更安全 / 混合模式
  • 分布式锁:SET lock:xxx uuid NX EX 30 + Lua脚本原子释放
  • 集群:主从(读写分离)→哨兵(自动故障转移)→Cluster(16384槽分片)
  • 淘汰策略:LRU/LFU/TTL/随机;缓存一致性:先更DB后删缓存+延迟双删

🌐 网络+Linux

  • TCP三次握手(SYN→SYN+ACK→ACK);四次挥手(FIN→ACK→FIN→ACK)
  • HTTPS:非对称加密交换密钥→对称加密传输数据;证书防中间人
  • HTTP状态码:200成功/301永久重定向/400参数错/401未认证/403禁止/404未找到/500服务器错/502网关错/503不可用
  • CPU飙高排查:top -Hp PID找线程→jstack查堆栈
  • 内存泄漏:jmap -histo看对象→jmap -dump导出→MAT分析
  • 磁盘满:df -h查空间→du -sh /*找大目录→清理日志

🤖 微服务+AI(2026必考)

  • Nacos:服务注册发现+配置中心;Sentinel:限流(QPS/线程数)+熔断降级
  • RocketMQ:削峰填谷,事务消息保证最终一致性
  • 分布式事务:Seata AT(自动回滚)/TCC(手动confirm+cancel)/消息表+定时对账
  • CAP:最多同时满足2个;AP(Eureka/Nacos) vs CP(Zookeeper)
  • Spring AI:ChatClient调大模型 + EmbeddingModel做向量化 + VectorStore做RAG
  • RAG流程:文档分块→Embedding→向量库→相似检索→拼接Prompt→LLM生成
💡 使用技巧:面试前5分钟速扫全文 → 哪块不熟点下面链接看详细题库 → 可打印贴在桌上当小抄。全部免费。

☕ 如果帮到你了

📱 加我微信,有什么问题直接问

联系方式
📊 上千次BOSS沟通·30+HR主动联系 — 真实面试总结
✅ 全部免费 · 不用注册 · 帮到你了再赞赏 · 扫码支持持续更新