虾皮
一面
8.31
自我介绍
没录音,记个印象深的
问答
- MySQL 为什么用 B+ 树?
- B+树叶子节点上存放多条数据,这些数据都要顺序查找,其实查询次数不仅仅是层高那么简单,如果是二叉树每个叶子节点放一个数据,其实层数也没有那么高,那为什么还要用 b+ 树呢?因为磁盘是顺序IO的,二叉树从根节点往下查是随机IO,效率不高。然后引出了 LSM-TREE
- LSM-TREE 介绍一下?适用的场景?LSM-TREE 的 memtable 是可以被修改的么(应该是问后面变成 Immutable MemTable,这块不会,后面没再问)?
- 场景题:现在MYSQL数据库中有百万级别的数据表,有两个属性 递增主键 和 creat_time(无索引),需要每天删除掉一个月以前的数据(这个部分数据每天可能会新增数万条),如何进行删除操作,比较高效(有好的想法的uu可以发表下看法。我主要是觉得需要分批删除,如果 create_time 没建索引的话,可以通过子查询找到对应的 id 通过 id 进行删除)?
手撕
搜索旋转数组II