多租户与数据权限专题测试
考察知识点
- 多租户架构设计:独立数据库 / 独立 Schema / 共享 Schema 三种方案的对比与选型,租户隔离的拦截器实现
- 数据权限拦截器:MyBatis 四大拦截器接口选择,JSqlParser SQL 解析与重写,权限上下文传递
- 动态数据源切换:AbstractRoutingDataSource 原理,ThreadLocal 数据源路由,事务与数据源切换的优先级问题
- 租户隔离策略:ThreadLocal 清理时机与内存泄漏防护,特权角色(平台管理员)的租户豁免方案设计
1
单选题
在 MyBatis 多租户架构中,采用"共享数据库、共享 Schema"方案时,实现租户数据隔离最推荐的方式是?
2
多选题
关于 MyBatis 多租户架构的三种数据库设计方案(独立数据库、独立 Schema、共享 Schema),以下说法正确的有哪些?
3
单选题
在实现 MyBatis 数据权限拦截器时,如果要拦截并修改 SQL 语句(如添加部门数据权限过滤),应该拦截以下哪个接口?
4
多选题
在实现 MyBatis 数据权限拦截器时,以下哪些做法是正确的?
5
单选题
在 Spring + MyBatis 架构中实现动态数据源切换,核心组件 AbstractRoutingDataSource 的 determineCurrentLookupKey() 方法通常从哪里获取当前数据源的 key?
6
多选题
在 Spring 事务管理中结合动态数据源切换时,以下哪些说法是正确的?
7
单选题
在基于 ThreadLocal 实现租户隔离的系统中,以下哪个时机清理租户上下文是最安全的?
8
多选题
某 SaaS 平台需要实现"平台管理员可查看所有租户数据,租户管理员只能查看本租户数据"的隔离策略,以下哪些实现方案是可行的?
📝 发现内容有误?点击此处直接编辑
想参加完整模拟考试?
小程序提供计时考试、自动评分和详细解析
长按或扫描二维码,立即体验