分布式限流与降级与分布式任务调度

共 27 题
#

1. @Bulkhead(信号量隔离/线程池隔离)

A 线程池隔离
B 熔断
C 信号量隔离 ✓ 正确答案
D 限流
#

2. RateLimiter(Guava)的本地限流

A 漏桶
B 计数器
C 滑动窗口
D 令牌桶 ✓ 正确答案
#

3. Semaphore 的并发限流

A 单位时间请求数(QPS)
B 磁盘 IO
C 网络带宽
D 同时执行的并发数 ✓ 正确答案
#

4. Sentinel 集群限流如何借助 token server 统一分配令牌,token client/server 模式与嵌入模式有何差异与单点风险

A 监听流量
B 提供 UI
C 存储日志
D 统一分配令牌,实现跨实例全局限额 ✓ 正确答案
#

5. XXL-JOB 的路由策略(轮询、随机、一致性哈希、分片广播、故障转移)各自适用什么业务场景

A 轮询
B 一致性哈希
C 随机
D 分片广播 ✓ 正确答案
#

6. 分布式限流的常见算法(令牌桶/漏桶/滑动窗口)

A 令牌桶 ✓ 正确答案
B 漏桶
C 固定窗口
D 计数器
#

7. 大规模(万级以上)任务的调度性能瓶颈通常出现在哪里,分片治理、批量触发与线程池隔离如何应对

A 减少执行器
B 增加调度频率
C 线程池隔离 ✓ 正确答案
D 关闭监控
#

8. 定时任务在多实例下如何保证幂等与防重入,分布式锁、数据库唯一约束与状态机各如何兜底

A 分布式锁
B 缓存
C 状态机 ✓ 正确答案
D 日志
#

9. 热点参数限流(ParamFlow)如何针对特定参数值单独限流,参数例外项与统计窗口如何配置

A 统计窗口
B 参数例外项(paramFlowItem) ✓ 正确答案
C 阈值
D 资源名
#

10. 熔断的状态机(Closed/Open/Half-Open)

A Half-Open ✓ 正确答案
B Closed
C Disabled
D Pending
#

11. 网关层限流如何在 Spring Cloud Gateway 的 RequestRateLimiter 中借助 Redis + Lua 实现分布式令牌桶

A 提高性能
B 保证分布式环境下扣减令牌的原子性 ✓ 正确答案
C 加密数据
D 减少内存
#

12. 调度与业务解耦的常见做法是把任务投递到消息队列削峰,这种模式对一致性与时延有何影响

A 降低时延
B 减少消息
C 提高一致性
D 引入异步时延与最终一致,换取削峰与解耦 ✓ 正确答案
#

13. 限流指标的 Prometheus 暴露

A spring-boot-starter-cache
B spring-boot-starter-web
C micrometer-registry-prometheus ✓ 正确答案
D spring-boot-starter-jdbc
#

14. @CircuitBreaker/@Retry/@RateLimiter 的工程应用

A 两者互斥
B 无需任何配置
C 重试次数过多可能触发熔断,需合理配置 ✓ 正确答案
D 只能选一个
#

15. @Fallback 方法的边界

A 签名需与原方法匹配(返回类型兼容,可含异常参数) ✓ 正确答案
B 正常成功路径也会执行
C 必须是静态方法
D 可以替代原方法
#

16. @TimeLimiter 的 timeoutDuration 与线程池/信号量隔离组合时,超时后线程如何被中断或释放

A @TimeLimiter 配置
B 任务是否响应中断(可中断性) ✓ 正确答案
C 信号量大小
D 网络速度
#

17. Bucket4j 令牌桶库

A 通过 Redis 存储令牌桶状态 ✓ 正确答案
B 本地内存
C 数据库表
D 文件
#

18. ElasticJob 如何基于 ZooKeeper 的临时节点实现分片项分配与失效转移,节点宕机后分片如何重平衡

A 定时心跳数据库
B 文件锁
C 网络 ping
D ZooKeeper 临时节点(会话消失即宕机) ✓ 正确答案
#

19. Resilience4j 与 Spring Retry 的取舍

A Spring Retry
B Resilience4j ✓ 正确答案
C 手动实现
D 缓存
#

20. Sentinel 与 Resilience4j 在设计理念(统计滑动窗口 vs 函数式装饰)、规则动态化与生态上的选型对比

A Sentinel 用滑动窗口统计与动态规则,Resilience4j 用函数式装饰 ✓ 正确答案
B 两者完全相同
C 都无规则
D 都基于线程池
#

21. XXL-JOB 的调度中心与执行器分离架构如何工作,任务注册、心跳保活与调度请求的链路是怎样的

A 执行器定期心跳保活 ✓ 正确答案
B 数据库记录
C 网络 ping
D 文件锁
#

22. 分片广播与单机执行分别适合什么任务,分片参数(shardingIndex/shardingTotalCount)如何用于数据切分

A 计算自己负责的数据分片范围 ✓ 正确答案
B 决定执行时间
C 决定重试次数
D 记录日志
#

23. 调度中心自身的高可用如何保障,主从切换、任务超时判定与 misfire 补偿机制如何设计

A 数据库唯一约束
B 随机数
C 时间戳
D 分布式锁/选主保证单点调度 ✓ 正确答案
#

24. 降级的触发条件(手动/自动/规则)

A 手动降级
B 静态降级
C 自动降级 ✓ 正确答案
D 无降级
#

25. Hystrix 已弃用的迁移(Resilience4j)

A @CircuitBreaker/@Retry/@RateLimiter 等 ✓ 正确答案
B @Async
C @Cacheable
D @Transactional
#

26. Sentinel 的规则体系(FlowRule/DegradeRule/SystemRule/AuthorityRule)如何分工,资源调用经过的 slot 责任链如何串联

A DegradeRule
B FlowRule ✓ 正确答案
C SystemRule
D AuthorityRule
#

27. 调度时钟漂移(NTP 同步偏差)对 Cron 触发有何影响,跨时区与夏令时切换应如何规避漏触发或重复触发

A 使用本地时区
B 关闭调度
C 随机触发
D 统一用 UTC 基准并按需对小跳变时段做补偿 ✓ 正确答案