数据库面试题

1、事务的四个特性。【链接

2、三个范式。

3、事务的隔离级别?各种隔离级别解决的问题。【链接】

4、为什么索引要用B 树不用二叉树?

5、数据库索引?索引原理。

6、知不知道字典树,字典树能不能作为索引?

MySQL

1、innodb 引擎的结构

  • Innodb中的索引用了什么数据结构?

2、什么情况下会用到哈希索引,会存到硬盘吗?

3、给了一个查询语句问怎么建索引。

4、慢查询。

5、InnoDB的锁机制。

讲了粒度分类的表锁行锁意向锁,讲了排斥性分类的读锁写锁,四种锁算法,record lockgap locknext-key lockprevious-key lock

6、事务的四个隔离级别?MySQL InnoDB默认的是啥?【链接

7、脏读是什么?怎么解决脏读?

8、幻读是什么?怎么解决幻读?(next-key lock锁和mvcc原理)

9、主键索引和普通索引有什么区别?

10、索引什么时候会失效?

11、MySQL的主从复制过程?

12、用SQL语句模拟死锁、脏读和幻读。

13、了解MySQL的执行计划吗?

Redis

1、zset的底层是啥?跳表。

2、redis持久化的方式。【链接】

3、rdb结束或者aof重写结束的时候,子进程如何通知父进程?

4、redis为什么快?内存+单线程。

5、Redis key要设置过期时间吗?为什么?

6、管理100w个连接也很困难,epoll是怎么做到的?

7、redis如何压缩内存的?

8、redis主从复制方式?

9、再哈希的过程?

Last updated