简答题项目经历困难

校园秒杀库存怎样扣,才不会超卖?

不要求展开全部微服务,只讲扣减这一步为什么必须是原子的。

答题思路

不要先查再扣。用一条带条件的更新,或在缓存里把判断和扣减放进同一次原子操作,失败就直接返回。

解析

面经里的标准追问是并发下的检查与扣减。数据库写法是 UPDATE stock SET left_count = left_count - 1 WHERE id = ? AND left_count > 0,看影响行数。同一用户再用唯一键挡住重复提交。

44% 的作答与这套框架一致。这是教学统计口径,不是你的个人成绩。

返回开发工程师题库 →