网站首页 > 文章精选 正文
(一口气背完,面试官直接点头)
- 问:Spring Cloud 的定位是什么?
答:Spring Cloud 基于 Spring Boot 构建的微服务治理框架,提供注册中心、配置中心、网关、熔断、链路追踪等开箱即用的组件,帮助企业快速落地分布式系统。
顺口溜:Boot 打地基,Cloud 搭高楼。 - 问:Spring Cloud 与 Spring Boot 的区别?
答:Boot 简化单体应用开发,Cloud 在 Boot 之上提供微服务治理能力;二者是“基础”与“扩展”的关系。
顺口溜:Boot 做皮鞋,Cloud 做西装。 - 问:微服务的六大特征?
答:独立部署、业务能力导向、轻量通信、去中心化、容错隔离、自动化运维。
顺口溜:六脉神剑,剑剑保命。 - 问:CAP 理论在 Spring Cloud 中的实践?
答:Eureka 采用 AP(高可用),Zookeeper/Nacos 支持 CP(强一致),根据业务场景选择。
顺口溜:AP 保活,CP 保真。 - 问:BASE 理论如何落地?
答:通过最终一致性、软状态、基本可用,降低分布式事务的复杂度。
顺口溜:先松手,再握手。 - 问:Spring Cloud 版本如何选型?
答:根据官方 Release Train(如 2023.0.x)匹配对应 Spring Boot 主版本,避免混搭。
顺口溜:对号入座,版本不打架。 - 问:Spring Cloud 与 Dubbo 的核心差异?
答:Cloud 基于 HTTP/REST 与 JSON,生态丰富;Dubbo 基于 RPC 与 Protobuf,性能更高。
顺口溜:REST 轻松,RPC 飞奔。 - 问:注册中心高可用如何设计?
答:Eureka 多节点互相注册,Nacos 三节点 Raft 选主,客户端本地缓存兜底。
顺口溜:三台机器手拉手,掉线一台不犯愁。 - 问:Eureka 的自我保护机制?
答:网络抖动时保留注册表 15 分钟,防止误删健康实例。
顺口溜:心跳缺席不急删,先留座位再查票。 - 问:Nacos 的 CP/AP 模式如何切换?
答:通过 nacos.core.protocol=raft/dist 切换,Raft 保证 CP,Distro 保证 AP。
顺口溜:想强一致用 Raft,要高可用切 Distro。 - 问:Ribbon 负载均衡策略?
答:轮询、随机、权重响应时间、可用过滤、最小并发,可自定义 Rule。
顺口溜:轮完一圈换随机,权重响应更精灵。 - 问:OpenFeign 与 Ribbon 的关系?
答:OpenFeign 在 Ribbon 之上封装声明式调用,简化 HTTP 客户端代码。
顺口溜:Ribbon 搬水,Feign 端茶。 - 问:Hystrix 熔断触发条件?
答:5 秒内错误率 > 50% 且请求数 ≥ 20 次即打开熔断器。
顺口溜:五秒二十错过半,闸门落下保平安。 - 问:Sentinel 与 Hystrix 的差异?
答:Sentinel 支持多维度限流、热点、系统保护,并提供可视化控制台。
顺口溜:Hystrix 老闸刀,Sentinel 新雷达。 - 问:Spring Cloud Gateway 与 Zuul1 性能对比?
答:Gateway 基于 Netty 反应式编程,QPS 约为 Zuul1 的 1.6 倍。
顺口溜:Netty 反应快,Zuul 气喘喘。 - 问:Gateway 统一鉴权实现?
答:自定义 GlobalFilter + JWT + Redis 白名单,令牌合法即放行。
顺口溜:令牌对暗号,网关把门开。 - 问:Config Server 高可用方案?
答:多实例 + Git 仓库多活 + 客户端本地缓存。
顺口溜:三台配置机,一台掉线不着急。 - 问:动态配置刷新流程?
答:Git 变更 → Spring Cloud Bus → 所有实例 @RefreshScope 热更新。
顺口溜:Git 一声吼,全群抖三抖。 - 问:链路追踪如何串联异步线程?
答:使用 Sleuth 的 MDC + TraceRunnable 保证 TraceId 透传。
顺口溜:线程换人不换号,风筝不断线。 - 问:Seata 的四种事务模式?
答:AT(自动补偿)、TCC(两阶段)、Saga(长事务)、XA(强一致)。
顺口溜:AT 省事,TCC 精细,Saga 长跑,XA 刚硬。 - 问:OAuth2 授权码流程?
答:获取授权码 → 换取令牌 → 调用资源,JWT 无状态签名防篡改。
顺口溜:码换票,票进门。 - 问:服务雪崩如何治理?
答:熔断、降级、限流、隔离、缓存、重试退避六连招。
顺口溜:六脉神剑齐出鞘,雪崩止步半山腰。 - 问:灰度发布常用策略?
答:Gateway 权重路由、Nacos 标签、K8s Ingress Canary。
顺口溜:先放 5% 探探路,绿灯全开再跑步。 - 问:接口幂等如何保障?
答:Token 机制 + Redis 原子脚本,重复请求直接拒绝。
顺口溜:一次令牌一次活,重复敲门不开锁。 - 问:重试策略怎样优雅?
答:指数退避 + 最大重试次数 + 熔断兜底,确保幂等。
顺口溜:越挫越勇,越等越久。 - 问:线程池隔离实现?
答:Hystrix/Sentinel 为每个依赖创建独立线程池,互不干扰。
顺口溜:一家一口锅,糊锅不串味。 - 问:限流算法对比?
答:漏桶匀速、令牌桶突发、滑动窗口精准,Sentinel 一站式支持。
顺口溜:漏桶慢慢流,令牌桶猛加油。 - 问:日志链路聚合方案?
答:Filebeat → Logstash → Elasticsearch → Kibana。
顺口溜:采洗存查一条龙,日志不再满天飞。 - 问:指标监控体系?
答:Micrometer + Prometheus + Grafana + Alertmanager。
顺口溜:米尺量,普罗画,格拉秀,告警吼。 - 问:健康检查如何实现?
答:Spring Boot Actuator /actuator/health + 自定义 Indicator。
顺口溜:心跳咚咚咚,故障快快报。 - 问:优雅下线步骤?
答:拒绝新请求 → 处理存量 → 关闭线程池 → 注销注册中心。
顺口溜:先关门,后扫地,再关灯。 - 问:热部署方案?
答:spring-boot-devtools 或 JRebel,代码变更秒级生效。
顺口溜:一改就见效,重启说拜拜。 - 问:容器化部署流程?
答:Dockerfile 多阶段构建 → K8s Deployment + Service + Ingress。
顺口溜:镜像瘦身集装箱,K8s 启航去远航。 - 问:跨域 CORS 配置?
答:Gateway 层 CorsWebFilter 统一放行指定域名和头信息。
顺口溜:域对头对,跨域不怼。 - 问:文件上传大小限制?
答:spring.servlet.multipart.max-file-size 与 Gateway 双重配置。
顺口溜:大门小门都量好,大文件不卡腰。 - 问:多环境配置隔离?
答:application-{profile}.yml + spring.profiles.active。
顺口溜:一份代码三套衣,环境切换不费力。 - 问:统一异常处理?
答:@ControllerAdvice + @ExceptionHandler 兜底转 JSON。
顺口溜:一处捕获,全网不哭。 - 问:统一响应封装?
答:Result<T> - 问:API 版本管理?
答:URL/v1、Header、参数三种方式,网关路由分流。
顺口溜:老接口慢慢老,新接口快快跑。 - 问:灰度回滚策略?
答:Argo Rollouts 蓝绿+金丝雀,一键回滚秒级恢复。
顺口溜:绿灯放行,红灯急刹。 - 问:链路追踪采样率?
答:Sleuth 0.1 概率采样,Zipkin 只存 10% 也能看清全貌。
顺口溜:十中取一,全貌清晰。 - 问:线程上下文传递?
答:MDC + TraceRunnable/TraceCallable,异步线程不丢 TraceId。
顺口溜:线程接力棒,TraceId 不掉棒。 - 问:配置中心加密?
答:对称 AES + JCE 非对称 RSA,密钥托管 Vault。
顺口溜:锁在保险柜,钥匙自己带。 - 问:注册中心缓存?
答:客户端本地缓存 + 定时拉取,断网也能本地调用。
顺口溜:断网不断粮,本地有存粮。 - 问:服务间重试幂等?
答:Token 或业务唯一键 + Redis SETNX 原子判断。
顺口溜:重复请求一把锁,业务不翻车。 - 问:分布式锁实现?
答:Redis Redisson、Zookeeper InterProcessMutex、DB 乐观锁三选一。
顺口溜:锁有三兄弟,场景选兵器。 - 问:链路灰度标识透传?
答:Header 加 gray-tag,网关过滤器 + Feign 拦截器全链路携带。
顺口溜:灰度标签贴满身,路由不认错人。 - 问:异步消息可靠投递?
答:本地事务表 + 消息确认表 + 定时补偿,确保至少一次。
顺口溜:本地记账,定时补票。 - 问:大文件分片上传?
答:前端切片 + 后端合并 + 断点续传 + MD5 秒传。
顺口溜:大刀切块,小刀缝合。 - 问:面试万能总结?
答:把 Spring Cloud 当乐高,先拼注册中心,再插配置中心,接着网关守门,熔断兜底,链路追踪放哨,安全加锁,五十连招一气呵成,面试官微笑点头。
顺口溜:乐高五十块,答完 offer 来。
- 上一篇: 一文掌握:5大自动化测试难题及高效解决方案
- 下一篇: httprunner实战接口测试笔记,拿走不谢
猜你喜欢
- 2025-08-03 从小厂到腾讯T2.3OFFER,我所整理的面试题(含答案)
- 2025-08-03 前端最新面试题及答案 (2025)
- 2025-08-03 测试进阶:实现跨请求地保持登录的神器session你get了么?
- 2025-08-03 httprunner实战接口测试笔记,拿走不谢
- 2025-08-03 一文掌握:5大自动化测试难题及高效解决方案
- 2025-08-03 面试题系列:接口与抽象类的区别
- 2025-08-03 面试滴滴科技,被按在地上摩擦,鬼知道我经历了什么?
- 2025-08-03 基于docker部署实现接口自动化持续集成
- 2025-08-03 SSM面试题总结(含答案)
- 2025-08-03 开源!AREX接口自动化回归测试的全过程
- 最近发表
- 标签列表
-
- newcoder (56)
- 字符串的长度是指 (45)
- drawcontours()参数说明 (60)
- unsignedshortint (59)
- postman并发请求 (47)
- python列表删除 (50)
- 左程云什么水平 (56)
- 编程题 (64)
- postgresql默认端口 (66)
- 数据库的概念模型独立于 (48)
- 产生系统死锁的原因可能是由于 (51)
- 数据库中只存放视图的 (62)
- 在vi中退出不保存的命令是 (53)
- 哪个命令可以将普通用户转换成超级用户 (49)
- noscript标签的作用 (48)
- 联合利华网申 (49)
- swagger和postman (46)
- 结构化程序设计主要强调 (53)
- 172.1 (57)
- apipostwebsocket (47)
- 唯品会后台 (61)
- 简历助手 (56)
- offshow (61)
- mysql数据库面试题 (57)
- fmt.println (52)