Java
校招考察频度:★ 高频(核心必背·高频生死线) 一句话速记:Java 是国内互联网与金融大厂最根深蒂固的生产底座。JIT 编译赋予其极致性能,JUC 线程池支撑多核真并行,JVM 自动内存管理保障大型系统稳定,Spring 与 Spring Cloud 统治微服务开发,MyBatis-Plus 称霸持久层。
在校招面试中,如果说 Python 是敏捷开发与 AI Agent 创新的“利刃”,Java 就是承载万亿级金融交易、高并发订单与复杂微服务架构的“重装步兵”。本模块专为校招技术面打造,聚焦集合底层、JVM 虚拟机、JUC 并发编程、Spring 核心原理、Spring Boot 生产工程化、Spring Cloud 微服务体系、MyBatis-Plus 持久层以及双栈协同架构。
分类考频地图
| 专题 | 核心页面 | 校招考频星级 | 重点考查要点 |
|---|---|---|---|
| 基础与集合 | Java 基础与集合底层 | ★ 高频(核心必考) | HashMap 数组+链表+红黑树(8树化/6退化/0.75推导)、ConcurrentHashMap CAS+synchronized、ArrayList 扩容、泛型擦除、动态代理(JDK vs CGLIB) |
| 并发编程 | JUC 并发编程核心 | ★ 高频(核心必考) | Synchronized 锁升级(偏向/轻量/重量锁)、AQS 底层架构、volatile 内存屏障、CAS 与 ABA、线程池 7 大参数与 4 大拒绝策略 |
| JVM 虚拟机 | JVM 内存模型与垃圾回收 | ★ 高频(生死线) | 运行时数据区(堆/栈/元空间)、垃圾回收三大算法、垃圾收集器(CMS vs G1 vs ZGC)、三色标记与漏标 SATB、类加载双亲委派与打破 |
| Spring 核心 | Spring Boot 核心与事务 | ★ 高频(核心必考) | IoC 容器与 Bean 生命周期、Spring 三级缓存解决循环依赖时序、AOP 动态代理织入、声明式事务失效场景与自动装配原理 |
| Boot 生产实战 | Spring Boot 生产实战与高级特性 | ☆ 中频(工程实战) | Actuator 生产监控与 K8s 探针、外部化配置优先级全貌、全局 @RestControllerAdvice 统一异常处理、自定义 Starter 开发规范、Spring Boot 3 与 JDK 17/21 新特性 |
| 微服务生态 | Spring Cloud 微服务核心组件 | ☆ 中频(大厂标配) | Nacos 服务注册与心跳时序(临时 vs 永久实例)、OpenFeign 声明式 RPC 与连接池调优、Gateway 响应式网关鉴权防刷、Sentinel 滑动窗口熔断限流、Nacos Config 长轮询动态刷新 |
| 持久层与 ORM | MyBatis 与 MyBatis-Plus 架构 | ☆ 中频(持久实战) | MyBatis 四大核心对象生命周期、#{} vs ${} 防注入原理、一二级缓存与脏读、MyBatis-Plus BaseMapper 自动注入原理、LambdaQueryWrapper、分页插件与自动填充 |
| 双栈对比 | Java vs Python 对比与协作 | ☆ 中频(架构视野) | 静态类型 JIT vs 动态解释、JUC 多线程 vs asyncio 协程事件循环、大厂双栈落地:Java 交易中台 + Python 算法与 AI Agent |
| 网络与中间件 | Java NIO 与 Netty 核心 | 低频(底层拓展) | BIO/NIO/AIO 区别、Selector 与 epoll 空轮询 Bug、Netty 主从 Reactor 多线程模型、ByteBuf 内存池与零拷贝 |
校招面试学习路线
┌─────────────────────────────────────────────────────────────┐
│ 第一阶段:集合与基础(掌握 HashMap 底层与动态代理,拿下基础面) │
└──────────────────────────────┬──────────────────────────────┘
▼
┌─────────────────────────────────────────────────────────────┐
│ 第二阶段:JVM 虚拟机(击穿堆内存分代、GC 收集器演进与三色标记) │
└──────────────────────────────┬──────────────────────────────┘
▼
┌─────────────────────────────────────────────────────────────┐
│ 第三阶段:JUC 并发编程(打通 AQS、Synchronized 锁升级与线程池) │
└──────────────────────────────┬──────────────────────────────┘
▼
┌─────────────────────────────────────────────────────────────┐
│ 第四阶段:Spring 核心原理(吃透三级缓存循环依赖与事务失效排查) │
└──────────────────────────────┬──────────────────────────────┘
▼
┌─────────────────────────────────────────────────────────────┐
│ 第五阶段:微服务与持久层落地(Spring Cloud Alibaba + MyBatis-Plus)│
└──────────────────────────────┬──────────────────────────────┘
▼
┌─────────────────────────────────────────────────────────────┐
│ 第六阶段:双栈协作(Java 高并发微服务交易中台 + Python AI/Agent)│
└─────────────────────────────────────────────────────────────┘经典面试追问
- 既然有了 Python,为什么后端大厂依然重度依赖 Java?
- 答:Python 动态类型和 GIL 在超大规模高并发、强类型约束、多团队超大工程协作中存在维护成本与吞吐上限;而 Java 拥有严格的静态类型系统、经过三十年工业淬炼的 JVM JIT 即时编译优化、成体系的 JUC 多核真并行能力以及 Spring 繁荣的微服务生态,是超高并发、金融级事务一致性业务(如支付、下单、库存)的不可替代首选。
- Java 栈和 Python 栈在面试中的核心考察侧重有何不同?
- 答:
- Python 侧:重点考察动态对象模型、内存引用计数与弱代回收、GIL 的本质成因与绕过方式、asyncio 异步非阻塞事件循环、FastAPI 架构与现代 AI Agent 落地。
- Java 侧:重点考察静态类型体系、JVM 底层调优与 GC 演化(三色标记/SATB)、JUC 硬件级并发控制(CAS/AQS/锁升级/内存屏障)、Spring 容器机制(三级缓存/切面代理)、Spring Cloud 微服务(服务发现/熔断限流)与 MyBatis-Plus 执行底层。
- 答:
- 两门语言在你的求职简历和项目里如何完美协同?
- 答:采用**“Java 稳住核心交易主盘,Python 领跑创新算法与智能体”**的双核定位。在系统设计中,业务交易网关、用户账户、支付清算与高并发订单微服务由 Java (Spring Boot + Spring Cloud Alibaba + MyBatis-Plus) 承载;前沿的智能推荐、文档解析、RAG 向量检索管道与自主 AI Agent 工作流由 Python (FastAPI + LangGraph) 承载,两者通过 gRPC 高性能 RPC 或 RabbitMQ 消息总线异步解耦,各展所长。