最高QPS是承受多少?服务器部署位置?目前是单体应用?

为什么要使用雪花算法?(分布式id、雪花算法组成)

有无发布订阅的功能?应用场景有哪些?

Redis的应用场景是哪些?

什么情况下会出现缓存雪崩?怎么防止缓存雪崩的问题?

怎么保证数据库和redis的一致性问题?

怎么解决用户禁言时间失效的问题?

介绍一下Java集合

ArrayList是基于什么实现的?(从ArrayList和Array的区别出发)

ArrayList的怎么动态扩容的?

  1. 初始化容量: 当你创建一个新的ArrayList对象时,它会分配一个初始容量,通常是10个元素的大小(这个值可以根据需要进行修改)。
  2. 添加元素: 当你向ArrayList中添加元素时,如果当前元素数量达到了容量上限(一般是元素数量到达9/10的时候),就会触发动态扩容。
  3. 扩容操作: 在进行动态扩容时,ArrayList会创建一个新的更大容量的数组,然后将原数组中的元素复制到新数组中。
  4. 更新引用: 一旦新数组中的元素复制完成,ArrayList会更新内部引用,指向新的数组。

介绍一下JVM的内存区域(面试官其实是想要我自己说出来程序计数器、虚拟机栈等的作用。。。)

程序计数器的作用

介绍一下垃圾回收算法

MySQL的常用引擎?

MySQL如何实现MVCC的原理?(从ReadView角度回答)

多线程的应用场景

如何创建线程池?为什么要使用线程池?

如何解决线程安全问题?

了解自旋锁、乐观锁、悲观锁吗?(自旋锁不会。。。)

SpringBoot的常用注解

总结一下:

1、依赖注入:@Autowired(Autowired 可以通过 @Qualifier 注解来显式指定名称)、@Resource、@Inject

2、组件声明:@Component、@Bean、@Configuration、@Repository、@Service、@Controller

3、其他:@ComponentScan、@Value

以及其他等等。。。。

@Component和@Bean注解的区别?

Spring的设计模式有哪些?

怎么部署Java服务?

查看cpu、进程、内存命令