数据库面试题
1、事务的四个特性。【链接】
2、三个范式。
3、事务的隔离级别?各种隔离级别解决的问题。【链接】
4、为什么索引要用B 树不用二叉树?
5、数据库索引?索引原理。
6、知不知道字典树,字典树能不能作为索引?
MySQL
1、innodb 引擎的结构
Innodb中的索引用了什么数据结构?
2、什么情况下会用到哈希索引,会存到硬盘吗?
3、给了一个查询语句问怎么建索引。
4、慢查询。
5、InnoDB的锁机制。
讲了粒度分类的表锁行锁意向锁,讲了排斥性分类的读锁写锁,四种锁算法,record lock
、gap lock
、next-key lock
、previous-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