# 1. Nacos 配置中心的 CP/AP 模式切换(Raft/Distro) A CP 模式使用 Distro 协议实现强一致 B AP 模式使用 Raft 协议,保证可用性优先、数据最终一致 C CP 模式使用 Raft 协议保证配置强一致,AP 模式使用 Distro 协议保证高可用 ✓ 正确答案 D 模式切换只影响服务发现,不影响配置中心
# 2. 配置中心的本地缓存与降级(连不上配置中心) A 本地缓存永远是最新配置,无需同步 B 配置中心不可用时应用必须立即停止 C 本地缓存只用于启动,运行期无用 D 连不上配置中心时,应用回退到本地缓存配置继续运行,保证可用性 ✓ 正确答案
# 3. 配置中心配置加密与敏感信息保护 A 配置值存密文,客户端运行时解密,密钥由 KMS 等安全托管 ✓ 正确答案 B 只需加密配置中心界面,传输无需加密 C 加密后无法解密,无法使用 D 密钥直接写在配置或代码中,方便使用
# 4. Nacos 配置中心的持久化(内嵌 Derby vs 外部 MySQL)与集群部署 A Derby 支持多实例共享,适合集群部署 B 内嵌 Derby 仅适合单机,生产集群必须使用外部 MySQL 共享存储 ✓ 正确答案 C 内嵌 Derby 比外部 MySQL 更适合生产 D Nacos 集群模式无需数据库,数据存内存
# 5. 配置变更对运行中线程池/连接池的动态调整(动态线程池) A 线程池参数调整只能重启应用生效 B 动态调整线程池无需监控,直接改参数即可 C 监听配置变更后调用 setCorePoolSize 等动态调整线程池参数 ✓ 正确答案 D 线程池参数不能由配置中心管理
# 6. 配置版本回滚与多环境一致性治理 A 配置一旦发布无法回滚 B 配置中心保存发布历史支持版本回滚,配合 namespace 隔离多环境 ✓ 正确答案 C 配置漂移无法避免,无需治理 D 多环境配置应共享同一 namespace,不做隔离
# 7. Apollo 与 Nacos 的权限与发布审核流程 A 两者都无权限控制,任何人可改配置 B Apollo 支持发布权限与编辑权限分离,并支持发布审核与变更留痕 ✓ 正确答案 C 配置变更无需记录审计日志 D 发布审核流程与权限无关
# 8. Apollo 的配置灰度发布与环境(Environment/Cluster/Namespace)模型 A 灰度发布即全量发布,无差异化 B Cluster 用于隔离环境,Namespace 用于隔离机房 C Apollo 只能有一个 namespace,无法多空间 D Apollo 通过 Environment/Cluster/Namespace 三级模型隔离配置,并支持灰度发布 ✓ 正确答案
# 9. Apollo 的配置热更新推送(长轮询)机制 A 配置无变化时服务端挂起请求,有变更时立即返回通知,客户端再拉取 ✓ 正确答案 B 长轮询只能轮询,无法感知配置变更 C 配置变更后客户端无需重新拉取,服务端直接注入 D 长轮询即客户端高频短轮询,每次立即返回
# 10. Apollo 的多环境配置、灰度发布与权限模型,与 Nacos 配置中心的功能差异? A Apollo 配置治理与灰度更完善,Nacos 更侧重注册与配置一体化 ✓ 正确答案 B Nacos 的灰度发布比 Apollo 更完善、粒度更细 C Apollo 不支持多环境隔离 D Apollo 与 Nacos 的权限模型完全相同
# 11. 配置变更的推送实时性、客户端缓存与回滚机制如何设计(长轮询 vs gRPC)? A 长轮询实时性比 gRPC 推送更高 B 客户端缓存会破坏可用性,应抛弃 C 回滚无需客户端配合,服务端即可完成 D gRPC 长连接推送实时性更好、连接更省,长轮询实现更简单 ✓ 正确答案
# 12. Apollo 的多环境/多集群配置,namespace 与应用命名空间的隔离如何? A 所有环境共享同一 namespace,无隔离 B namespace 只能有一个,无法管理多个配置维度 C Cluster 用于隔离环境,与配置无关 D 环境隔离通过 Environment 实现,配置维度用 namespace 组织,集群差异用 Cluster 隔离 ✓ 正确答案
# 13. Nacos 配置监听(Listener)与动态刷新 @RefreshScope A @RefreshScope 的 Bean 永不刷新,配置变更无效 B 所有 Bean 默认都带 @RefreshScope,无需标注 C @RefreshScope 只对静态配置生效,不支持热更新 D 配置变更时 @RefreshScope 会销毁并重建 Bean,使新配置生效 ✓ 正确答案
# 14. 配置中心的高可用与敏感配置加密(Jasypt/KMS)如何落地? A 配置中心单机即可满足高可用 B 加密密钥应直接写在配置或代码中 C 高可用通过多节点集群+高可用数据库实现,加密通过 Jasypt/KMS 且密钥被安全托管 ✓ 正确答案 D 高可用与加密互不相关,分别独立实现
# 15. 配置变更的热更新,Spring @RefreshScope 与配置监听器如何实现? A 监听器只能整体重建 Bean,无法精细控制 B @RefreshScope 通过清除作用域缓存并重建 Bean 实现自动热更新 ✓ 正确答案 C @RefreshScope 是命令式刷新,需手动写刷新逻辑 D 两者实现完全相同,无区别
# 16. Nacos 的配置与注册一体,命名空间与分组的最佳实践如何? A namespace 与 group 功能相同,无需区分 B namespace 用于环境隔离,group 用于模块/分组,两者配合组织配置与服务 ✓ 正确答案 C 所有配置服务共享一个 namespace,不隔离 D group 用于环境隔离,namespace 用于模块分组
# 17. 配置中心的操作审计与合规(变更留痕、发布记录) A 配置变更无需留痕,影响不大 B 审计日志无需长期保存,用完即删 C 权限控制与审计合规无关 D 通过发布记录、审计日志记录操作人、时间与变更内容,实现可追溯 ✓ 正确答案