一面
• 介绍
• 数据库相关 , innodb和myisam区别
锁粒度 , 索引的结构 , 事务方面
• 说一下b+树
• 可重复读的实现
mvcc , 历史版本指针相关那一套
• 幻读的解决
next-key lock
• 怎么用索引,举个例子
慢查询日志 , 针对查询慢的sql语句,根据最左匹配原则等去建立合适的索引
• binlog说一下
binlog是mysql实现的二进制日志文件 , 一般用于crash-safe , 我之前还用他来做过缓存和数据库的双写一致性 , 用阿里的canal去订阅binlog,数据库更新的时候顺带删除redis缓存
• binlog的几种格式说一下
一个是statement, 一个是row , 还有一个mix混合模式 , statement没办法复原一些函数操作 , row数据量会比较大 , 所以有mix模式,不涉及函数的操作就用statement , 不然就用row
• redis的数据结构 , 挑几个说一下
String的SDS , list的压缩列表 , zset的跳表
• hash的