黑马点评问题

黑马点评秒杀系统那里,一人一单后面使用到了消息队列,直接在lua当中进行了一人一单的判断,那这样他的分布式锁没作用了啊,面试中直接讲用的消息队列吗?不讲分布式锁吗?感觉面试官应该对分布式锁更加感兴趣吧
全部评论
先讲分布式锁,然后再说后面优化成异步下单接着扯
8 回复 分享
发布于 2024-04-18 15:18 辽宁
可以先说自己用setnx实现了分布式锁,有哪些问题为啥要用redission,可以最后再说消息队列怎么实现的,这样面试官大概率会先问你redisison的一些细节
5 回复 分享
发布于 2024-04-21 06:07 美国
用redisson已经顶顶的,如果你熟悉lua脚本当我没说
1 回复 分享
发布于 2024-05-11 08:09 上海
看看这个https://www.nowcoder.com/feed/main/detail/bfb310e6f6a24f048110d3cda04e4651?
1 回复 分享
发布于 2024-05-11 10:08 浙江
直接两层锁不行嘛
点赞 回复 分享
发布于 2024-04-22 15:44 广东
我个人觉得分布式锁解决的是前面setnx的一些不足 不可重入 不可重试等 但是黑马点评用lua脚本是因为 他要实现一人一单 就需要查两次redis 一次是查库存 一次是查 是否下过单 一次是原子操作 这两次合起来不是原子操作 所以才需要lua脚本
点赞 回复 分享
发布于 2024-06-04 15:38 陕西
黑马点评的ThreadLocal是不是一直没有没remove?
点赞 回复 分享
发布于 2024-11-13 20:20 江苏

相关推荐

03-07 12:47
门头沟学院 Java
实习拷打1你对Excel数据做了如何处理,数据量有多大2.优化之前导入多长时长3.SQL优化做了什么东西4.SQL为什么走的慢,是没走索引吗?5.库里存的都是什么数据6.项目中有哪些出彩的地方,还有哪些地方可以做改进项目拷打1.介绍一下第一个项目2.为什么要把信息放到队列里面,为什么不是立即发3.为什么要使用服务的注册和发现,初衷是什么,服务谁来调用,自己练的时候是给谁发的,在哪块用的是注册和发现4..项目的工厂策略模式是怎么用的5.发短信如何发的,如何做到的6.什么情况下用到Redis分布式锁7.如果第一个人获取到锁,但是他执行失败了怎么办(setnx值写进去的话,别的服务读的话不会立马结束吗?不会锁在那等着,有什么好的方法去解决)我答的是用mq发消息去构建缓存,因为mq有消费者确认机制,消费失败重试,重试到一个阈值一直失败就换下一个服务面试官又问超过阈值也没成功怎么办(面试官说如果构建失败异常了,我继续发消息,直到有人处理成功我就不发消息了)8.介绍第二个项目9.用threadlocal干了什么10.zset的底层原理是什么,讲讲11.乐观锁和解决炒卖,分布式锁解决一人一单,这是怎么做的12.如果同时多个人查到的时候都有商品,都下单,这个如何控制防止超卖13.你用的jdk是什么版本14.讲讲g1的垃圾回收器的原理15.初始标记的时候干了什么16.并发标记做了什么17.怎么标记的,标记机制是什么18.并发标记之后会进入的哪个阶段,为什么会有重新标记,解决了什么问题19.重新标记结束后会进入到哪个阶段20.你用过哪些锁21.reentrantlock是如何实习线程重入22.用过线程池吗?23.我们为什么要使用线程池24.核心线程数和最大线程数我们如何设置最合理手撕:在排序数组中查找元素的第一个和最后一个位置
点赞 评论 收藏
分享
评论
20
123
分享

创作者周榜

更多
牛客网
牛客企业服务