拿下技术面上传简历

一个 30 万行代码的单体电商系统,40 人研发团队,日订单 20 万。现在决定做微服务拆分。请回答:你会先拆哪个模块、按什么维度判断它该先被拆?以及拆完之后,原本在一个本地事务里的“下单扣库存”变成了跨服务调用,这个问题你打算怎么处理?

工程与系统设计系统设计3-5 年知识点 1 个

面试官在考什么

考察拆分切入点是否基于变更频率、读写特征和事务边界做判断,以及面对分布式事务时是追求强一致还是接受最终一致的取舍能力。

微服务拆分

回答框架 · 前两步

  1. 拆分顺序的判断维度应该是:变更频率高、读写特征差异大(读多写少适合先拆)、资源隔离需求强、以及团队边界是否清晰;先拆读多写少、无强事务依赖的模块(如商品查询/搜索),把风险最低的收益先拿到
  2. 绝不能拆完还共享同一个库表:共享库会让服务边界形同虚设,任何一次表结构变更都会重新把服务耦合起来;正确顺序是先按服务划分 schema 与访问权限,再逐步物理分库,期间用数据同步过渡

还有 3 条答案要点、 3 层追问、 5 个常见坑, 以及针对你简历的追问路径,在定制报告里。

上传简历,生成我的题库先看示例报告

同一能力域的其他题