熙牛医疗Java后端一面面经

熙牛医疗 · Java后端 · 一面 · 2026-04

《面试题目》

一、自我介绍

二、Java核心技术

  1. 集合的分类
  2. 有哪些线程安全的集合
  3. 说一下CopyOnWriteArrayList
  4. 说一下你知道的锁
  5. 讲一下CAS
  6. final修饰变量与引用对象的区别
  7. 线程池的参数
  8. 创建线程池的几种方法

三、MySQL

  1. 出现慢SQL怎么优化
  2. explain主要查看哪几个参数
  3. 索引失效有哪些情况
  4. 模糊匹配必然会失效吗
  5. 索引的分类

四、Spring

  1. 讲一下Spring AOP
  2. AOP支持的两种动态代理是什么
  3. AOP默认哪个动态代理
  4. 什么时候使用CGLIB代理
  5. Spring Bean的作用域
  6. 事务失效有哪些情况及解决方法

五、项目与综合

  1. 项目介绍
  2. 对AI的使用及看法,以及对编程的影响

六、反问环节


《参考解析》

  1. CopyOnWriteArrayList:采用读写分离思想,读不加锁,写时复制一份新数组进行修改,最后替换引用。适用于读多写少的场景。
  2. 线程池参数:核心线程数、最大线程数、存活时间、时间单位、阻塞队列、线程工厂、拒绝策略。核心关注拒绝策略与队列选择。
  3. MySQL慢SQL优化:查看explain执行计划,优先优化索引,检查扫描行数,利用覆盖索引,避免回表,拆分大查询。
  4. Spring AOP代理:默认JDK动态代理(基于接口),当目标类未实现接口或设置强制使用时采用CGLIB(基于字节码继承)。
  5. 事务失效:常见原因包括方法自调用(非代理对象调用)、注解未加在public方法、内部未捕获异常导致无法回滚、未开启事务配置等。