24秋招 - 友塔 - oc
0706 笔试
4 道题,难度中等或困难
0711 一面(1h)
1. 自我介绍
2. const int * 和 int * const
3. 引用和指针
4. static 关键字
5. 类的静态数据成员初始化时机
6. 内存对齐
7. vector 实现原理
8. 动态数组 2 倍扩容、1.5倍扩容,常数扩容的区别
9. 从能不能重复利用内存空间的角度讨论 2 倍扩容、1.5倍扩容
10. 倍数扩容与常数扩容的对比,现场推导拷贝数次的公式
11. 智能指针
12. 数组和链表的区别
13. 等长的数组和链表遍历,哪个快,为什么
14. 快排的原理
15. Redis 的 String 的实现原理
16. Redis 的数据结构
17. Zset 的实现原理
手撕:接雨水
口诉:数据流的中位数
0717 二面(35min)
1. C++ 11 有哪些特性
2. 智能指针有哪几种
3. 手写 shared_ptr 有哪些要点
4. 聊天室项目,同时拉取很多聊天记录会发生什么
5. 聊天记录是如何存储的
6. 拉取一个聊天的历史记录如何做
7. 聊天记录是如何写到数据库的
8. 大量请求对一个文件进行读写操作,如何保证安全性
9. 如何设计一个读写锁
10. 读者写者问题用信号量是如何实现的
0718 hr面(7min)
介绍公司情况,询问意向薪资