问题

说说CompletableFuture和Reactor的区别

关于CompletableFuture和Reactor的问题,你应该这样回答:

“在秦农银行项目中,我们使用CompletableFuture进行并行化处理 - 比如同时计算优惠补贴、获取商户费率、检查黑名单,这些任务之间没有依赖关系,通过thenCombine和allOf实现并行执行,将原本串行的300ms优化到80ms。

而Reactor用于响应式流水线 - 支付交易流程中的连锁操作,比如:验证→风控→记账→通知,通过Flux/Mono的操作符链实现背压控制和异步非阻塞,QPS从原来的2000提升到5000。

线程池方面,CompletableFuture使用自定义的ThreadPoolExecutor,核心线程数根据CPU核数设置,Reactor使用Elastic调度器处理IO密集型任务。”

记住: 面试要具体、有数据、讲清技术选型理由。

SQL优化调优

对账模块的复杂查询
优化措施:

1,索引优化:在trades表的(create_time, merchant_id, channel_id)建立联合索引

2,查询重构:把LEFT JOIN改写成EXISTS,避免全表扫描

3,分页优化:用游标分页代替LIMIT OFFSET,记录最后一条trade_time

4,数据归档:把3个月前的交易数据移到历史表

5,执行计划:用EXPLAIN分析,避免Using filesort和Using temporary

你说在项目里用了策略模式和适配器模式实现多通道对账,具体是怎么设计的?并说明为什么不用工厂模式。

利用Spring的@Autowired Map自动收集所有策略实现,实现多种通道对账,开发只需关注自己具体的对账实现类,更加方便扩展新的对账通道。


工厂模式:违反开闭原则,新增要修改工厂类

策略模式:符合开闭原则,新增只需添加新类

日夜颠倒头发少 ,单纯好骗恋爱脑 ,会背九九乘法表 ,下雨只会往家跑 ,搭讪只会说你好 ---- 2050781802@qq.com

×

喜欢就点赞,疼爱就打赏

相册 说点什么 简历