阿里二面:设计一个电商平台积分兑换系统!

转自公众号:狸猫技术窝

作者:原子弹大侠,高级技术专家

目录

1.拉开差距的一类面试题

2.业务需求描述

3.对业务流程的思考

4.物流配送进度查询,考虑到了吗?

5.事务的保证

6.消息中间件的引入

7.重试机制的引入

8.引入幂等性机制

9.对这类面试题的总结

1、拉开差距的一类面试题

现在面试经常会遇到一类问题,面试官让你现场设计出某个业务场景下的一个系统,这个系统往往在业务或者技术上有一定难度,主要考察的是你多年积淀下来的系统设计的能力以及技术思维的能力。

类似的这类系统设计题目很多,比如:

  • 请你设计一个秒杀系统

  • 请你设计一个支撑百万用户的IM消息系统

  • 请你设计一个微信红包系统

  • 请你设计一个电商平台积分兑换系统

这些题目本身都是开放式命题,没有固定答案。遇到这种问题,一定不要慌,关键是在现场要思路清楚,有理有据,慢慢分析。

本文就其中一个问题:设计一个电商平台的积分兑换系统,来详细阐述一下。文中会详细指出在系统设计的时候要考虑哪些要点,给大家展示出来这类问题思考的一个过程。

2、业务需求的描述

假设面试官现在给出来对于这个电商平台的积分兑换系统的相关需求如下:

  1. 用户在电商平台里平时通过购买商品、晒单评论可以有不断的积累积分

  2. 积累到足够的积分后,就可以在电商平台的积分兑换页面中,选择使用自己的积分来兑换一些礼品

需求其实就这么简单,那么面试官说了,针对这个业务场景给出你对这个机制实现的思考过程以及这里要注意的一些地方。

3、对业务流程的思考

如何思考?首先,用户不停的购买商品以及晒单评论,会不断的获取积分,那么是不是需要一张积分表,专门用来存储每个用户的积分呢?

没错,这个表是一定需要的,可以现场给出下述的表结构。

积分表

  • id(自增id主键)

  • user_id(用户id)

  • credit(积分)

  • 4
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值