1、自我介绍有点短了,尽量三分钟,只说了自己叫什么,什么学校,什么专业,什么公司,做的什么内容可以加一部分职业的规划
2、你们的项目里用到了什么组件这个要背一下,只说到了 nacos, openfeign,redis,rabbitmq
3、rabbitmq怎么保证消息不丢失这个可以
4、怎么保证消息不重复消费这个可以
5、redis是怎么用的答了缓存,还有redis+lua脚本的优惠券库存校验
6、怎么实现的redisson分布式锁?答了自己进行的二次封装,主要就是一个aop加自定义注解加spel表达式,用了工厂模式选择锁的类型,用了策略模式选择失败重试策略,用spel表达式动态获取锁的名称
7、如果说redisson获取到锁了,但是挂了,没有释放锁怎么办(没有答出来)没有答出来,懵了,应该答redis可以设置过期时间,后续可以答redisson的看门狗机制
8、你们有用线程池吗说到了优惠券
9、你们是用原生的线程池还是自己写的说的是自己写的
10、为什么不用原生的线程池?答得不好,说的是有参数是不可以修改的(可以从原生的线程池的种类开始答,说原生的线程池有三种类型。分别是有界队列,无界队列,无队列。然后介绍一下都有什么弊端FixedThreadPool 和 SingleThreadPool请求多的话会造成大量请求堆积在队列,造成oom内存溢出CachedThreadPool 和 ScheduledThreadPool 请求过多的话会造成处理性能降低,可能会造成宕机
#软件开发笔面经#