简单题,如果你的工作经历或者你面试的岗位跟电商有关,那么就有可能问到。各种级别都有可能问到,不过级别比较低的话回答就不需要那么准确完善。
早期电商火热的时候,就可以说是必考题了,但是现在比较少考察了。
如何设计一个秒杀这个问题,最重要的是解释清楚秒杀的经典架构,并且在回答中留下足够的引导点。
首先来看秒杀的经典架构:
整个架构的关键是:
你只需要回答出来这些关键点,它们本身就是一个引导点,那么面试官就会沿着你的思路一路问下去。
此外,从秒杀系统还可能衍生出来这些问题,但是遇到的概率会比较少,所以你也可以主动提及作为引导。
这些问题,你可以根据自己的掌握情况来引导,这部分我放在了 25K 回答之中,相当于 25K 主要是建立好引导点。
这里我们只讨论微服务架构下的秒杀架构,如果是单体应用的话会简单很多,比如说在消费者消费的时候,扣库存和创建订单可以放在一个本地事务里面,就没那么麻烦了。如果你简历上写了秒杀,但是你又不是微服务架构,你面试的时候最好还是按照微服务架构来回答,不然你就得自己梳理单体应用下秒杀架构的设计和面试题了。