某银行项目电话面试简单两题记录

某银行项目电话面试简单两题记录 分布式事务有过哪些在项目中是如何使用的1.1 最终一致性业务中落地在积分兑换项目中针对”积分扣减订单创建“跨服务事务场景落地【本地事物rabbitmqxxjob定时任务对账方案】1️⃣本地事物保证“扣减积分”记录消息发送日志原子性2️⃣消息投递触发重试死信队列兜底存储异常信息3️⃣每日定时对账校验数据一致性发现偏差自动触发补偿最终达到99.999%一致性1.2 分布式锁辅助管理高并发场景下例如积分/库存扣减基于redssion分布式可重入锁管控并发操作避免超卖重复扣减作为分布式事务的前置防护降低事务异常概率。springboot的自动装配了解吗springboot自动装配时开箱即用思想的体现本质是约定大于配置自动加载并配置项目锁需要的bean无需手动在xml配置类中声明核心流程如下1️⃣入口触发“springbootApplication注解整合了beanAutoConfiguration和Componscan和Configuration2️⃣加载候选配置EnableAutonConfiguration通过apringfactoryLoader加载meta.info文件配置中的autoConfiguration类3️⃣条件筛选每个AutConfiguration通过Conditonal注解判断是否满足筛选条件例如是否引入了依赖4️⃣注入容器满足条件的AutoConfiguration类会主动向IOC容器中注入预设bean实现功能自动装配。实战应用1️⃣日常开发基于自动装配特性快速搭建项目无需手动配置redismybatisrabbitMQ等基础组件基础bean仅需要配置appliaction.yml参数即可2️⃣自定义自动配置在华为财务系统中主动封装通用配置自建例如统一日志参数校验通过自定义AutoConfigurationSpringFactories配置实现组件在多模块配置减少重复配置。3️⃣问题排查。主动解决自动装配冲突问题例如多版本依赖导致bean重复定义通过CondtionalOnMessage指定自定义bean优先加载或配出特定AutoConfiguraiton类SpringbootAppliactionexcludexxAutoConfiguration.class