:::warning 今日面试者:6*年经验,211本,spring技术栈,redis,sql调优,数据迁移,rocketmq,服务重构微服务,2*手平台,卖家业务,结算,售后,大商家,
大商家有什么特点?库存之间做了系统对接吗?商品发布方式?接口对接
接口的鉴权,防刷是怎么做的?没做。。。限流做了么?如果要做怎么做?
项目中有哪些亮点?架构的演变,重复能力建设,通用能力抽象领域服务(物流、售后),为啥这两个服务可以单独抽象出来?售后产生的物流信息是属于物流域还是售后域?如何决定的?
抽象出领域之后,还有一些业务定制内容(比如售后XX**天,物流分上门或者买家寄)如何实现?
状态机+*事件做物品状态更新?from、to,cas。状态机自己实现的?方法是怎么样的实现?如何判断状态是否可以流转,具体如何做的状态控制?Spring*的状态机有了解过吗?
分库分表做过吗?分表是水平的还是垂直分的?为了解决啥问题?按照月份分表。跨月查询怎么查。
SQL调优介绍下,做了啥?宽表拆分成主表和扩展表,为啥要这么做?*join比宽表慢怎么办?*
索引优化做了哪些优化?加联合索引会考虑哪些问题?product*、number、status*哪个放左边为啥?为啥区分度更高的放前面?
SQL语句:*where product= and number = and status = *,联合索引中,把*number或者status放前面有区别吗?*
微服务的拆分,有哪些原则呢?通用能力、
分布式事务用过吗?用过哪种?TCC**,最大努力通知,
TCC介绍下?*try锁定资源,commit提交事务。Commit失败会需要cancel吗?*
TCC有什么缺点?侵入性。*cancel先到,commit后到。(事务悬挂、空回滚)*
最大努力通知mq**发失败了咋办?重试,重试过程挂了咋办?
还有其他的分布式方案吗?seata**、本地消息表、事务消息。选择的依据是什么?
数据对账做过吗?怎么做。定时任务,跨天怎么办?数据不一致告警怎么做的?任务跑失败了如何感知?除了扫表还有其他方案吗?
String有长度限制吗?**
应用启动后的前几分钟,RT长、Load和CPU都高,如何定位?可能有哪些原因?
:::
:::color4 大商家有什么特点?库存之间做了系统对接吗?商品发布方式?接口对接
接口的鉴权,防刷是怎么做的?没做。。。限流做了么?如果要做怎么做?
:::
✅为了防止接口被恶意调用,设计API秘钥方式提升接口安全性,并通过滑动窗口粗实现接口调用限流。
:::color4 项目中有哪些亮点?架构的演变,重复能力建设,通用能力抽象领域服务(物流、售后),为啥这两个服务可以单独抽象出来?售后产生的物流信息是属于物流域还是售后域?如何决定的?
抽象出领域之后,还有一些业务定制内容(比如售后XX天,物流分上门或者买家寄)如何实现?
:::
:::color4 状态机+事件做物品状态更新?from、to,cas。状态机自己实现的?方法是怎么样的实现?如何判断状态是否可以流转,具体如何做的状态控制?Spring的状态机有了解过吗?
:::
:::color4 分库分表做过吗?分表是水平的还是垂直分的?为了解决啥问题?按照月份分表。跨月查询怎么查。
:::
:::color4 SQL调优介绍下,做了啥?宽表拆分成主表和扩展表,为啥要这么做?*join比宽表慢怎么办?*
索引优化做了哪些优化?加联合索引会考虑哪些问题?product*、number、status*哪个放左边为啥?为啥区分度更高的放前面?
SQL语句:where product= and number = and status = ,联合索引中,把number或者status放前面有区别吗?
:::
:::color4 微服务的拆分,有哪些原则呢?通用能力、
:::
:::color4 分布式事务用过吗?用过哪种?TCC**,最大努力通知,
TCC介绍下?*try锁定资源,commit提交事务。Commit失败会需要cancel吗?*
TCC有什么缺点?侵入性。*cancel先到,commit后到。(事务悬挂、空回滚)*
最大努力通知mq**发失败了咋办?重试,重试过程挂了咋办?
还有其他的分布式方案吗?seata、本地消息表、事务消息。选择的依据是什么?
:::
:::color4 数据对账做过吗?怎么做。定时任务,跨天怎么办?数据不一致告警怎么做的?任务跑失败了如何感知?除了扫表还有其他方案吗?
:::
:::color4 String有长度限制吗?
:::
:::color4 应用启动后的前几分钟,RT长、Load和CPU都高,如何定位?可能有哪些原因?
:::