Q: MySQL 索引使用的注意事项
Q: DDL、DML、DCL分别指什么
Q: explain命令
Q: left join,right join,inner join
Q: 数据库事物ACID(原子性、一致性、隔离性、持久性)
Q: 事物的隔离级别(读未提交、读以提交、可重复读、可序列化读)
Q: 脏读、幻读、不可重复读
Q: 数据库的几大范式
Q: 数据库常见的命令
Q: 说说分库与分表设计
Q: 分库与分表带来的分布式困境与应对之策(如何解决分布式下的分库分表,全局表?)
Q: 说说 SQL 优化之道
Q: MySQL遇到的死锁问题、如何排查与解决
Q: 存储引擎的 InnoDB与MyISAM区别,优缺点,使用场景
Q: 索引类别(B+树索引、全文索引、哈希索引)、索引的原理
Q: 什么是自适应哈希索引(AHI)
Q: 为什么要用 B+tree作为MySQL索引的数据结构
Q: 聚集索引与非聚集索引的区别
Q: 遇到过索引失效的情况没,什么时候可能会出现,如何解决
Q: limit 20000 加载很慢怎么解决
Q: 如何选择合适的分布式主键方案
Q: 选择合适的数据存储方案
Q: 常见的几种分布式ID的设计方案
Q: 常见的数据库优化方案,在你的项目中数据库如何进行优化的
Q: 数据库索引,什么是全文索引,全文索引中的倒排索引是什么原理;
Q: 数据库最佳左前缀原则是什么?
Q: 数据库的三大范式;
Q: 悲观锁和乐观锁的原理和应用场景;
Q: 左连接、右连接、内连接、外连接、交叉连接、笛卡儿积等;
Q: 一般情况下数据库宕机了如何进行恢复(什么是Write Ahead Log机制,什么是Double Write机制,什么是Check Point);
Q: 什么是redo日志、什么是undo日志;
Q: 数据库中的隔离性是怎样实现的;原子性、一致性、持久性又是如何实现的;
Q: 什么是组合索引,组合索引什么时候会失效;
Q: 关系型数据库和非关系型数据库区别;
Q: 数据库死锁如何解决;
Q: MySQL并发情况下怎么解决(通过事务、隔离级别、锁);
Q: MySQL中的MVCC机制是什么意思,根据具体场景,MVCC是否有问题;
Q: MySQL数据库的隔离级别,以及如何解决幻读;
Q: InnoDB的插入缓冲和两次写的概率和意义;
Q: 如果建了一个单列索引,查询的时候查出2列,会用到这个单列索引吗?(会用到)
Q: 如果建了一个包含多个列的索引,查询的时候只用了第一列,能不能用上这个索引?查三列呢?
Q: 接上题,如果where条件后⾯带有⼀个 i + 5 < 100 会使⽤到这个索引吗?
Q: like %aaa%会使用索引吗? like aaa%呢?
Q: drop、truncate、delete的区别?
Q: 平时你们是怎么监控数据库的? 慢SQL是怎么排查的?(慢查询日志)
Q: 你们数据库是否支持emoji表情,如果支持,如何操作?选择什么编码方式?如果支持一个表情占几个字节?(utf8mb4);
Q: 如果查询很慢,你会想到的第一个方式是什么?(数据库索引)
Q: 数据结构学过吧,聊一下?学过什么结构?讲下树和队列?B树呢?
Q: 操作系统学过吧,聊一下?讲一下系统内存是怎样的?分段分页虚拟内存?
Q: 页面置换算法呢?多少种?有最优的置换算法吗?
Q: 反转链表手撸;
Q: 快排,给一串数组,把具体每次patition写下,最终结果也写45, 32, 41, 35, 38, 20, 50;
Q: 一个整数status, 判断第K个比特位是否为比特1;
Q: 把递归实现的快排改成非递归,你知道非递归有什么好处吗;
Q: 举例使用分治思想的算法;
Q: SQL优化思路,联合索引与底层树结构的映像关系,索引结构(B+、B-),为什么用这样的结构;
Q: 讲下MySQL的集群?集群遇到过什么问题?sql的优化?
Q: 你目前为止遇到的最大数据量是多少?知道100万时候怎么设计吗?1000万呢?过几十亿呢?
Q: MySQL有多少个参数可调,除了最大连接数。全部列出来,一个个分析。
Q: 聊下优化过的索引,怎么优化;
Q: 红黑树和平衡树的区别,为什么数据库不用红黑树;
Q: mysql有哪些锁,意向锁有什么用;
Q: 数据库高并发下的优化思路;
Q: 数据库什么情况下索引会失效;
Q: 乐观悲观锁的设计,如何保证原子性,解决的问题;