Java面试

223 阅读2分钟

java基础:

  • 必问:
  1. HashMap的实现原理
此问题要回答出主要的put过程和底层结构,及红黑树的变化过程
  1. ArrayList和LiinkedList的区别
要知道底层实现,两者之间根本的区别,比如ArrayList需要的是连续的内存
  • 偶尔提及
  1. currentHashMap的实现原理
会要求对比HashMap来回答
  1. HashSet和TreeSet的区别
  2. JUC的使用情况,用过什么说什么
  3. synchronized的锁升级
  4. 垃圾回收
主要是各种回收算法和其对应的收集器是哪一种
  1. JMM对象

框架:

  1. Spring框架的Ioc,aop
这个要回答出ioc容器的创建过程及bean的生命周期;aop的应用及自己的理解
  1. Mybatis的存储过程,Mybatis-plus的使用
  2. SpringBoot的启动过程
要求说出里面的注解和标签的含义
  1. SpringCloud和Dubbo
使用哪种说哪种,主要是调用方式,怎么寻找接口及怎么实现负载
  1. 有的会提及netty,问你有没有了解过

中间件: 这个主要看自己项目中的经验,一般简历写的都会问

  • mysql
  1. 存储结构
  2. 索引
  3. sql优化及实际应用场景
  • MQ
  1. 处理场景(项目引入mq的目的)
  2. 延迟消息的实现及应用场景
  3. 定时任务的实现及应用场景
  4. RabbitMQ会问死信队列
  5. 怎么保证消息的可靠性
  • redis 面试题中有的基本都会问,集群问题看情况
  • 其他:kafka,es,nginx等用过就会问 分布式
  1. 分布式锁的实现方案
  2. 分布式定时任务的实现方案
  3. 怎么保证接口的幂等性
  4. 怎么使用分布式事务及分布式事务解决方案