GORM 中级技能认证测试
考察知识点
本试卷覆盖以下核心知识点:
- 关联关系管理(3题)
- 一对一、一对多、多对多关系配置
- 关联查询与预加载
- 关联数据创建与更新
- 高级查询技术(3题)
- 链式查询
- 子查询与聚合查询
- 分页查询与原生 SQL
- 事务处理(3题)
- 事务基础与嵌套事务
- 事务上下文传递
- 事务隔离级别配置
- 钩子函数与回调机制(3题)
- 创建/更新/删除/查询钩子
- 错误处理与日志(3题)
- 错误类型识别
- 日志配置与慢查询监控
- 插件系统(3题)
- 插件注册与使用
- Prometheus 监控与 Jaeger 链路追踪
- 软删除机制(3题)
- DeletedAt 字段
- 软删除查询过滤与恢复
- 数据库连接池管理(3题)
- 连接池配置与生命周期管理
在 GORM 中查询一对多关系时,默认会自动加载关联的子记录。
GORM 的链式调用方法(如 Where、Select)会修改原始 DB 对象,因此不应在并发环境中复用同一个 DB 对象。
GORM的SlowThreshold参数用于设置慢查询的时间阈值,当SQL执行时间超过该阈值时会以Warn级别输出日志,这可以帮助识别性能问题。
在 GORM 中恢复一条软删除的记录,正确的做法是?
在 GORM 中对软删除的模型执行真正的物理删除,应该使用什么方法?
在 GORM 中,如何配置一对多关系?
如何在 GORM 中注册一个插件?
GORM 链式查询中,哪个方法会实际执行 SQL 查询?
在GORM中配置日志输出,以下哪种日志级别最适合生产环境使用?
ConnMaxLifetime 参数的作用是什么?
GORM 的 BeforeCreate 钩子在什么时候被调用?
在 GORM 中恢复一条软删除的记录,正确的做法是?
在 GORM 中,如何开始一个事务?
以下关于 GORM 一对多关系外键配置的描述,哪些是正确的?
以下哪些情况可能导致数据库连接泄漏?
以下哪些场景适合使用 BeforeCreate 钩子?
关于GORM的日志配置,以下哪些说法是正确的?
GORM 插件可以用于以下哪些场景?
以下哪些是 GORM 的终结方法(会立即执行 SQL)?
以下关于 GORM 事务使用的描述,哪些是正确的?
____________设置连接在池中的最大空闲时间,超过该时间的空闲连接会被____________,以释放资源。
定义 GORM 钩子的方法是实现____________方法,如果返回错误则会____________插入操作。
GORM 插件需要实现____________方法返回插件名称,以及____________方法在数据库连接建立后初始化。
使用 db.Transaction 时,如果函数返回____________则自动提交事务,如果返回____________则自动回滚事务。