一面 4.15

  • 自我介绍
  • 项目职责介绍?项目里Redis是怎么使用的?
  • Redis:过期时间怎么设置的,用什么命令?过期的key如何清除(Redis过期key的清除策略)?Redis常见的数据结构及应用场景?Redis为什么快?Redis的key默认为多大?缓存穿透、缓存击穿和缓存雪崩和解决办法?布隆过滤器的原理?
  • Java基础:如果要存金额得话,用什么数据类型?为什么不能用float?自动拆箱和装箱介绍一下?包装类常量池技术?
  • 集合框架:HashMap的原理介绍一下?如何解决HashMap的线程不安全问题?ConcurrentHashMap的原理?HashMap和TreeMap的区别?
  • JVM:GC的作用?垃圾回收算法介绍?什么样的对象会在老年代?
  • MySQL:InnoDB和MyISAM的区别?MySQL可以从哪些方面进行优化?为什么使用B+树作为索引的数据结构,为什么不用Hash或者二叉树?身份证号、姓名、性别哪个适合作为索引、为什么?索引不会被命中的情况有哪些?
  • MyBatis:介绍一下MyBatis的原理?MyBatis的模糊查询怎么做?#{}和${}的区别?
  • Spring:Spring常用的注解有哪些?@Autowire和@Resource的区别?
  • 算法:给定n个空瓶子,每三个瓶子换一瓶饮料,喝完可以继续换,请问最多可以换多少瓶饮料?

二面 4.21

  • 自我介绍
  • 项目介绍
  • Java创建线程的方式有哪些
  • Java泛型的实现原理
  • 说说对反射的了解?哪些地方使用了反射?MyBatis怎么使用的反射?
  • MyBatis怎么获取主键值?怎么批量获取主键值?
  • 介绍一下动态代理?JDK动态代理怎么实现?
  • 介绍一下Java内存模型
  • 说一下你为什么想做开发?
  • 说一下你的职业规划?