dba招聘考题通常涵盖数据库基础知识、SQL能力、故障排查、性能优化、高可用架构设计以及运维管理等多个维度,旨在全面考察候选人的技术深度、实践经验及问题解决能力,以下从不同模块详细展开常见考题方向及示例解析,帮助候选人系统备考。

数据库基础理论
数据库核心概念
- 事务特性(ACID):要求结合实例说明事务的原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability),银行转账场景中如何通过ACID保证数据一致性”。
- 锁机制:对比行锁、表锁、间隙锁的区别,分析不同隔离级别(读未提交、读已提交、可重复读、串行化)下的锁行为,在可重复读级别下,解决幻读问题的间隙锁实现原理”。
- 索引原理:解释B+树索引与哈希索引的适用场景,分析聚簇索引与非聚簇索引的区别,为什么InnoDB默认使用聚簇索引,对查询性能有何影响”。
存储引擎特性
以MySQL为例,对比InnoDB与MyISAM的核心差异: | 特性 | InnoDB | MyISAM | |--------------|---------------------------------|-------------------------| | 事务支持 | 支持(ACID) | 不支持 | | 锁机制 | 行锁、表锁 | 仅表锁 | | 外键支持 | 支持 | 不支持 | | 存储结构 | 表数据与索引分开存储(.ibd) | 表数据与索引合并存储 | | 崩溃恢复 | Redo Log+Undo Log实现崩溃恢复 | 依赖操作系统文件恢复 |
SQL能力与优化
SQL编写与执行计划分析
- 复杂查询:编写多表关联(如LEFT JOIN、INNER JOIN)、子查询(相关子查询与非相关子查询)、窗口函数(如ROW_NUMBER、RANK)的SQL,查询每个部门工资最高的员工信息(考虑同名同薪情况)”。
- 执行计划解读:通过
EXPLAIN分析查询的type(访问类型,如ALL、index、range、ref、const)、key(使用的索引)、rows(扫描行数)、Extra(如Using filesort、Using temporary)等字段,定位性能瓶颈。type=ALL且rows值较大时,如何通过添加索引优化”。
索引优化实践
- 索引设计原则:遵循最左前缀原则,避免索引失效场景(如对索引列进行函数操作、类型转换、使用或
<>等),WHERE SUBSTR(name,1,3)='abc'会导致索引失效,如何改写SQL”。 - 索引覆盖与下推:分析覆盖索引(索引包含查询所需所有字段)和索引下推(ICP)减少回表次数的原理,在联合索引
(name, age)上查询name='张三' AND age>20时,ICP如何优化过滤过程”。
故障排查与性能调优
常见故障诊断
- 死锁分析:通过
SHOW ENGINE INNODB STATUS查看死锁日志,分析事务锁等待与循环依赖,提出解决方案(如调整事务隔离级别、优化SQL顺序、添加超时机制)。 - 慢查询定位:启用慢查询日志(
slow_query_log),结合mysqldumpslow工具分析高频慢查询,通过pt-query-digest进行深度诊断。 - 连接池问题:排查“Too many connections”错误,分析连接池配置(如最大连接数
max_connections、连接超时wait_timeout)与应用层连接泄漏问题。
性能优化实践
- 参数调优:根据业务场景调整关键参数,如
innodb_buffer_pool_size(通常为物理内存50%-70%)、innodb_log_file_size(影响事务提交效率)、query_cache(MySQL 8.0已移除,需通过其他缓存机制替代)。 - SQL与架构优化:对大表进行分库分表(水平/垂直拆分)、读写分离(主从复制)、缓存优化(Redis缓存热点数据),订单表数据量达千万级,如何设计分片策略以避免单表瓶颈”。
高可用与架构设计
主从复制与集群方案
- 主从复制原理:说明基于Binlog的复制流程(主库写Binlog→从库I/O线程拉取→SQL线程重放),分析半同步复制(semisynchronous replication)与异步复制的差异。
- 高可用架构:对比MHA(Master High Availability)、MGR(MySQL Group Replication)、Orchestrator等工具的优缺点,MGR在故障切换时的数据一致性保障机制”。
- 分库分表策略:分析水平拆分(按时间、用户ID哈希)与垂直拆分(冷热数据分离)的适用场景,举例说明分片键选择对查询性能的影响。
云数据库与新兴技术
- 云数据库选型:对比AWS RDS、阿里云PolarDB、腾讯云TDSQL的核心特性(如弹性扩展、多租户隔离、AI优化)。
- NewSQL技术:分析TiDB、CockroachDB等分布式数据库的HTAP(混合事务/分析处理)能力,TiDB如何通过TiKV和TiFlash实现读写分离与实时分析”。
运维与安全管理
备份与恢复
- 备份策略:设计全量备份(xtrabackup)、增量备份、binlog备份的组合方案,确保RPO(恢复点目标)<15分钟。
- 恢复演练:模拟误删数据场景,通过binlog point-in-time恢复(PITR)或Flashback技术快速恢复数据。
安全加固
- 权限控制:遵循最小权限原则,通过角色(Role)管理用户权限,避免直接赋予
GRANT ALL。 - 数据加密:配置静态加密(如InnoDB表空间加密)与传输加密(SSL/TLS),防范数据泄露风险。
相关问答FAQs
Q1: 如何判断当前数据库是否存在性能瓶颈?
A: 可通过以下步骤综合判断:
- 监控指标:观察服务器级指标(CPU使用率、内存占用、磁盘I/O、网络带宽)和数据库级指标(Threads_connected、Queries_per_second、Slow_queries比例)。
- 慢查询分析:启用慢查询日志,定位执行时间超过阈值的SQL,重点关注
type=ALL、Using filesort、Using temporary的查询。 - 锁等待监控:通过
SHOW PROCESSLIST或sys.innodb_lock_waits视图检查是否存在长时间锁等待。 - 性能剖析:使用
Performance Schema或pt-query-digest分析资源消耗高的SQL,确定是索引缺失、SQL逻辑问题还是配置不当导致。
Q2: 数据库主从复制延迟过高如何处理?
A: 主从延迟的解决需从多方面入手:
- 主库优化:减少大事务(拆分长事务)、避免非必要写操作,降低主库Binlog生成压力。
- 从库调优:调整
slave_parallel_workers(MySQL 5.7+支持并行复制)提升从库应用Binlog效率;优化innodb_flush_log_at_trx_commit参数(从库可设为2,但需权衡数据安全)。 - 架构调整:对高并发场景采用“一主多从”架构,将读流量分流到多个从库;或使用中间件(如MyCat)实现读写分离,减轻从库压力。
- 监控与告警:通过
Seconds_Behind_Master指标实时监控延迟,设置延迟阈值告警,及时发现并处理复制异常。

