前端显示还有一件库存,但是下单却显示无货?

2021-01-30 20:42:39 +08:00
 szxczyc

这是之前面试遇到的一个面试题:当用户下单的时候,前端显示还要一件货物,但是下单却显示无货?该怎么样设计?该怎么样优化?

我从几个角度回答好像都没有击中面试官的❤

最后回答这是一个读多写少的情况,应该用 redis 缓存,面试官还是表示同意的,但是太细致的还是说不上来。

两次面试都被问到了,吴彦祖们 help me

1455 次点击
所在节点    问与答
9 条回复
yukiww233
2021-01-30 21:04:52 +08:00
产品交互设计问题,不是技术问题啊...
InternetExplorer
2021-01-30 21:08:25 +08:00
为啥没货了前端会显示一件?
如果是两个人同时打开,一个人下单,另一下单时没货的话,那就是个产品交互设计问题,提示用户被别人买走了就好了。
如果不是上面这种情况的话,我觉得可能就是后台的数据问题了,但是提示应该还是一样的,让用户以为被别人买走了就好了。
levelworm
2021-01-30 21:24:06 +08:00
他这个问题的点在哪里?
szxczyc
2021-01-31 00:31:52 +08:00
@yukiww233
@InternetExplorer
@levelworm
时间有点久了,就不太清了。应该是 mysql 怎么样才能保证和 redis 中的商品数一致性的问题。
k9982874
2021-01-31 02:04:29 +08:00
先假设前端是 web
1 websocket 定时刷库存
2 下单 redis 全局锁
3 后面就是 ui/ux 的问题了
yzbythesea
2021-01-31 08:47:03 +08:00
1. 在商店页面显示时,不是等到只有 1 个剩余,才显示 1 个。而是比如只有 10 个剩余,就显示 1 个。这样可以通融多个用户同时下单。各个用户之间是没法察觉的,也还避免了付款的时候无法下单的尴尬。
2. 最后付款那一步一定要再检测一遍是否有货,这个时候不要注意性能,直接强一致性,避免出现用户付了款,最后下单却失败。
lululau
2021-01-31 10:14:42 +08:00
1L 正解,面试官思维混乱,表达无能
des
2021-01-31 10:39:51 +08:00
A. 加入购物车就锁定库存,这个不建议容易被人恶意刷库存。现在的电商一般都是下单锁库存,付款减库存
B. 允许一定量的超售
C. 像二楼说的,改设计。你就直接把 12306 的例子拿出来说,已有的大规模的例子相信对方没法反驳
ClericPy
2021-01-31 12:25:36 +08:00
想起我抢红米 K30S 那段时光... 伤害不高 侮辱性极强 [doug]

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/749897

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX