当前位置: 首页 > backend >正文

Java面试-微服务(业务问题)

一、限流面试题:

  • 限流原因:应对并发量大和防止用户恶意刷接口,如抢券业务会有大流量冲击,需进行限流。
  • 常见限流方式:单体项目可通过Tomcat设置最大连接数限流;微服务项目常用Nginx和网关限流,也可自定义拦截器。
  • Nginx限流:提供控制速率和并发连接数两种方式,控制速率采用漏斗算法,水滴代表请求,漏斗以固定速率流出请求;控制并发连接数可限制单个IP和整个服务的连接数。
  • 网关限流:使用令牌桶算法,通过局部过滤器request rate limit实现,可按IP或路径限流,设置令牌生成速度和令牌桶总容量。
  • 回答思路:介绍业务场景和QPS,说明Nginx和网关的限流方式及算法,也可介绍令牌桶和漏桶算法的区别。

二、分布式系统理论面试题:

  • CAP定理:分布式系统有一致性、可用性和分区容错性三个指标,三者不能同时满足,只能根据业务选择CP或AP。
  • BASE理论:是对CAP的解决思路,包括基本可用、软状态和最终一致性,可用于解决分布式事务问题。
  • 回答思路:解释CAP和BASE的含义,举例说明如何应用于分布式事务。
  • 分布式事务
    • 解决方案:主流框架是阿里的Seata,提供XA、AT和TCC三种模式;也可用MQ解决。
    • Seata模式:XA模式采用CP模型,保证强一致性,但性能差;AT模式采用AP模型,性能好,通过undo log记录数据;TCC模式也采用AP模型,需手动编码实现。
    • MQ解决方案:异步性能高,但实时性差,适用于对数据强一致性要求不高的场景。
    • 回答思路:根据业务选择合适的解决方案,向面试官陈述。

三、接口幂等性面试题:

  • 幂等概念:多次调用方法或接口不改变业务状态,结果与单次调用一致,如下单操作。
  • 需考虑幂等的请求:POST请求新增操作和PUT请求按增量更新操作需考虑幂等。
  • 解决方案:数据库唯一索引可解决新增问题;TOKEN加Redis可解决新增和修改问题,通过生成唯一TOKEN并存储在Redis中验证;分布式锁也可解决新增和修改问题,但性能较低。
  • 回答思路:解释幂等含义,根据业务选择合适的解决方案。

四、分布式任务调度面试题:

  • XXL-Job优势:解决集群任务重复执行问题,任务定义灵活,可进行失败重试和统计,支持大数据量任务分片执行。
  • 路由策略:常见的有轮询、故障转移和分片广播等,可根据需求选择。
  • 任务执行失败解决方法:设置路由策略为故障转移,设置失败重试次数,查看日志并设置邮件告警。
  • 大数据量任务执行方法:采用分片广播路由策略,在代码中获取分片总数和当前分片,按取模方式分摊任务。
  • 回答思路:介绍XXL-Job优势,说明常见路由策略、任务失败解决方法和大数据量任务执行方法。
http://www.xdnf.cn/news/19448.html

相关文章:

  • QT控件QPlainTextEdit、QTextEdit与QTextBrowser的区别
  • 【秋招笔试】2025.08.31小红书秋招笔试真题
  • 解读数据中台建设汇报方案【附全文阅读】
  • 淘天二面总结
  • 链表算法知识汇总
  • lesson51:CSS全攻略:从基础样式到前沿特性的实战指南
  • 【读论文】量子关联增强双梳光谱技术
  • RabbitMinQ(模拟实现消息队列项目)02
  • 【零碎小知识点 】(四) Java多线程编程深入与实践
  • Spring Cloud ------ Gateway
  • 阿里Qoder怎么样?实测对比TRAE SOLO 和 CodeBuddy IDE
  • 【甲烷数据集】全球逐日无缝隙柱平均干空气甲烷浓度(XCH₄)
  • Solid Explorer文件管理器:功能强大的安卓文件管理器及网盘文件管理器
  • FFMPEG AAC
  • 【MySQL详解】索引、事务、锁、日志
  • 【MySQL基础】MySQL核心操作全解析
  • GPT - 5 技术前瞻与开发者高效接入路径探索​
  • Java-113 深入浅出 MySQL 扩容全攻略:触发条件、迁移方案与性能优化
  • Java实现图像像素化
  • VirtualBox7.2安装步骤
  • RT-DETR网络结构
  • 开源 C# .net mvc 开发(九)websocket--服务器与客户端的实时通信
  • LangChain VectorStores核心:多向量数据库统一交互层与RAG存储中枢
  • 云原生新手入门完整学习指南
  • 14:00面试,15:00就出来了,问的问题过于变态了。。。
  • 【面试场景题】100M网络带宽能不能支撑QPS3000
  • UnderPressure 论文简单解读
  • 【Linux篇章】再续传输层协议UDP :从低可靠到极速传输的协议重生之路,揭秘无连接通信的二次进化密码!
  • 基于STM32的ESP8266连接华为云(MQTT协议)
  • 基于Flask的企业级产品信息管理系统技术实现笔记