盘算机基础面试(数据库)

打印 上一主题 下一主题

主题 906|帖子 906|积分 2718

1. 事务的ACID特性?如何通过日记包管原子性和恒久性?



  • 专业解答
    ACID:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、恒久性(Durability)。日记(如Redo/Undo Log)记录操作,故障时重做或回滚。
  • 初中生版
    事务像银行转账:要么转成功(原子性),要么全取消(回滚)。日记像监控录像,出题目时按记录恢复。

2. 数据库索引的原理是什么?B+树和哈希索引的区别是什么?



  • 专业解答
    索引加快查询。B+树适合范围查询,叶节点链表结构;哈希索引基于哈希表,仅支持等值查询。
  • 初中生版
    B+树像图书馆的分类书架,能快速找到某类书或范围(比如A到C区);哈希索引像快递柜,直接输入编号(哈希值)取件。

3. 什么是脏读、不可重复读和幻读?如何通过隔离级别解决?



  • 专业解答

    • 脏读:读到未提交数据;
    • 不可重复读:同一事务两次读结果不同;
    • 幻读:同一事务两次查询行数不同。
      通过隔离级别(如RC、RR)控制。

  • 初中生版
    像测验时:

    • 脏读:抄同砚没写完的答案;
    • 不可重复读:第一次看同砚得80分,第二次看被改成90分;
    • 幻读:第一次统计班里5人合格,第二次突然多出1人。


4. MySQL的InnoDB和MyISAM引擎的重要区别是什么?



  • 专业解答
    InnoDB支持事务、行锁、外键;MyISAM不支持事务,表锁,但查询更快。
  • 初中生版
    InnoDB像带锁的日记本:能记录买卖业务(事务),单页可修改;MyISAM像平凡条记本:写得快但不能锁页。

5. 什么是MVCC(多版本并发控制)?如何实现快照读?



  • 专业解答
    MVCC通过保存数据多个版本,实现读不阻塞写。快照读(如SELECT)读取历史版本,避免加锁。
  • 初中生版
    MVCC像图书馆的旧书库:读者看旧版书(快照),作者同时修改新版,互不干扰。

6. 数据库范式有哪些?第三范式(3NF)的要求是什么?



  • 专业解答
    重要范式:1NF(字段原子性)、2NF(消除部门依赖)、3NF(消除通报依赖)。3NF要求非主键字段不依赖其他非主键字段。
  • 初中生版
    范式像整理衣柜:1NF(不塞一堆衣服),2NF(按季候分类),3NF(不重复存放同款衣服)。

7. 什么是聚集索引和非聚集索引?InnoDB的主键索引结构是怎样的?



  • 专业解答
    聚集索引决定数据存储顺序(InnoDB主键),非聚集索引(二级索引)存键值和主键地点。
  • 初中生版
    聚集索引像字典正文:按拼音排序;非聚集索引像目录:查到页码再翻到对应页。

8. SQL注入的原理是什么?如何防范?



  • 专业解答
    攻击者通过输入恶意SQL拼接,绕过验证。防范方法:参数化查询(预编译)、过滤特殊字符。
  • 初中生版
    SQL注入像谎报密码:假装是管理员(' OR 1=1--),骗过体系。防范:用保险锁(参数化)封住漏洞。

9. 什么是查询优化器?基于代价的优化(CBO)如何工作?



  • 专业解答
    查询优化器生成实行计划。CBO根据统计信息(如行数、索引)估算成本,选择最优方案。
  • 初中生版
    查询优化器像导航:根据路况(数据分布)选择最短或最快门路。

10. 什么是锁?行级锁和表级锁的区别是什么?



  • 专业解答
    锁保障并发安全。行级锁粒度小并发高(如InnoDB),表级锁粒度大并发低(如MyISAM)。
  • 初中生版
    行级锁像给单本书上锁;表级锁像锁整个书柜。前者机动,后者省事但影响多人使用。

11. 什么是死锁?数据库如何检测和解决死锁?



  • 专业解答
    死锁是循环等待资源。数据库通过超时或等待图检测,回滚代价小的事务。
  • 初中生版
    死锁像四人各拿一本书等别人互换。数据库会逼迫或人先放手(回滚),解开僵局。

12. 什么是视图?它的作用和范围性是什么?



  • 专业解答
    视图是捏造表,简化查询、提供安全隔离。范围:更新受限,性能可能降落。
  • 初中生版
    视图像定制窗口:只能看特定数据(如只显示数学结果),但改数据可能受限制。

13. 什么是存储过程?与平凡SQL语句相比有何优缺点?



  • 专业解答
    存储过程是预编译的SQL集合,淘汰网络开销,但调试困难,移植性差。
  • 初中生版
    存储过程像预制菜:提前做好菜谱(SQL),点菜(调用)更快,但换厨房(数据库)可能不兼容。

14. 什么是分区表?如何选择分区键?



  • 专业解答
    分区表将大数据分片存储(如按时间、范围)。分区键应选择高频查询条件字段。
  • 初中生版
    分区表像分册的百科全书:按年份或字母分册,查资料更快。

15. 什么是数据库的冷备份和热备份?



  • 专业解答
    冷备份在制止服务时拷贝数据;热备份在运行时备份,可能丢失少量数据。
  • 初中生版
    冷备份像关灯打扫房间;热备份像边用房间边吸尘,可能遗漏角落。

16. 什么是NoSQL数据库?与关系型数据库的适用场景有何不同?



  • 专业解答
    NoSQL支持非结构化数据,高扩展性(如MongoDB、Redis),适合大数据和高并发;关系型数据库强一致性,适合事务场景。
  • 初中生版
    NoSQL像杂货店:能存各种奇怪的东西(JSON、图片);关系型数据库像超市:货架整齐,分类明白。

17. 什么是CAP定理?如何权衡一致性、可用性和分区容忍性?



  • 专业解答
    CAP定理:分布式体系无法同时满意一致性(C)、可用性(A)、分区容忍性(P)。通常根据场景选择CP或AP。
  • 初中生版
    CAP像餐厅服务:

    • CP:必须等厨师做好菜(一致)才上桌,可能等很久;
    • AP:直接上桌(可用),但可能菜没做好。


18. 什么是Redis的数据恒久化机制?RDB和AOF的区别是什么?



  • 专业解答
    RDB定期快照,恢复快但可能丢数据;AOF记录写操作,数据更完备但体积大。
  • 初中生版
    RDB像拍照存档:定期拍一张全家福;AOF像录像:记录所有动作,恢复时重放。

19. 什么是数据库的索引覆盖(Covering Index)?



  • 专业解答
    索引覆盖指查询字段全在索引中,无需回表,提升效率。
  • 初中生版
    索引覆盖像目录包含答案:查书时直接看目录,不消翻正文。

20. 什么是连接(JOIN)算法?嵌套循环、哈希连接和排序归并连接的区别是什么?



  • 专业解答

    • 嵌套循环:遍历两表逐行匹配;
    • 哈希连接:构建哈希表快速匹配;
    • 排序归并:排序后顺序归并。

  • 初中生版

    • 嵌套循环像逐个问名字找朋友;
    • 哈希连接像用学号快速匹配;
    • 排序归并像按身高排队后组队。


21. 什么是慢查询日记?如何分析和优化慢查询?



  • 专业解答
    慢查询日记记录超时SQL。通过EXPLAIN分析实行计划,优化索引或拆分查询。
  • 初中生版
    慢查询日记像考卷错题本:找出耗时的题目(SQL),分析原因(索引、算法),针对性练习。

22. 什么是数据库的读写分离?如何实现?



  • 专业解答
    读写分离将写操作到主库,读操作到从库。通过代理(如ProxySQL)或中间件路由。
  • 初中生版
    读写分离像图书馆:主馆(主库)处理借书登记,分馆(从库)提供阅读,减轻主馆压力。

23. 什么是分库分表?如何解决跨库查询题目?



  • 专业解答
    分库分表按规则拆分数据。跨库查询需应用层聚合或全局表冗余。
  • 初中生版
    分库分表像分班管理:按学号分班,查全校数据时需归并各班结果。

24. 什么是事务的隔离级别?MySQL默认的隔离级别是什么?



  • 专业解答
    隔离级别:RU(读未提交)、RC(读已提交)、RR(可重复读)、S(串行化)。MySQL默认RR。
  • 初中生版
    隔离级别像测验监考严格程度:

    • RU:能看到别人未写完的答案;
    • RR:测验期间答案被锁定,只能看初始版本。


25. 什么是数据库的WAL(Write-Ahead Logging)机制?



  • 专业解答
    WAL先写日记再修改数据,包管崩溃时可通过日记恢复。
  • 初中生版
    WAL像先记账再花钱:即使突然断电,也能根据账本(日记)找回数据。

26. 什么是数据库的缓冲池(Buffer Pool)?如何管理页的加载和淘汰?



  • 专业解答
    缓冲池缓存磁盘页,淘汰IO。通过LRU算法管理,频繁访问页驻留,冷页淘汰。
  • 初中生版
    缓冲池像书桌:常用书放桌面(缓冲池),不常用的放书架(磁盘)。LRU像整理书桌,迩来不消的先收起来。

27. 什么是数据库的乐观锁和悲观锁?



  • 专业解答
    悲观锁假设冲突多(如SELECT FOR UPDATE),乐观锁假设冲突少(如版本号验证)。
  • 初中生版
    悲观锁像测验锁卷子:怕人偷看,全程盯着;乐观锁像开放答题:提交时查抄是否被改过。

28. 什么是数据库的物化视图?与平凡视图的区别是什么?



  • 专业解答
    物化视图存储查询结果,定期刷新;平凡视图实时盘算。
  • 初中生版
    物化视图像预制菜:提前做好存冰箱;平凡视图像现炒菜:点单后现做。

29. 什么是数据库的自治事务?应用场景是什么?



  • 专业解答
    自治事务独立于主事务提交,用于日记记录等需独立提交的场景。
  • 初中生版
    自治事务像独立记账本:主买卖业务可能失败,但账本记录必须保留。

30. 什么是数据库的基数(Cardinality)?如何影响查询优化?



  • 专业解答
    基数是列唯一值的数量。高基数列(如身份证)适合建索引,低基数列(如性别)索引效果差。
  • 初中生版
    基数像班级学号:假如学号唯一(高基数),按学号找人快;假如按性别(低基数),索引作用小。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

玛卡巴卡的卡巴卡玛

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表