# 1. JVM 启动参数对分库分表应用的影响,堆大小与连接池线程数的联动规划 A 堆大小与连接池无关 B 连接池线程数越多堆越大越优 C 分片数放大连接池内存,堆大小需与连接数、线程数联动规划留余量 ✓ 正确答案 D 只需规划堆大小
# 2. ShardingSphere Proxy 的线程模型与吞吐瓶颈 A Netty IO 线程 + 业务线程池,瓶颈在解析、连接与归并 ✓ 正确答案 B 单线程处理 C 无业务线程池 D 瓶颈只在网络
# 3. ShardingSphere 与数据库原生分布式事务(如 PolarDB)的边界 A 数据库原生把一致性下沉到 DB,ShardingSphere 在应用层协调,选型看能力与需求 ✓ 正确答案 B 原生事务无法用于 MySQL 分片 C 两者毫无关系 D ShardingSphere 只能强一致
# 4. ShardingSphere 事务日志与异常回滚的可观测性 A 无法观察回滚 B 只要提交成功即可 C 记录协调日志、参与方状态与回滚结果,定位失败分片与回滚完整性 ✓ 正确答案 D 事务日志不重要
# 5. ShardingSphere 分库分表的核心概念,逻辑表、真实表、分片键、分片算法 A 逻辑表与真实表相同 B 逻辑表是抽象,真实表是物理,分片键与算法决定路由 ✓ 正确答案 C 算法默认为全路由 D 分片键可选
# 6. ShardingSphere 基于 Atomikos 的 XA 强一致事务实现与性能损耗 A XA 无性能损耗 B 2PC 实现强一致,但 prepare/commit 往返与日志带来显著性能损耗 ✓ 正确答案 C XA 是最终一致 D XA 只需单次提交
# 7. ShardingSphere 解析引擎(ANTLR)性能与缓存 A 解析与性能无关 B 解析无法缓存 C 用 SQL 解析缓存复用 AST,降低 CPU 密集解析开销 ✓ 正确答案 D 每次 SQL 都重新解析最优化
# 8. 分库分表后的全局查询,如何用汇总层(宽表/ES)替代跨分片 Join A 汇总层无需同步 B 宽表增加查询复杂度 C 用宽表冗余或 ES 汇总层承载全局查询,规避跨分片 Join ✓ 正确答案 D 跨分片 Join 性能最优
# 9. ShardingSphere 的 SQL 改写对查询计划的影响,子查询与聚合函数跨分片如何归并 A 改写后无需归并 B 聚合函数直接返回即可 C 改写使分片可执行,归并层处理聚合、排序、分页保证结果正确 ✓ 正确答案 D 子查询无需改写
# 11. AES/SM4 字段加密与影子字段(assistedColumn)查询支持 A 影子字段用摘要/辅助值支持加密字段的查询 ✓ 正确答案 B 加密后无法查询 C 加密字段可直接范围查询 D 影子字段减少存储
# 13. JIT 编译器 C1/C2/Graal 的分层编译与内联启发式 A 只有 C1 B 内联无条件 C Graal 不优化 D C1 快速编译取 profile,C2 对热点做激进优化,内联按启发式减少调用 ✓ 正确答案
# 14. JVM 的 deoptimization 对可观测性的影响 A 只发生在 C1 B deoptimization 提升性能 C 无性能影响 D JIT 假设失效时回退到解释/低优化,产生性能尖峰,观测需结合其事件 ✓ 正确答案
# 15. NUMA 感知分配与压缩 oops 在大堆场景的应用 A 压缩 oops 增加内存 B NUMA 与性能无关 C 压缩 oops 只在 64GB 有效 D 压缩 oops 用 32 位指针省内存,NUMA 感知分配减少跨节点访问 ✓ 正确答案
# 16. ZGC 亚毫秒暂停与可扩展至 16TB 堆的设计 A ZGC 暂停很慢 B 用读屏障与染色指针实现并发收集,亚毫秒暂停、支持超大堆 ✓ 正确答案 C ZGC 只支持小堆 D ZGC 是串行收集器
# 17. JIT 编译对分片路由热路径的优化,高频执行的 SQL 解析代码如何被 C2 内联 A JIT 不优化热路径 B 内联无条件 C C2 内联热路径小方法,优化分片键提取与路由计算 ✓ 正确答案 D 分片路由无法优化
# 18. 分布式主键(Snowflake/UUID)在分片环境下的冲突与时钟回拨 A 两者相同 B UUID 按时间有序 C Snowflake 无时钟依赖 D Snowflake 有序利于分片但需处理时钟回拨,UUID 均匀但无序、较大 ✓ 正确答案
# 19. 分片键变更(改 sharding key)的工程代价,数据重分布与路由规则升级 A 变更会导致数据重分布与规则升级,成本高,应选稳定分片键 ✓ 正确答案 B 路由规则自动更新 C 分片键变更代价小 D 无需迁移数据
# 20. 分片后的二级索引,全局索引与本地索引的查询路径差异 A 全局索引无维护成本 B 本地索引非分片键查询需全路由,全局索引按索引键定位避免全路由 ✓ 正确答案 C 两者查询路径相同 D 本地索引可跨分片
# 21. JVM 堆大小与分片连接数,每个分片连接池占用与总堆内存的容量规划 A 总连接数 = 分片数 × 每分片连接池,连接缓冲与业务内存共同决定堆大小 ✓ 正确答案 B 连接越多越好 C 堆大小与分片数无关 D 连接池大小与堆无关
# 25. Class Data Sharing (CDS) 与 AppCDS 减少容器启动时间 A 只共享 JVM 核心类 B 应用类归档为共享,减少类加载与验证,缩短启动时间 ✓ 正确答案 C 与容器无关 D 增加启动时间
# 26. ShardingSphere 的加密列(Encrypt)对查询性能的影响,密文索引与影子字段的取舍 A 影子字段不占存储 B 加密列查询无影响 C 密文可直接范围索引 D 加密损索引与查询,需密文索引或影子字段恢复等值查询但增加存储 ✓ 正确答案
# 27. ShardingSphere 的分布式主键(雪花)在分片路由中的应用,时钟回拨如何规避 A 雪花 ID 无法用于分片 B 雪花 ID 有序利于路由,时钟回拨通过记录最大时间、等待/拒绝规避 ✓ 正确答案 C 雪花 ID 依赖随机数 D 时钟回拨无影响
# 28. JVM 的 G1 停顿与分片批量导入的配合,大批量写入时如何降低 GC 频率 A 增大批次减小 GC B GC 停顿不可控 C 批量导入与 GC 无关 D 复用缓冲降分配、控制批次、调 G1 参数可降低大批量写入的 GC 频率 ✓ 正确答案
# 29. Inline、Standard、Complex、Hint 四类分片策略的适用场景 A 四类都只支持单键 B Hint 依赖分片键 C Inline 支持多键 D Inline 简单取模,Standard 单键范围,Complex 多键,Hint 强制路由 ✓ 正确答案
# 30. 分库分表后的事务日志(undo/redo)与 JVM 堆外内存的配置关系 A 堆外耗尽不影响事务 B 事务日志只用堆内存 C 堆外内存无需配置 D 事务日志缓冲可能占堆外内存,需配置堆外大小与并发事务匹配 ✓ 正确答案
# 31. ShardingSphere 的读写分离,主从延迟对路由与事务一致性的影响 A 事务内可走从库 B 从库数据总是最新 C 主从延迟致读到旧数据,事务内或敏感查询需强制主库保一致 ✓ 正确答案 D 路由与延迟无关
# 32. 分片场景的容量规划,单分片数据量、连接数与 JVM 堆的匹配估算 A 连接数与堆无关 B 按数据量定分片数、连接数定并发、堆定内存,三者联动匹配 ✓ 正确答案 C 单分片数据量无上限 D 分片数越多越好
# 33. Seata 集成 ShardingSphere 的 AT 模式最终一致方案 A AT 是强一致 B 本地提交 + undo log 补偿实现最终一致,性能优于 XA ✓ 正确答案 C AT 无法集成分片 D AT 不需 undo log
# 34. ShardingSphere 5.x 内核模块(Infra、Kernel、Features)架构 A 无 SPI 扩展 B 只有 JDBC 形态 C 各功能独立无共享 D Infra 基础层、Kernel 核心层、Features 功能层,SPI 扩展且 JDBC/Proxy 共享内核 ✓ 正确答案
# 35. ShardingSphere Encrypt 对明文/密文字段自动加解密的拦截原理 A 不拦截 SQL B 只能加密不能解密 C 应用需手动加解密 D 改写 SQL 加密写入、归并结果解密,应用透明读写明文 ✓ 正确答案
# 36. ShardingSphere Scaling 在线扩缩容与存量数据迁移 A 无需增量同步 B 切换前不校验 C 全量迁移 + binlog 增量 + 校验 + 切换实现在线扩缩容 ✓ 正确答案 D 迁移需停机
# 37. ShardingSphere 与 MyBatis/Spring Data 的集成陷阱 A 无需改数据源 B 需替换数据源、配置事务、确保分片键在 SQL 中,避免全路由 ✓ 正确答案 C 事务自动覆盖多分片 D 分片键可与 SQL 无关
# 38. ShardingSphere 元数据与配置中心(ZooKeeper/Nacos)集成 A 配置中心集中管理规则,监听变更热更新,多实例共享 ✓ 正确答案 B 配置变更需重启 C 不支持 ZooKeeper D 配置中心不参与规则
# 39. ShardingSphere 在信创国产库的适配与兼容性注意点 A 所有函数都支持 B 国产库与 MySQL 完全一致 C 需适配方言解析、驱动、事务与类型映射,并做回归验证 ✓ 正确答案 D 无需方言适配
# 40. ShardingSphere 在异地多活单元化中的分片路由策略 A 分片与单元无关 B 跨单元事务强一致 C 分片键含单元维度,路由保证单元内数据自治与就近处理 ✓ 正确答案 D 单元间强一致
# 42. ShardingSphere 权限控制与 SQL 防火墙 A 防火墙不拦截 SQL B 权限控制管访问授权,SQL 防火墙拦截非法 SQL 实现安全防护 ✓ 正确答案 C 无权限控制 D 只在 JDBC 形态可用
# 43. ShardingSphere 的 DistSQL 运维语言与在线变更配置 A DistSQL 与运维无关 B 需重启生效 C SQL 风格语法在线管理数据源与分片规则,支持热变更 ✓ 正确答案 D 只能查看不能修改
# 44. ShardingSphere 解析 SQL 并改写路由的实现原理 A 改写无需路由 B 流程为解析、路由、改写、执行、归并,解析提取分片信息 ✓ 正确答案 C 归并在解析前 D 解析后直接执行
# 46. ShardingSphere-JDBC 与 ShardingSphere-Proxy 的部署形态差异 A 两者部署相同 B JDBC 是独立代理 C Proxy 嵌入应用 D JDBC 嵌入式性能好但侵入应用,Proxy 独立集中管控但多一跳网络 ✓ 正确答案
# 47. ShardingSphere-JDBC 在连接池(HikariCP)下的连接管理 A 跨分片事务无需多连接 B 每个分片独立 HikariCP 连接池,路由时按分片取连接 ✓ 正确答案 C 一个连接池管所有分片 D 连接池与分片无关
# 48. ShardingSphere 的 SQL 审计与慢 SQL 拦截,如何定位跨分片查询的性能问题 A 审计与慢 SQL 暴露全路由、跨分片与归并耗时,据此优化 ✓ 正确答案 B 全路由性能最优 C 慢 SQL 与性能无关 D 审计无法反映分片
# 50. JVM 直接内存与分片批量导入,Netty/缓冲池在数据迁移中的内存边界 A 缓冲池不占内存 B 直接内存归堆管理 C 直接内存无上限 D Netty/缓冲池用直接内存,需配置 MaxDirectMemorySize 与控制批大小防 OOM ✓ 正确答案
# 51. ShardingSphere 的配置中心集成,分片规则变更的热更新与灰度 A 监听配置变更热更新规则,多版本/标记实现灰度切换 ✓ 正确答案 B 热更新与配置中心无关 C 规则变更需重启 D 无法灰度
# 52. 分片下分页(LIMIT/OFFSET)跨节点归并的性能优化 A OFFSET 分页取数放大,可改用游标分页避免深 OFFSET ✓ 正确答案 B 分片分页无需优化 C 游标分页更慢 D OFFSET 越大性能越好
# 56. 分片键缺省时的全路由扫描如何避免,Hint 路由与索引兜底的设计 A Hint 增加全路由 B 用 Hint 强制分片或 GSI 索引表定位,避免全路由扫描 ✓ 正确答案 C 缺分片键无影响 D 全路由性能最优
# 59. JVM 启动预热与分片连接初始化,如何避免首请求延迟偏高 A 首请求延迟没法避免 B 预热无意义 C 启动预热 JIT 与缓存、连接池预建连接,消除首请求尖刺 ✓ 正确答案 D 连接懒加载最优
# 61. ShardingSphere 的加密功能与数据库迁移的配合,明文存量数据如何平滑升级 A 双列过渡先存明文与密文,存量加密后切换只读密文 ✓ 正确答案 B 存量明文无需处理 C 无法平滑升级 D 直接切换只读密文
# 62. 跨分片更新如何避免部分成功导致的数据不一致 A 跨分片更新天然一致 B 部分成功可接受 C 无需分布式事务 D 用 XA/Seata 或拆分为单分片更新 + 补偿,避免部分成功 ✓ 正确答案
# 63. JVM 的 -Xlog:gc 与分片写入吞吐的关联分析,如何定位 GC 引起的写入尖刺 A 叠加 GC 停顿时间与写入吞吐曲线,定位 GC 引起的写入尖刺 ✓ 正确答案 B GC 日志无用 C GC 与写入无关 D 尖刺总由 GC 引起
# 64. 分库分表的绑定表与广播表在 Join 查询中的应用边界 A 广播表单副本 B 跨分片键 Join 无问题 C 绑定表分片键一致可本地 Join,广播表用于小常量表,跨键 Join 需汇总层 ✓ 正确答案 D 绑定表可任意 Join
# 66. 分片路由规则的单元测试,如何验证不同分片键的 SQL 改写结果 A 用多种分片键验证路由分片与 SQL 改写结果,覆盖边界与全路由 ✓ 正确答案 B 只测一个分片键 C 无法验证改写 D 路由规则无需测试
# 67. JVM 的 Metaspace 与分片 SQL 动态生成,动态 SQL 类/字符串对元空间的占用 A 动态生成类/字符串占 Metaspace,无界增长会 OOM,需缓存复用 ✓ 正确答案 B Metaspace 与 SQL 无关 C Metaspace 无上限 D 动态类在堆
# 68. 分片环境下的索引设计,本地索引与全局二级索引(GSI)的取舍 A GSI 无成本 B 高频非分片键查询用 GSI 避免全路由,低频用本地索引 ✓ 正确答案 C 所有查询都用 GSI D 本地索引可跨分片