跳转至

6年经验,资产后台,汽车金融(贷款)SaaS

面试者背景


:::warning 6年经验,资产后台,汽车金融(贷款)SaaS,对接第三方,

SaaS的多租户是咋实现的?租户id

负责了什么功能?销售中心、订单,工作流,流程编排,业务模块拆分,

流程编排优缺点介绍下,事件驱动、基于activiti封装,流程编排好处是啥?可扩展性,优缺点吗?

节点如果业务流程有差异怎么办?有了解过其他方式实现差异化问题的解决吗?插件化、扩展点?

流程执行到一半,恢复执行怎么实现的?

项目难点?严格控制状态流程如何实现的?如何避免状态覆盖?乐观锁、

分布式事务Seata AT模式,AT出现脏读的原因是什么?AT的实现原理是什么?

TCCAT有啥区别?代码侵入性、空回滚、事务悬挂,依赖事务,

Redis扣库存,MySQL订单创建,如何拆成TCC

空回滚&悬挂问题,怎么解决。状态、业务id、时间、

资产平台多少数据量要做分库分表?70亿,如何做的分表?会员id,分了多少表,128表,

分表后的全局ID是怎么做的?雪花算法、Redis自增id为啥要全局分布式ID,每张表自增不行吗?

为啥分表128,而不选择100呢?为啥用2的幂?二次分表、

数据平滑迁移的方案介绍下?迁移字段,读旧写旧->读旧双写(旁路验证)->存量迁移->读新双写(旁路验证)->灰度切流->读新写新,切流开关如何实现的?nacos配置的。数据迁移过程中有遇到啥问题么?

数据库中加字段会不会锁表?online ddl

数据量多会遇到啥问题?限流、多级缓存、

发券每天增量有多少?券的核销率有多少?写接口幂等是怎么做的?会员id+券号,

update的顺序问题如何保证?** **

项目中的SQL调优介绍一下,

:::

题目解析

:::color4 SaaS的多租户是咋实现的?租户id

:::

16_✅SaaS系统中,多租户如何实现?

:::color4 流程编排优缺点介绍下,事件驱动、基于activiti封装,流程编排好处是啥?可扩展性,优缺点吗?

节点如果业务流程有差异怎么办?有了解过其他方式实现差异化问题的解决吗?插件化、扩展点?

流程执行到一半,恢复执行怎么实现的?

:::

15_✅什么是流程引擎,请问流程引擎有什么优缺点?

:::color4 项目难点?严格控制状态流程如何实现的?如何避免状态覆盖?乐观锁、

:::

17_✅基于状态机+乐观锁解决订单支付和关单的并发问题

:::color4 分布式事务Seata AT模式,AT出现脏读的原因是什么?AT的实现原理是什么?

TCC和AT有啥区别?代码侵入性、空回滚、事务悬挂,依赖事务,

:::

35_✅Seata的AT模式的实现原理

43_✅Seata的AT模式会不会出现脏读?为什么?

22_✅TCC的空回滚和悬挂是什么?如何解决?

36_✅Seata的4种事务模式,各自适合的场景是什么?

:::color4 分表后的全局ID是怎么做的?雪花算法、Redis自增id为啥要全局分布式ID,每张表自增不行吗?

为啥分表128,而不选择100呢?为啥用2的幂?二次分表、

:::

18_✅利用雪花算法+Redis 自增 ID,实现唯一订单号生成

12_✅分库分表的数量为什么一般选择2的幂?

:::color4 数据平滑迁移的方案介绍下?迁移字段,读旧写旧->读旧双写(旁路验证)->存量迁移->读新双写(旁路验证)->灰度切流->读新写新,切流开关如何实现的?nacos配置的。数据迁移过程中有遇到啥问题么?

:::

✅如何做平滑的数据迁移?

:::color4 数据库中加字段会不会锁表?online ddl,

:::

80_✅什么是OnlineDDL

:::color4 发券每天增量有多少?券的核销率有多少?写接口幂等是怎么做的?会员id+券号,

:::

18_✅如何解决接口幂等的问题?

:::color4 项目中的SQL调优介绍一下,

:::

19_✅你是如何进行SQL调优的?