# 1. ShardingSphere-Proxy 的透明分片与协议兼容 A 应用必须改造 SQL 才能使用分片 B 透明分片需要应用感知每个分片 C Proxy 不支持标准 JDBC 连接 D Proxy 实现 MySQL/PostgreSQL 协议、逻辑库表经分片规则自动改写路由与聚合,应用以单库方式透明使用分片 ✓ 正确答案
# 2. Proxy 与 JDBC 两种接入形态的差异 A JDBC 形态是独立进程,Proxy 是嵌入应用 B Proxy 无法支持多语言 C 两者完全相同 D JDBC 嵌入应用性能好但耦合语言,Proxy 独立进程语言无关、集中管理但多一跳网络,按场景选型 ✓ 正确答案
# 3. 数据库前放置代理对连接池(HikariCP)的影响 A 应用连接池连代理、代理复用后端连接,需协调连接池参数与代理的会话/复用策略避免状态串扰与连接不足 ✓ 正确答案 B 代理让应用连接池直连后端数据库 C 代理不会改变连接拓扑 D 连接池参数与代理无关
# 4. 云厂商 RDS Proxy 如何优化故障转移时间(代理层保持并复用客户端连接、快速探活与后端重连、吸收重连风暴、自动回滚中断事务)? A 故障转移时客户端必须断开重连 B 代理无法吸收重连风暴 C 代理保持并复用客户端连接、快速探活后端重连、吸收重连风暴并自动回滚中断事务,使故障切换对应用近乎无感 ✓ 正确答案 D 中断事务不会被回滚
# 5. 主从切换时代理层如何通过连接排空(draining)与新主连接预热防止连接雪崩与请求失败? A 切换时直接断开所有连接即可 B 预热连接会加剧雪崩 C 代理先排空旧主在途请求、再预热新主后端连接,配合连接池复用,防止切换瞬间连接风暴与请求失败 ✓ 正确答案 D 排空与防雪崩无关
# 6. 代理层的 SQL 审计与字段级脱敏 A 代理层可记录 SQL 审计日志并对敏感字段做脱敏返回,实现数据库入口的访问管控与数据保护 ✓ 正确答案 B 代理层无法做审计或脱敏 C 脱敏只针对 DDL D 审计与脱敏必须改应用
# 7. Proxy 的 DistSQL 在线管控分片规则 A DistSQL 修改规则必须重启 Proxy B DistSQL 只能查看,不能修改 C DistSQL 用 SQL 在线创建/修改分片规则与数据源并热生效,无需重启,支持动态运维 ✓ 正确答案 D 分片规则无法在线变更
# 8. 代理的预处理(Prepared Statement)透传 A 代理必须把参数解析后本地执行 B 代理无法处理 Prepared Statement C 预处理与分片无关 D 代理可透传 prepare 给后端复用预编译计划,分片场景则需参数化路由,权衡透传与本地处理 ✓ 正确答案
# 9. Proxy 的连接池与后端连接管理 A Proxy 让每个前端连接独占一条后端连接 B Proxy 不管理后端连接 C Proxy 维护前端与后端连接池,复用后端连接降低连接数,但事务/会话状态请求需独占连接 ✓ 正确答案 D 连接池与后端连接数无关
# 11. 数据库代理的限流与熔断如何配置,与后端资源保护的联动怎么做? A 代理按用户/SQL/IP 限流、在后端过载/故障时熔断,并监控后端健康联动调整策略,形成端到端保护 ✓ 正确答案 B 代理限流/熔断无法保护后端 C 熔断后不会恢复 D 限流与熔断无需配置
# 12. Proxy 在异构数据源统一接入的价值 A Proxy 只能接入单一类型的数据库 B 统一接入会加剧源差异 C 异构数据源无法统一接入 D Proxy 提供统一入口、协议与治理,屏蔽异构数据源差异,实现统一查询与运维 ✓ 正确答案
# 13. 数据库代理的权限模型与审计日志如何设计,代理层的访问控制边界如何界定? A 代理层权限会绕过后端权限 B 代理层用用户/角色/库表权限模型统一鉴权并记录审计日志,与后端权限协同界定访问控制边界 ✓ 正确答案 C 代理层无法做审计 D 权限模型与后端一致即可,无需代理层
# 14. 代理层的连接复用降低后端连接数 A 多个前端连接复用少量后端连接池,降低后端连接数与建连开销,但事务/会话状态请求需独占连接 ✓ 正确答案 B 每个前端连接都对应一条后端连接 C 连接复用会增加后端连接数 D 复用与后端资源无关
# 15. 代理的线程模型(每连接/线程池)与吞吐 A 每连接一线程吞吐最高 B 事件驱动异步 IO + 受控线程池(如 Netty)避免每连接一线程的线程爆炸,提升高并发吞吐 ✓ 正确答案 C 线程模型与吞吐无关 D 线程越多吞吐越高
# 16. 代理对事务边界与会话状态的保持 A 代理可以随意复用连接,不管事务状态 B 会话状态与连接无关 C 代理识别 BEGIN/COMMIT 与 SET/临时表等会话状态,事务/会话请求独占连接并在结束时归还,跨分片事务需协调 ✓ 正确答案 D 代理无法处理分布式事务
# 17. 数据库代理引入的延迟开销如何测量,瓶颈定位的排障方法是什么? A 对比直连耗时量化代理开销,分解解析/路由/后端/合并各阶段并结合监控指标定位瓶颈 ✓ 正确答案 B 代理延迟无法测量 C 瓶颈一定在后端 D 代理开销无法优化
# 18. 多层级代理(网关+DB 代理)的职责划分 A 网关与 DB 代理职责完全相同 B 网关负责数据库分片 C 网关管应用流量/安全、DB 代理管数据库语义/治理,分层职责单一、避免重叠 ✓ 正确答案 D DB 代理负责 HTTP 鉴权
# 19. 代理的 SSL 终止与后端加密 A 代理终止 TLS 后,后端段无需加密 B 代理无法处理 TLS C 全链路加密不必要 D 代理在客户端段终止 TLS 承担加解密,后端段可再启用 TLS 实现全链路加密,权衡安全与 CPU 成本 ✓ 正确答案
# 20. 代理层的主库探活与自动切流 A 代理探测到主库故障后不切流 B 探活只需一次,无需周期 C 代理定期探活主库,检测故障后把写流量自动切到新主,并与后端数据层切换协同 ✓ 正确答案 D 切流与后端无关
# 21. 代理层读流量按权重分发的实现与一致性风险,主从延迟下的读路由如何决策? A 代理按权重均衡分发读流量,并感知主从延迟、摘除滞后从库,对强一致读路由到主库 ✓ 正确答案 B 读流量只能固定走一个从库 C 主从延迟不影响读路由 D 权重分发无法实现
# 22. 代理层慢查询拦截与限流如何实现,误拦截与业务影响如何控制? A 拦截规则越严越好 B 代理按 SQL/用户/耗时拦截与限流慢查询,通过渐进式(先告警后拦截)、白名单与可回退控制误拦截 ✓ 正确答案 C 慢查询无需治理 D 拦截不会影响业务
# 23. 代理在单元化(异地多活)的路由 A 单元化路由与代理无关 B 所有请求必须路由到中心单元 C 代理按路由键(用户/租户)把请求路由到对应单元的数据源,实现单元内闭环与跨单元容灾切换 ✓ 正确答案 D 单元化无法实现多活
# 24. 代理故障对应用的影响与快速摘除 A 代理故障不影响应用 B 代理单点部署不影响可用性 C 代理是统一入口,故障会导致访问中断,需多副本高可用、健康检查摘除、应用降级与快速恢复来避免单点 ✓ 正确答案 D 代理故障无需处理
# 25. 代理与服务网格(Sidecar)的共存 A Sidecar 与数据库代理职责相同 B Sidecar 负责数据库分片 C 两者共存会必然冲突 D Sidecar 管服务间流量治理,数据库代理管数据库访问治理,按"网格管服务、代理管数据"分层共存 ✓ 正确答案