面经- 星环科技Java实习
最高QPS是承受多少?服务器部署位置?目前是单体应用?
为什么要使用雪花算法?(分布式id、雪花算法组成)
有无发布订阅的功能?应用场景有哪些?
Redis的应用场景是哪些?
什么情况下会出现缓存雪崩?怎么防止缓存雪崩的问题?
怎么保证数据库和redis的一致性问题?
怎么解决用户禁言时间失效的问题?
介绍一下Java集合
ArrayList是基于什么实现的?(从ArrayList和Array的区别出发)
ArrayList的怎么动态扩容的?
- 初始化容量: 当你创建一个新的ArrayList对象时,它会分配一个初始容量,通常是10个元素的大小(这个值可以根据需要进行修改)。
- 添加元素: 当你向ArrayList中添加元素时,如果当前元素数量达到了容量上限(一般是元素数量到达9/10的时候),就会触发动态扩容。
- 扩容操作: 在进行动态扩容时,ArrayList会创建一个新的更大容量的数组,然后将原数组中的元素复制到新数组中。
- 更新引用: 一旦新数组中的元素复制完成,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、进程、内存命令
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 HUT菜鸟小八的博客!
评论