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

✅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

:::

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

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

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

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

:::

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

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

:::

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

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

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

:::

✅Seata的AT模式的实现原理

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

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

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

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

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

:::

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

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

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

:::

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

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

:::

✅什么是OnlineDDL

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

:::

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

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

:::

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