虾皮

一面

8.31

自我介绍

没录音,记个印象深的

问答

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

手撕

搜索旋转数组II

全部评论
1:延迟关联 2:每次删除记录下上次删除的id因为主键递增的
1 回复 分享
发布于 2024-09-01 19:48 四川
佬二面了吗
点赞 回复 分享
发布于 2024-09-11 17:47 广西
佬,手撕题是面试官口述还是leetcode?
点赞 回复 分享
发布于 2024-09-04 20:47 沙特阿拉伯
先定位出要删的数据的主键,然后根据主键进行删除
点赞 回复 分享
发布于 2024-09-01 18:43 浙江
老哥笔试A几道
点赞 回复 分享
发布于 2024-09-01 18:37 广东

相关推荐

06-09 13:59
已编辑
University of California Irvine C++
经历了人生中最恐怖的拷打,jd上看这是个做分布式存储的岗,但是怎么一点分布式不问啊,我白看了两天的raft算法1. 自我介绍2. 说下c++17和20的特性3. 说下内存泄漏和悬垂指针4. 说下进程和线程的区别,再说下协程5. 说下const和constexpr6. 一个函数中有 uint 和 int 两个变量,他们进行加减操作会有什么问题吗,如果说左值是double或者float,他们会进行类型转换吗7. 一个类的成员如果没有初始化会怎么样,对于基础类型,自定义类,static修饰的变量都说一下8. 为什么NUMA要绑定线程到节点,两个不同节点的线程如果要传输一个数据怎么办,会不会造成缓存miss9. 说一下线程池的设计10. 为什么项目定时器要用红黑树呢,有没有O(1)复杂度的数据结构,其他实现有哪些,红黑树和堆排序的区别(不会11. 讲一下数组和链表的区别,遍历的话哪个更快12. 双缓冲区的日志库是怎么做的,如果一个线程还没来得及将内容写到磁盘就要交换缓冲区了怎么办,另外其他线程怎么把日志同步给日志库的线程13. 讲一下io uring,说一下io uring中的提交函数14. 线程之间可以怎么同步/传输数据,如果要共享数据呢15. 左值和右值16. c++如果函数参数不确定可以怎么写,只知道用template的…17. 动态规划和分治算法的区别18. 说一下 NP 和 P 问题算法一个长度为100的int数组,如果把每 10bit 看作一个数字,那么怎么得到第 n 个数字比如一个 4,二进制就是 0100,因为int是32位,所以在 0100 前面还有28个0,将每10位看作一个数算法没写出来,思路好像也不对,感觉底裤都被扒掉了,最后也没有反问环节就耻辱下播了--更新,答成这样都给我进二面了?
查看36道真题和解析
点赞 评论 收藏
分享
评论
11
56
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务