星海

技术岗面试 · 64 题

Java 后端开发面试 题目与答案解析

Java 基础、集合、并发、JVM、MySQL、Redis、Spring、分布式与消息队列等面试主干。题目来自星海原创八股题库(单选带解析、简答带参考答案)和配套课程每讲的自测题;题库全部免费,课程免费课全部开放,付费课只开放第 1 讲。

在线刷这套题:即时判分、错题本、闪卡复习,不用登录就能练。

Java 基础 7 题

  1. 1执行下面的代码,输出是?单选题
  2. 2关于 equals 和 hashCode 的约定,下列说法正确的是?单选题
  3. 3用 final 修饰一个引用类型的局部变量后,下列说法正确的是?单选题
  4. 4执行下面的代码,两次输出依次是?单选题
  5. 5关于 Java 8 及以后版本的接口与抽象类,下列说法正确的是?单选题
  6. 6关于 Java 异常体系,下列说法正确的是?单选题
  7. 7说说 JDK 8 中 HashMap 的 put 流程。主观题

集合 6 题

  1. 8JDK 8 及以后的 HashMap,某个桶里的链表在什么条件下会转换成红黑树?单选题
  2. 9HashMap 什么时候扩容,扩容后容量变为多少?单选题
  3. 10JDK 8 的 ConcurrentHashMap 是如何保证并发写入安全的?单选题
  4. 11关于 ArrayList 和 LinkedList,下列说法正确的是?单选题
  5. 12用增强 for 循环遍历 ArrayList 时,在循环体里调用 list.remove(obj) 删除元素,通常会发生…单选题
  6. 13关于 null 键和 null 值,下列说法正确的是?单选题

并发 10 题

  1. 14关于 volatile 关键字,下列说法正确的是?单选题
  2. 15synchronized 修饰一个静态方法时,锁住的是?单选题
  3. 16关于 AQS(AbstractQueuedSynchronizer),下列说法正确的是?单选题
  4. 17与 synchronized 相比,ReentrantLock 额外提供的能力是?单选题
  5. 18ThreadPoolExecutor 中,核心线程都在忙时又提交了新任务,处理顺序是?单选题
  6. 19ThreadLocal 使用不当可能造成内存泄漏,原因是?单选题
  7. 20使用 CAS 时可能遇到 ABA 问题,常见的解决办法是?单选题
  8. 21关于 JDK 21 正式推出的虚拟线程,下列说法正确的是?单选题
  9. 22synchronized 和 ReentrantLock 有什么区别?各适合什么场景?主观题
  10. 23线程池有哪些核心参数?有哪些拒绝策略?线程数一般怎么设置?主观题

JVM 10 题

  1. 24下列 JVM 运行时数据区中,属于线程私有的是?单选题
  2. 25可达性分析算法中,下列哪一项可以作为 GC Roots?单选题
  3. 26分代收集中,新生代通常采用复制算法,主要原因是?单选题
  4. 27关于 G1 垃圾收集器,下列说法正确的是?单选题
  5. 28关于 ZGC,下列说法正确的是?单选题
  6. 29关于类加载的双亲委派模型,下列说法正确的是?单选题
  7. 30程序抛出 StackOverflowError,最常见的原因是?单选题
  8. 31JVM 运行时数据区是如何划分的?哪些区域可能发生 OOM?主观题
  9. 32JVM 如何判断对象可以回收?常见的垃圾回收算法有哪些,各有什么优缺点?主观题
  10. 33类加载过程分为哪几个阶段?什么情况下会打破双亲委派?主观题

MySQL 7 题

  1. 34什么是覆盖索引?单选题
  2. 35MySQL 5.6 引入的索引下推(ICP)是做什么的?单选题
  3. 36SELECT … ORDER BY id LIMIT 1000000, 10 很慢,比较有效的优化是?单选题
  4. 37MySQL 提交事务时对 redo log 和 binlog 采用两阶段提交,目的是?单选题
  5. 38InnoDB 表推荐使用自增整型主键,主要原因是?单选题
  6. 39两个事务在 InnoDB 中发生死锁时,MySQL 默认会怎么处理?单选题
  7. 40列举 MySQL 索引失效的常见场景。主观题

Redis 9 题

  1. 41Redis 处理请求速度快,下列哪一项不是原因?单选题
  2. 42关于 Redis 的 RDB 和 AOF 持久化,下列说法正确的是?单选题
  3. 43大量请求查询数据库里根本不存在的数据,每次都穿过缓存打到数据库,这叫什么?常见对策是?单选题
  4. 44大批缓存 key 设置了相同的过期时间,同一时刻集中失效,导致数据库压力骤增。下列哪项最直接地预防这种情况?单选题
  5. 45用 Redis 实现分布式锁时,常写 SET lock_key <唯一值> NX PX 30000,下列理解正确的是?单选题
  6. 46Redis 7 中有序集合(ZSet)的底层编码是?单选题
  7. 47Redis 对过期 key 的删除策略是?单选题
  8. 48如何保证 Redis 缓存与数据库的数据一致性?主观题
  9. 49用 Redis 实现分布式锁要注意哪些问题?主观题

Spring 9 题

  1. 50关于 Spring 的 IoC(控制反转),下列说法正确的是?单选题
  2. 51同一个类中,没有事务注解的方法 A 直接调用本类带 @Transactional 的方法 B,B 的事务通常不生效。原因…单选题
  3. 52@Transactional 不做任何配置时,方法抛出哪类异常会触发回滚?单选题
  4. 53事务传播行为 REQUIRES_NEW 的含义是?单选题
  5. 54关于 Spring 的循环依赖,下列说法正确的是?单选题
  6. 55Spring 中 Bean 的默认作用域是?单选题
  7. 56Spring Boot 3 的自动配置是如何生效的?单选题
  8. 57描述 Spring Bean 的生命周期。主观题
  9. 58讲讲 Spring Boot 自动配置的原理,以及如何写一个自己的 starter。主观题

分布式与消息队列 6 题

  1. 59关于 CAP 定理,下列理解正确的是?单选题
  2. 60消息队列在至少一次投递的语义下,可能把同一条消息投递多次。消费端应当怎么做?单选题
  3. 61关于 Kafka 的消息顺序,下列说法正确的是?单选题
  4. 62TCC 分布式事务模式中的三个阶段分别是?单选题
  5. 63关于令牌桶限流算法,下列说法正确的是?单选题
  6. 64如何保证消息队列中的消息不丢失?请从生产者、Broker、消费者三个环节说明(可以以 Kafka 为例)。主观题

题库出处