先是自我介绍
1、对于996的看法
2、线程池的源码看过吗,能说说吗?(不知道怎么脑子抽了说锁相关的了解更多一点)
3、知道哪些锁的底层原理?(说了Sync)
4、sync的四种状态?(从无锁到重量级锁)
5、四种状态下哪些可以访问系统资源?(真不知道……)
6、怎么了解AQS的?
7、volitile能锁住对象吗,作用是什么?
8、几种垃圾回收的算法?
9、常见的垃圾回收器?
10、双亲委派机制?
11、双亲委派的作用?
12、B树和B+树的区别?
13、B+树哪里用?
14、一个表给a列加了索引,给了两个sql语句,一个是select * from xx ……. like “abc%”,还有一个是like “%abc”,哪个走了索引?
15、分布式情况下,sync和reentrantlock这些锁能否锁住资源?(给我问懵了…然后给自己挖坑说分布式有分布式锁啊)
16、分布式锁怎么实现?(说了redis)
17、redis实现分布式锁的加锁和设置什么(忘了)是否是原子性操作,怎么保证原子性?
18、好像是问redis分布式锁出现的问题是如何解决的?(没说上来,但给自己挖坑说用Redisson
)
19、细问redisson(直接说不是很了解)
20、缓存穿透有哪些解决方案?
21、懒汉和饿汉的区别?(真忘了…)
22、单例模式会有线程安全问题吗?(回答了双重校验锁)
23、遇到高并发的问题应当如何处理?(开始胡诌,面试官对答案好像也不是很满意)
24、问怎么限流(回答用sentinel,但具体细节不会)
25、怎么做高可用(具体的问题记不太清了)
反问:对我的建议。还行,但实战要加强
面完一整个大寄特寄,确实是我太菜,问题比较基础,下次再努力……
#面试# #java#