gorm 模拟试卷 · 技能认证
GORM 高级技能认证测试
本试卷覆盖以下核心知识点:
- 性能优化与调优(3题)
- N+1 查询优化
- 批量操作性能调优
- 查询计划分析与读写分离
- 高级并发与锁机制(3题)
- 悲观锁与乐观锁实现
- 分布式锁集成
- 死锁检测与处理
- 源码分析与底层原理(3题)
- GORM 内核架构
- 回调链机制
- 反射与元编程
- 预编译语句原理
- 分库分表与多租户(3题)
- 分表策略与分库路由
- 多租户数据隔离
- 跨库事务处理
- 数据迁移与版本管理(3题)
- 迁移脚本编写
- 生产环境迁移策略
- 数据一致性校验
- 安全与数据保护(3题)
- SQL 注入防护
- 敏感数据加密与脱敏
- 权限与审计日志
- 生态与工具链(3题)
- gen 代码生成器
- 第三方驱动适配
- 测试与 Mock 实践
试卷习题(21 题)
参考答案在文末单选题
1
单选题
在生产环境中管理 GORM 数据库迁移,推荐使用的工具是?
2
单选题
在生产环境中管理 GORM 数据库迁移,推荐使用的工具是?
3
单选题
在 GORM 中,如何对查询记录加行级排他锁(SELECT FOR UPDATE)?
4
单选题
在 GORM 中,以下哪种方式最能有效防止 SQL 注入攻击?
5
单选题
在 GORM 中,以下哪种方式最能有效防止 SQL 注入攻击?
6
单选题
在 GORM 中,以下哪种方式最能有效防止 SQL 注入攻击?
7
单选题
在 GORM 中,以下哪种方式最能有效解决 N+1 查询问题?
8
单选题
在 GORM 中,以下哪种方式最能有效解决 N+1 查询问题?
9
单选题
在 GORM 中,以下哪种方式最能有效解决 N+1 查询问题?
10
单选题
在生产环境中管理 GORM 数据库迁移,推荐使用的工具是?
11
单选题
在 GORM 中实现分表(如按月分表),推荐的方式是?
12
单选题
GORM v2 的回调链(registerCallbacks)是如何组织的?
13
单选题
在 GORM 中,如何实现按时间分表(如按月分表)?
14
单选题
GORM v2 的回调链(registerCallbacks)是如何组织的?
15
单选题
GORM v2 的回调链(registerCallbacks)是如何组织的?
16
单选题
在 GORM 中实现分表(如按月分表),推荐的方式是?
17
单选题
在 GORM 中实现分表(如按月分表),推荐的方式是?
多选题
18
多选题
以下哪些场景适合使用分表策略?
19
多选题
以下哪些场景适合使用悲观锁?
填空题
20
填空题
分表后查询需要或使用确定目标分表,避免全表扫描。
21
填空题
使用悲观锁扣减库存:
Go
db.!!1_Transaction!!(func(tx *gorm.DB) error {
var product Product
tx.Clauses(clause.Locking{!!2_Strength!!: "UPDATE"}).
Where("id = ?", productID).First(&product)
if product.Stock < quantity {
return errors.New("库存不足")
}
product.Stock -= quantity
return tx.!!3_Save!!(&product).Error
})
参考答案
1.B
2.B
3.B
4.C
5.C
6.C
7.B
8.B
9.B
10.B
11.A
12.B
13.A
14.B
15.B
16.A
17.A
18.A;B;D
19.A;C
20.遍历所有分表;路由规则
21.Transaction;Strength;Save
