xiaohan2013 / DBInterview

CMU15-445数据库内核问题

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

DBInterview

  • 数据库内核高频面试题

一、P0字典树

  • 什么场景下适合使用字典树?
  • 有限状态自动机FST了解吗?跟字典树有什么联系?
  • 怎么理解的倒排索引?

二、P1缓冲池管理

  • 可扩展哈希表如何扩容,如何缩容的?
  • LRU-K算法的应用场景?
  • LRU-K算法相对于LRU算法的优势有哪些?
  • 缓冲池的执行流程
  • Page Cache的执行流程
  • 什么情况下可以用O_Direct
  • 如果页的大小为16KB,而磁盘只保证4KB的读写是原子的,刷脏页的时候只刷了部分页进程就崩溃了,怎么处理?

三、B+树

  • B+树和B树的区别?
  • 为什么MySQL使用B+树而不使用B树?
  • B树的应用场景有哪些?
  • B+树和LSM-Tree的使用场景?LSM-Tree存在的问题有哪些?针对这些问题有什么解决思路?
  • B+树并发处理有哪些优化思路?
  • Blink树有什么特点?

四、查询执行

  • 什么是火山模型?
  • 为什么要使用火山模型?有什么优点?有什么缺点?缺点从哪些角度进行优化?
  • 解释一下左连接和内连接?
  • 怎么理解的数据库回表?

五、事务管理

  • 2PL原理是什么?2PL存在什么问题?如何解决这些问题?
  • 如何基于2PL实现的隔离级别?
  • 什么是严格两阶段锁(strict-2PL)?
  • 什么是强两阶段锁(strong-2PL)?
  • 隔离级别有哪些?分别存在什么问题?
  • 什么情况下会导致幻读,举个例子?
  • 快照隔离存在什么问题?什么是写偏序问题,举个例子?
  • 数据库是怎么实现一致性的?
  • 项目中所涉及的几种锁介绍一下,怎么理解隔离级别和锁的关系?
  • 为什么MySQL使用B+树而不使用B树?
  • 死锁问题怎么解决?
  • MySQL怎么保证原子性的?
  • MySQL的默认隔离级别是什么?可重复读会有什么问题?既然可重复读有幻读问题那MySQL满足了隔离性吗?如果满足了幻读问题如何解决的?如果没满足如何保证的数据一致性?

About

CMU15-445数据库内核问题