字节跳动-C++数据库开发实习-bytehouse面经
一面 12月28日 15:00 1h
- 了解分布式吗,看过哪些相关的分布式数据库和知识
- 看过哪些论文
- 深挖minisql项目
- 2PL
- 脏读,幻读,不可重复读
- 这个项目是怎么实现的,从0到1吗,介绍一下实现的过程
- 支持哪些SQL数据类型
- 日志系统的设计(支持哪些日志格式)
- 如果用户写入一个大的blob日志怎么处理
- fsync怎么处理的
- redo log在commit之前还是之后处理的
- 是否有丢失数据的风险
- 有什么难点(LRU冷热分离+阈值)
- 介绍一下怎么发现这个问题的
- LRU有哪些变形
- 布隆过滤器的原理
- flexdb项目
- 使用mmap来读取hint文件构建索引加速数据库启动介绍一下
- WAL格式的设计
- 一个chunk的大小是多少
- lsm-tree
- compaction机制介绍一下
- memtable是什么数据结构
- level1和level2的数据有什么类型
- git有哪些命令
- static这个关键字的作用,初始化值是多少
- TCP三次握手及各个状态
- TCP为什么要4次挥手,为什么不能是3次
- 算法题:n个数组求交集
- 时间复杂度是多少
- 只扫描一次怎么实现
二面 1月3日 19:30 45min
- mysql为什么使用B+树作为存储引擎
- 对比其他数据结构的优缺点
- B+树的时间复杂度是多少
- B+树和lsm-tree的读写性能对比
- lsm-tree中的sstable如何快速的进行查询数据
- 数据库是怎么学习的
- 参与到开源社区有什么收获
- 看过哪些开源数据库
- 空闲的时候做些什么
- 算法题:手写json解析器
----
1月5日更
二面挂了,面试官问的问题都答上来了,题也都写出来了,面试官还说各方面的知识掌握的很好,面完还感觉非常良好。结果今天通知二面没过,真是当头一棒,可能年末部门hc变动吧,难受。