黑马点评面试问题

黑马点评面试官问一人一单功能能否用乐观锁实现,这个该怎么答啊
全部评论
我直接换项目了
7 回复 分享
发布于 2025-03-24 17:01 北京
可以,不知道你看秒杀优化没有,后面就取消了分布式锁的使用,直接用lua脚本保证原子性进行操作。用一个set保存购买了的用户信息,在购买前判断set里面有没有这个用户,如果没有再购买。这感觉是类似于乐观锁的操作。
1 回复 分享
发布于 2025-03-25 16:11 四川
mark
点赞 回复 分享
发布于 2025-04-27 11:25 广东
乐观锁怎么用
点赞 回复 分享
发布于 2025-04-10 19:23 湖北
一人一单不需要线程等待获取锁啊,同一时段进来的线程如果获取不到用户ID为key的锁就应该直接返回,而不是乐观锁那样继续自旋
点赞 回复 分享
发布于 2025-04-08 22:22 湖南
mark一下大佬
点赞 回复 分享
发布于 2025-04-01 13:26 北京
乐观锁是用来防止超卖的,一人一单要在redis里面的优惠券模板参数判断
点赞 回复 分享
发布于 2025-03-24 18:59 上海
你说用redission的信号量实现的
点赞 回复 分享
发布于 2025-03-24 16:09 北京

相关推荐

2025-12-14 11:20
门头沟学院 Java
1.实习介绍2.看你用了protobuf,它是通过定义的过程当中是通过什么东西识别它的字段的呢?3. 比如说我定义了一个 int对吧,如果下一个版本,我又定义了一个它怎么识别我定义的是同一个东西呢?4.它的required和optional是有啥区别5.你能介绍一下 java那个锁么,有什么类型的锁,作用是啥6.自旋锁和排他锁作用是啥7. 那锁自身是怎么保证,比如说两个线程a一起加锁,然后保证他自己就是说底层实现出来。有人知道我这个东西已经加过了。9. cas是软件支持的还是硬件支持的?10.这个 int 变量需不需要 cache line对齐呢,会不会出现伪共享的问题11.cas等于是说还是要软件层面上强制控制他cache line对齐是么12.数据库当中为啥会有日志13. 那为啥恢复数据防止丢失?就是说比如说我修改的时候我直接去改数据库不行吗?就是我们单纯比如说像redolog那我不记录它行不行,我直接把数据库就给改了。14. 那redo log本身也是要写盘的啊,万一写了一半宕机,不一样也不安全吗?15.你说redo log 是顺序写,那最终还是要改数据文件,那我不还是得随机写一次吗?这性能上怎么算划算?(争论上了也是无语了,大哥这只是校招)16. 所以是不是其实 redo log 主要是出于数据安全性的考虑?性能不是重点,是这样么17.redo log和binlog的区别你知道吗?为什么要两份日志18.如果 redo log 写成功但 binlog 没写成功,数据库会怎么恢复19. 你觉得现在 Java 的生态还适合做高性能服务吗20. 你觉得 AI 模型推理和高并发服务有什么共性21.手撕:有一堆怪物,每个怪物有一个血量 a1, a2, …, an。每次让两个怪物打架,血多的赢,血量变成两者血量差 |x - y|,另一个死。如果血量相同,两个都死。重复打,直到只剩一个怪物(或全死)。求最后剩下的怪物的血量最小是多少?22.你能解释一下为什么最后结果是最大公约数吗?不是最小公倍数吗23.假如我换个规则,比如胜者血量变成 x + y,那结果还会是 GCD 吗
点赞 评论 收藏
分享
评论
6
53
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务