#软件开发2024笔面经# 1.说一下项目架构,项目模块
2.项目中用到了Redis说一下应用场景,为什么要用Redis,Redis宕机造成用户端和商家端状态不一样怎么处理(持久化),说到了AOF和RDB那说一下他们的工作流程和优缺点,Redis的主从复制,哨兵模式,Redis为什么那么快?
3.项目中用到了ThreadLocal,怎么保证再多线程下的安全性,这里就是说他的原理,里面的key代表什么,扯到了threadlocalMap,会导致什么问题,为什么会造成内存泄漏,说一下垃圾回收机制。
4.手写一下threadLocal的操作方法,根据代码讲为什么可以保证线程安全性。
5.写一下你知道的单例模式,写了饿汉式,懒汉式。懒汉式有什么问题,怎么解决,写一下优化代码,一个是加锁,另一个写了双重校验,双重校验里面的第二次判断的作用,为什么可以减少获取锁的次数,同一个类中,不同方法会阻塞吗,会,为什么会阻塞。