全程55分钟1. 自我介绍2. 介绍项目3. 使用 springboot starter 的作用是?是为了能用注解使用这个框架吗?(因为我叙述的时候逻辑有点问题才问的)4. SPI 机制在 JVM 层面是一种什么体现5. 为什么叫 SPI 机制6. 为什么一定要用 SPI 机制,使用者不能直接实现一个接口的实现类吗,走一个策略模式7. 了解双亲委派机制吗8. 了解 SPI 机制打破了双亲委派机制吗9. 给你一个需求文档,让你做一个技术方案设计,你会考虑哪些东西10. 设计数据库表会考虑哪些内容11. 建一个表,这个业务未来会迭代很久,你会考虑哪些点12. 字段加索引要考虑哪些方面13. 什么样的字段适合加索引14. b+ 树频繁更新会有一些什么现象15. 索引失效的情况16. 介绍 redis 基本数据类型17. 介绍一下 SDS18. 介绍 CAS19. 并发问题是怎么产生的20. 一个类有一个全局变量 m,多线程对它进行增加操作,如何保证线程安全21. 有哪些加锁的方式?22. synchronized 锁的作用域23. synchronized 基于什么实现的24. synchronized 无锁 偏向锁 轻量级锁 重量级锁几个阶段怎么转换的25. redis 持久化机制有哪些26. linux 命令有哪些,如何查找文件中指定的内容27. 手撕:写一个 DCL28. 为什么要用 volatile 关键字29. 手撕:判断链表是否有环30. 手撕:和为 k 的子数组的个数31. git 有哪些命令,平时用命令行还是可视化32. 在学校和老师做过项目吗33. 自己debug过吗,讲一个印象比较深的debug过程34. 代理模式和装饰者模式的区别35. 了解 springcloud,dubbo,mq 吗36. 你感觉你的个人优势有哪些37. 之前有实习经验吗38. 面试官介绍部门业务并进行反问 #小米实习# #java#