在快手本地生活业务的后端日常实习一面中,Java 相关面试题通常围绕哪些核心知识点展开?
考察说明
考察候选人对 Java 后端面试常见知识点的掌握情况,以及实习面试的准备方向。
回答思路
- 【回答框架 1】Java 基础语法与面向对象思想是面试基础,通常涉及封装、继承、多态、接口与抽象类区别、异常处理机制等核心概念。
- 【回答框架 2】集合框架是高频考点,重点关注 HashMap 的底层实现(数组+链表+红黑树)、扩容机制、线程安全类如 ConcurrentHashMap 的分段锁或 CAS 实现。
- 【回答框架 3】并发编程方面,需掌握 synchronized 与 ReentrantLock 的区别、volatile 语义、线程池的核心参数与执行流程、以及常见的并发工具类如 CountDownLatch、CyclicBarrier。
- 【回答框架 4】JVM 内存区域划分、垃圾回收算法与收集器(如 G1)、类加载机制与双亲委派模型是必考模块,部分面试会结合 OOM 和调优场景。
- 【回答框架 5】Spring 框架重点在 IoC 与 AOP 原理、Bean 生命周期、事务传播行为及失效场景;数据库方面需熟悉索引数据结构(B+树)、事务隔离级别、MVCC 和常见 SQL 优化。
- 【关键点 1】HashMap 1.8 底层为数组+链表+红黑树,扩容因子默认 0.75。
- 【关键点 2】ThreadPoolExecutor 核心参数包括 corePoolSize、maximumPoolSize、workQueue 与拒绝策略。
- 【关键点 3】JVM 堆内存分为新生代与老年代,GC 算法包括标记-复制、标记-清除和标记-整理。
- 【关键点 4】Spring 事务默认传播行为为 REQUIRED,自调用可能导致代理失效。
- 【关键点 5】B+ 树索引支持范围查询,非叶子节点不存储数据。
- 【易错点 1】混淆 HashMap 1.7 与 1.8 的底层结构差异(1.7 为数组+链表,头插法)。
- 【易错点 2】误认为 volatile 能保证原子性,实际上仅保证可见性与有序性。
- 【易错点 3】将 MySQL 默认隔离级别 REPEATABLE READ 与一致性读完全等同,忽略当前读与 MVCC 差异。