程序员求职经验分享与学习资料整理平台

网站首页 > 文章精选 正文

5分钟面试速记 - SpringCloud高频面试题+一句话答案

balukai 2025-08-03 04:10:12 文章精选 3 ℃

(一口气背完,面试官直接点头)

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