昨晚在直播间带着大家刷第 22 套小米面试真题时,遇到了这样一个问题,面试官问:“你在开发电商系统的过程中,都遇到了哪些问题?”,个人觉得这个问题既属于开放性问题,同时又比较具有代表性,所以就单拿出来和大家分享交流一下经验。
首先,我们先分析一下,电商系统开发中可能会遇到的经典的问题有哪些?我这总结了几个,大家也可以在评论区补充交流:
这是我们在电商系统开发中,可能会遇到的一些经典问题,那怎么来解决这些问题呢?
高并发系统有以下三个经典的解决方案:
具体的落地实现:
库存的问题有两个:
超卖问题的解决方案有以下几个:
PS:生产环境通常使用限流 + Redis Lua 脚本来解决超卖问题。
少卖问题我们通常使用及时对账系统 + 人工补偿机制来解决。
弱网环境下支付的问题主要涉及到在网络信号较差的情况下进行支付操作时可能出现的一系列问题。
弱网环境最主要的是要解决支付状态同步的问题,它的解决方案有以下几个:
防止黄牛刷单的常见解决方案有以下两种:
重复订单去重问题的解决方案有以下两个:
除了以上问题之后,你在开发电商系统中还遇到了哪些经典的问题?幂等性判断的核心实现代码是啥?自定义注解的实现方式有几种?
本文已收录到我的面试小站 www.javacn.site,其中包含的内容有:Redis、JVM、并发、并发、MySQL、Spring、Spring MVC、Spring Boot、Spring Cloud、MyBatis、设计模式、消息队列等模块。