Skip to content

面试速答(先看这里)

**一句话结论:**负责了什么功能?

60秒标准回答:

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

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

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

**答题顺序:**结论 → 原理/机制 → 关键流程 → 场景与取舍 → 易错点

回答主线:

  • **要点1:**6年经验,资产后台,汽车金融(贷款)SaaS,对接第三方,
  • **要点2:**SaaS 的多租户是咋实现的?
  • **要点3:**流程编排优缺点介绍下 ,事件驱动、基于 activiti 封装,流程编排好处是啥?
  • **要点4:**节点如果业务流程有差异怎么办?
  • **要点5:**SaaS的多租户是咋实现的?

**记忆锚点:**Redis → SaaS → TCC → id → AT → activiti

易错提醒:

  • 如何避免状态覆盖?

加分表达:

  • 可扩展性,优缺点吗 ? 节点如果业务流程有差异怎么办?

追问准备:

  • 6年经验,资产后台,汽车金融(贷款)SaaS,对接第三方, SaaS 的多租户是咋实现的?
  • 租户 id 负责了什么功能?
  • 销售中心、订单,工作流,流程编排,业务模块拆分, 流程编排优缺点介绍下 ,事件驱动、基于 activiti 封装,流程编排好处是啥?
  • 可扩展性,优缺点吗 ? 节点如果业务流程有差异怎么办?

面试者背景 ​

> 6年经验,资产后台,汽车金融(贷款)SaaS,对接第三方, > > SaaS****的多租户是咋实现的?租户id > > 负责了什么功能?销售中心、订单,工作流,流程编排,业务模块拆分, > > 流程编排优缺点介绍下**,事件驱动、基于activiti封装,流程编排好处是啥?可扩展性,优缺点吗****?** > > 节点如果业务流程有差异怎么办?有了解过其他方式实现差异化问题的解决吗?插件化、扩展点? > > 流程执行到一半,恢复执行怎么实现的? > > **项目难点?严格控制状态流程如何实现的?如何避免状态覆盖?乐观锁、 > > **分布式事务Seata AT****模式,AT出现脏读的原因是什么?AT的实现原理是什么? > > TCC和AT****有啥区别?代码侵入性、空回滚、事务悬挂,依赖事务, > > Redis扣库存,MySQL订单创建,如何拆成TCC**?** > > 空回滚**&悬挂问题,怎么解决。状态、业务id****、时间、** > > 资产平台多少数据量要做分库分表?70亿,如何做的分表?会员id,分了多少表,128表, > > 分表后的全局ID是怎么做的?雪花算法、Redis自增id,为啥要全局分布式ID**,每张表自增不行吗?** > > 为啥分表128,而不选择100呢?为啥用2的幂?二次分表、 > > 数据平滑迁移的方案介绍下?迁移字段,读旧写旧**->读旧双写(旁路验证)->存量迁移->读新双写(旁路验证)->灰度切流->读新写新,切流开关如何实现的?nacos配置的。数据迁移过程中有遇到啥问题么? > > 数据库中加字段会不会锁表?online ddl, > > 数据量多会遇到啥问题?限流、多级缓存、 > > **发券每天增量有多少?券的核销率有多少?写接口幂等是怎么做的?会员id+券号, > > **update的顺序问题如何保证?** > > 项目中的SQL调优介绍一下,

题目解析 ​

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

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

打开文档:✅SaaS系统中,多租户如何实现?

> 流程编排优缺点介绍下**,事件驱动、基于activiti封装,流程编排好处是啥?可扩展性,优缺点吗****?** > > **节点如果业务流程有差异怎么办?**有了解过其他方式实现差异化问题的解决吗?插件化、扩展点? > > 流程执行到一半,恢复执行怎么实现的?

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

打开文档:✅什么是流程引擎,请问流程引擎有什么优缺点?

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

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

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

> 分布式事务Seata AT模式,AT出现脏读的原因是什么?AT的实现原理是什么? > > TCC和AT有啥区别?代码侵入性、空回滚、事务悬挂,依赖事务,

📄 ✅Seata的AT模式的实现原理

打开文档:✅Seata的AT模式的实现原理

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

打开文档:✅Seata的AT模式会不会出现脏读?为什么?

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

打开文档:✅TCC的空回滚和悬挂是什么?如何解决?

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

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

> 分表后的全局ID是怎么做的?雪花算法、Redis自增id,为啥要全局分布式ID**,每张表自增不行吗?** > > 为啥分表128,而不选择100呢?为啥用2的幂?二次分表、

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

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

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

打开文档:✅分库分表的数量为什么一般选择2的幂?

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

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

打开文档:✅如何做平滑的数据迁移?

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

📄 ✅什么是OnlineDDL

打开文档:✅什么是OnlineDDL

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

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

打开文档:✅如何解决接口幂等的问题?

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

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

打开文档:✅你是如何进行SQL调优的?