字节跳动后端一二三面

-------------------------------------------------------------------------------
一面 （40min)：

1. 简单自我介绍+项目（10min)
2. 进程线程的区别
3. 进程的调度算法
4. 如何设计一个哈表表
5. 数据库索引为什么不用红黑树
6. B+树的特性
7. 联合索引
8. 如果两个索引都用到了范围查询但必须使用索引如何解决
算法：
重排链表

---------------------------------------------------------------------------------
二面 （1h)：

1. 自我介绍+项目（20min）
2. a是主键索引，b是普通索引，问对b查询索引怎么走
3. fork()函数
4. 计算机启动的时候内存做了什么
5. 虚拟内存
6. 输入一个URL
7. 数据是如何拷贝到网卡的
8. 场景题：有一个1T的记录了用户id以及ip的日志，内存只有1G，要求根据Ip出现的频率对用户进行排序（分区+堆）
9. 常见的排序算法以及空间复杂度
10. 插入排序最优的空间复杂度是多少
11. 哪些是稳定的排序
算法：
LRU

--------------------------------------------------------------------------------------
三面 （50min)

1. 自我介绍
2. C++智能指针
3. C++局部变量与全局变量
4. 面向对象的三个特性
5. 给一张数据表，你应该考虑从哪些方面建立索引
算法：
阿拉伯数字转中文大写
