标签题目
数据库相关面试题第 2 页
数据库索引的作用?
数据库索引的作用?这道腾讯牛客题的关键是围绕“数据库索引的作用”讲清概念、机制、取舍和边界。数据库索引的作用是为查询提供更高效的访问路径,减少全表扫描。它可以加速等值查询、范围查询、排序、分组和连接条件,在覆盖索引场景下还能减少回表。
索引是如何实现的?
索引是如何实现的?这道腾讯牛客题的关键是围绕“MySQL 索引实现与 B+ 树”讲清概念、机制、取舍和边界。MySQL InnoDB 索引主要基于 B+ 树实现。B+ 树的非叶子节点保存 key 和子页指针,叶子节点保存完整行或主键值,并按 key 有序链接,适合等值查询、范围查询和排序扫描。
MySQL 索引常用什么数据结构实现?
MySQL 索引常用什么数据结构实现?这道腾讯牛客题的关键是围绕“MySQL 索引实现与 B+ 树”讲清概念、机制、取舍和边界。MySQL InnoDB 索引主要基于 B+ 树实现。B+ 树的非叶子节点保存 key 和子页指针,叶子节点保存完整行或主键值,并按 key 有序链接,适合等值查询、范围查询和排序扫描。
为什么数据库索引常用 B+ 树,B 树、B+ 树和二叉树有什么区别?
为什么数据库索引常用 B+ 树,B 树、B+ 树和二叉树有什么区别?这道腾讯牛客题的关键是围绕“数据库索引为什么常用 B+ 树”讲清概念、机制、取舍和边界。数据库索引常用 B+ 树,是因为它适合磁盘页和范围查询。B+ 树分叉多、树高低,非叶子节点只存 key 和子页指针,叶子节点顺序保存数据或主键并通过链表相连,能减少随机 I/O 并高效范围扫描。
数据库索引有哪些常见类型,它们有什么区别?
数据库索引有哪些常见类型,它们有什么区别?这道腾讯牛客题的关键是围绕“数据库索引类型”讲清概念、机制、取舍和边界。数据库索引类型可以按约束和结构分类:主键索引、唯一索引、普通索引、联合索引、前缀索引、全文索引、空间索引;InnoDB 还要区分聚簇索引和二级索引。
如何判断 SQL 查询是否发生索引失效?
如何判断 SQL 查询是否发生索引失效?这道腾讯牛客题的关键是围绕“SQL 索引失效判断”讲清概念、机制、取舍和边界。判断索引是否失效,核心看 EXPLAIN 或 EXPLAIN ANALYZE:possible_keys 有候选但 key 为空、type 退化为 ALL/index、rows 明显变大、filtered 很低、Extra 出现 Using filesort/Using temporary,通常说明没有按预期用上索引或扫描代价过高。
数据库性能优化通常从哪些方向入手?
数据库性能优化通常从哪些方向入手?这道腾讯牛客题的关键是围绕“数据库性能优化方向”讲清概念、机制、取舍和边界。数据库性能优化要从定位、SQL/索引、表结构、事务锁、连接池、缓存、架构扩展和硬件参数多层看。先用慢查询日志、监控和执行计划定位瓶颈,再决定是改 SQL、加索引、拆表、调连接池还是做缓存/读写分离。
关系型数据库和非关系型数据库有什么区别?
关系型数据库和非关系型数据库有什么区别?这道腾讯牛客题的关键是围绕“关系型数据库与 NoSQL 对比”讲清概念、机制、取舍和边界。关系型数据库强调结构化 schema、SQL、表关系、Join 和 ACID 事务,典型如 MySQL/PostgreSQL;非关系型数据库按模型分为 KV、文档、列族、图数据库等,更强调灵活 schema、水平扩展和特定访问模式。
Redis 主从复制的原理是什么?
Redis 主从复制的原理是什么?这道腾讯牛客题的关键是围绕“Redis 主从复制原理”讲清概念、机制、取舍和边界。Redis 主从复制通过从节点向主节点发起 PSYNC,同步主节点数据和后续命令流。首次或断点不可用时做全量同步,主节点生成 RDB 发送给从节点;断线重连且 backlog 足够时可做部分重同步。
业务中为什么会引入 Redis?适合哪些典型场景?
业务中为什么会引入 Redis?适合哪些典型场景?这道腾讯牛客题的关键是围绕“Redis 典型业务场景”讲清概念、机制、取舍和边界。业务引入 Redis 通常是为了低延迟访问和高吞吐状态管理。典型场景包括高频读缓存、计数器、排行榜、会话、分布式锁、限流、去重、延迟任务和轻量消息队列。
Redis 访问变慢时如何排查和优化?
Redis 访问变慢时如何排查和优化?这道腾讯牛客题的关键是围绕“Redis 访问变慢排查”讲清概念、机制、取舍和边界。Redis 变慢要按客户端、网络、Redis 命令、数据结构、内存、持久化和系统资源逐层排查。不能只说扩容或加机器,先要确认慢在连接、排队、执行、返回还是下游依赖。
数据库中如何使用 MD5 哈希存储字段?有哪些安全风险?
数据库中如何使用 MD5 哈希存储字段?有哪些安全风险?这道腾讯牛客题的关键是围绕“数据库字段 MD5 哈希存储风险”讲清概念、机制、取舍和边界。MD5 是确定性哈希,不是加密。数据库中可用 MD5 存储某些字段的摘要用于去重或脱敏匹配,但不能用于安全保存密码,因为 MD5 快、可暴力破解,并且存在碰撞和彩虹表风险。
Redis 的底层数据结构有哪些?跳表是如何实现的?
Redis 的底层数据结构有哪些?跳表是如何实现的?这道腾讯牛客题的关键是围绕“Redis 数据结构与底层编码”讲清概念、机制、取舍和边界。Redis 常用对外数据结构包括 String、List、Hash、Set、ZSet、Bitmap、HyperLogLog、Geo 和 Stream。回答时还要区分对外类型和底层编码,例如 SDS、listpack、quicklist、dict、intset 和 skiplist。
什么是数据库事务?事务的 ACID 特性是什么?
什么是数据库事务?事务的 ACID 特性是什么?这道腾讯牛客题的关键是围绕“数据库事务与 ACID”讲清概念、机制、取舍和边界。事务是一组数据库操作的逻辑单元,要么全部成功提交,要么失败回滚。ACID 分别是 Atomicity 原子性、Consistency 一致性、Isolation 隔离性和 Durability 持久性。
MySQL 常见存储引擎有哪些?它们有什么区别?
MySQL 常见存储引擎有哪些?它们有什么区别?这道腾讯牛客题的关键是围绕“MySQL 存储引擎差异”讲清概念、机制、取舍和边界。MySQL 常见存储引擎包括 InnoDB、MyISAM、Memory、Archive 和 CSV。当前默认主流是 InnoDB,支持事务、行级锁、MVCC、外键和崩溃恢复;MyISAM 不支持事务,主要是表级锁。
什么是聚簇索引?
什么是聚簇索引?这道腾讯牛客题的关键是围绕“InnoDB 聚簇索引”讲清概念、机制、取舍和边界。聚簇索引是数据行按索引顺序存储的索引结构。在 InnoDB 中,主键索引通常就是聚簇索引,叶子节点保存完整行数据;二级索引叶子节点保存二级索引列和主键值。
SQL 语句执行效率低时,如何分析并优化?
SQL 语句执行效率低时,如何分析并优化?这道腾讯牛客题的关键是围绕“SQL 查询优化与索引失效判断”讲清概念、机制、取舍和边界。SQL 慢或大批量查询要按定位、解释、改写、验证的流程处理:先从慢查询日志定位 SQL,再用 EXPLAIN/EXPLAIN ANALYZE 看访问类型、索引、扫描行数、回表、排序和临时表。
如果资源无限,去掉召回直接全量排序会怎样?
这题不是简单问算力,而是考推荐系统为什么分召回、粗排、精排:全量排序可能提升候选覆盖,但会改变样本分布、模型目标和系统约束。
向量数据库和传统数据库在查询方式、索引结构和事务能力上有什么区别?
这题考向量数据库和传统数据库的边界,回答要围绕查询目标、索引结构、事务一致性和工程搭配展开。
大模型输出准确度测试应该覆盖哪些测试点和评估口径?
这题考测试开发视角下的大模型输出准确度测试,答案要覆盖测试 oracle、评测集、规则断言、人工标注、LLM-as-judge 校准、回归测试和非确定性处理。
为什么 reference model 不应该直接由设计人员来写?
这题考验证独立性和 oracle 可信度,回答要说明 reference model 应基于规格独立实现,避免和设计共享同一理解错误。