刚毕业那会,本人意外获得拼夕夕的面试机会,在聊到优惠券库存扣减场景时,面试官问了一连串经典的问题:“优惠券库存怎么扣减的?开发为了解决超发优惠券问题而设计的方案,了解过吗?你又是如何测试的呢?”。

当时听到这些问题还挺懵的,没遇到过超发问题啊?开发设计的方案我怎么知道?现在想起来还挺幼稚的,其实现在想想电商中有很多类似的问题,比如商品超卖,归根究底,就是一个问题,那就是并发安全问题。

问题引入

就拿领取优惠券的问题来说,

需求描述:A 优惠券一共发行 100张,每一个用户最多可以领取5张。

当一个用户领取优惠券成功的时候,把领取的记录写入另外一个表中(这张表我们暂且称为表 B)。

在领取优惠券的过程中,优惠券库存的扣减过程,一般操作如下:

1、select查询优惠券的库存。

2、计算优惠券库存是否足够,如果优惠券存库不足则抛出库存不足的异常,如果优惠券库存足够,则判断是否在领取时间、判断用户领取数量是否超过个人最高领取限制。

3、如果2成立,则减去扣除的库存得到最新的库存剩余值。

4、set设置最新的优惠券库存剩余值

伪代码如下:

<

拼夕夕面试题之优惠券超发怎么去测试?相关推荐

  1. 面试题之优惠券超发怎么测试?

    你好 我是懂java的测试 前言 刚毕业那会,本人意外获得拼夕夕的面试机会,在聊到优惠券库存扣减场景时,面试官问了一连串经典的问题:"优惠券库存怎么扣减的?开发为了解决超发优惠券问题而设计的 ...

  2. 电商项目如何解决线上优惠券超发(排错+解决方案)(荣耀典藏)

    目录 1.问题抛出 2.问题引发 3.问题解决 3.1.解决方案 1(Java 代码加锁) 3.2.解决方案 2(SQL 层面解决超发) 3.3.解决方案 3(通过 Redis 分布式锁来解决问题) ...

  3. 高并发-【抢红包案例】之一:SSM环境搭建及复现红包超发问题

    文章目录 概述 抢红包案例 案例关注点 工程结构 库表设计 Domain Dao层实现 Service层实现 使用全注解搭建SSM 开发环境 Controller层 View层 运行测试 超量发送的B ...

  4. 拼夕夕是如何“套路”你的隐私的?

    文 | 易侃侃 来源 | 螳螂财经(ID:TanglangFin) 前几天,突然收到一条好朋友的消息:"哥,这几天在股市亏到混拼多多了?" 这不废话嘛,大盘都已经跌成狗了,差点就奔 ...

  5. 两个矩阵是否相交的算法_算法血拼:Google+百度+Alibaba+字节+Tencent+网易+360+拼夕夕...

    最热的三伏天来了,相信有许多小伙伴们都已马不停蹄的在准备各大厂的秋招提前批了吧,不知算法与数据结构会不会成为你的坎? 恰好,我这两天花了点时间,整理了些各大厂(Google+百度+Alibaba+字节 ...

  6. 算法血拼:Google+百度+Alibaba+字节+Tencent+网易+360+拼夕夕

    相信有许多小伙伴们都已马不停蹄的在准备各大厂的秋招提前批了吧,不知算法与数据结构会不会成为你的坎? 恰好,我这两天花了点时间,整理了些各大厂(Google+百度+Alibaba+字节+Tencent+ ...

  7. 拼夕夕事件反思,底层逆袭,靠拼命加班行吗

    2020 年 12 月 29 日,拼夕夕一位年仅 22 岁的年轻女孩,凌晨1点多下班后,回家途中突然晕厥倒地,随后被证实离世. 1.4 日,拼多多在知乎上面回答,"你们看看底层的人民,哪一个 ...

  8. python爬虫能秒杀么_面试题之用python爬取并夕夕不同时段秒杀商品信息

    先上效果图吧(因为确实也是刚入门,很多细节没有注意到的,各位尽管提出来) 并夕夕很多时候都在不停的有秒杀商品的活动,对于价格问题,我就没法讨论了,但是人家能吸引到这么多流量,真本事还是有些的. 我只在 ...

  9. 小米路由r2d论坛_小米路由R2D,拼夕夕翻车了没

    小米路由R2D,拼夕夕翻车了没 2020-01-03 14:38:02 46点赞 80收藏 180评论 你是AMD Yes党?还是intel和NVIDIA的忠实簇拥呢?最新一届#装机大师赛#开始啦!本 ...

最新文章

  1. LTE Paging消息的接收
  2. Matlab编程与数据类型 -- 字符型数组
  3. java方便适配器,JAXB简单自定义适配器以及简单使用
  4. 黑龙江认识电子计算机ppt,《第22课 不断发展的现代社会》优秀教案(黑龙江县级优课).docx...
  5. 无限式查找-----2013年2月28日
  6. gcc编译器_2020好用的C++编译器有哪些?这几款值得下载
  7. 总结Cnblogs支持的常用Markdown语法
  8. 虚拟机安装python包会出问题吗_虚拟机CentOS7安装python3.6.2及requests模块的问题汇总...
  9. win7怎么跳过硬盘自检_从零开始修电脑第二期__电脑自检慢的维修
  10. Yii2 第三方类库安装和使用:Imagine
  11. “时间的朋友”2017跨年演讲全回顾
  12. 海图水深点的标注方法
  13. BIOS INT中断整理
  14. 联邦学习开源框架简介
  15. c语言转汇编编译器,【转】C语言内嵌汇编(asm)
  16. java 打印请求接口响应时间
  17. 随笔 | 近期工作感悟
  18. win10的oneNote文件存储在哪
  19. SMT 常用术语解释
  20. 笨办法学python在线阅读_笨办法学python全集.pdf

热门文章

  1. maven的web工程QQ第三方登录HTML、
  2. ASP .NET登录界面用户验证码代码
  3. RK3288 点亮 ili9341 TFTLCD
  4. Leecode 刷题记录 495 提莫攻击
  5. execute、executeUpdate、executeQuery三者的区别及返回值
  6. IE8浏览器中图片透明度设置
  7. 死亡 和 命运的猜想!
  8. 网络监控软件---windows
  9. 用RadioButton实现选择男女
  10. windows任务计划