面试复盘
自我介绍:
介绍一下项目:
sleep和wait的区别:
1.sleep是Thread类的方法,wait是object的静态方法
2.sleep不会释放锁,wait会释放锁
3.sleep设置的时间超时了会自动唤醒,wait需要使用notify()和notifyAll()来唤醒
Synchronized和Lock的区别:
1.Synchronized是一个关键字,可以用在方法上,代码块中,Lock是一个接口
2.都是可重入锁,Synchronized是不可中断,不公平锁,Lock中的ReentrantLock是可中断锁,公平锁
3.Synchronized不需要手动加锁解锁,Lock需要手动加锁解锁
4.Lock中的readWriteLock可以实现读写分离
5.当数据量不大时,两者没什么区别,当数据量大时,Lock性能更好
6.Synchronized使用object中的wait(),notify(),notifyAll()来进行调度,Lock使用Condition进行调度
讲讲docker命令:
讲讲redis的数据类型以及每个类型的应用场景:
讲讲sql优化:
讲讲索引类型:
怎么把线程关闭:
讲讲集合:
讲讲项目中怎么用的kafka:
讲讲spring和springBoot:
讲讲单例模式: