快手C++一面
- 虚函数实现原理
- 虚表是一个类有一个还是一个对象有一个?(每个类有一个虚函数表,每个对象有一个虚函数表指针)
- 查询虚表的时间复杂度是多少?
- `std::move()` 原理,涉及移动吗
- 假设有一个 1KB 的大对象,`move` 能节省拷贝吗
- 智能指针原理
- new 和 malloc 有什么区别呢
- 用 `new` 生成的对象,可以用 `free` 释放吗?那如果是基础类型呢?
- 用 `new` 创建数组时,释放的时候需要写出元素个数吗
- `std::map` 和 B+ tree 有什么区别呢
- 红黑树和 B+ Tree 在性能、内存空间占用上的对比
- 为什么数据库选择 B+ Tree 而不是红黑树
- 在 STL 里,内存池是怎么实现的,有怎样的结构?
- 执行 `vector<int> v(4, 100)` 会发生什么,在栈上还是堆上分配?
- 那如果是 `new vector<int>(4,100)` 呢
- 如何拿到类中私有成员变量的值?
- 有一个二维数组里面都有值,想要给每个数都加 100,行遍历和列遍历有什么区别?
网络:
- 在浏览器中访问一个 http 服务器,这里面会经过哪些协议?
- 为什么不直接用 tcp 协议,还需要用 http 协议?
算法:
- `1,2,3,4,...,n` 构造二叉树
- 合并两个有序数组 a 和 b,两个数组可能是升序/降序(4 种情况),合并后的结果放在 a 中,合并后的顺序按照 a 的顺序来
- 虚表是一个类有一个还是一个对象有一个?(每个类有一个虚函数表,每个对象有一个虚函数表指针)
- 查询虚表的时间复杂度是多少?
- `std::move()` 原理,涉及移动吗
- 假设有一个 1KB 的大对象,`move` 能节省拷贝吗
- 智能指针原理
- new 和 malloc 有什么区别呢
- 用 `new` 生成的对象,可以用 `free` 释放吗?那如果是基础类型呢?
- 用 `new` 创建数组时,释放的时候需要写出元素个数吗
- `std::map` 和 B+ tree 有什么区别呢
- 红黑树和 B+ Tree 在性能、内存空间占用上的对比
- 为什么数据库选择 B+ Tree 而不是红黑树
- 在 STL 里,内存池是怎么实现的,有怎样的结构?
- 执行 `vector<int> v(4, 100)` 会发生什么,在栈上还是堆上分配?
- 那如果是 `new vector<int>(4,100)` 呢
- 如何拿到类中私有成员变量的值?
- 有一个二维数组里面都有值,想要给每个数都加 100,行遍历和列遍历有什么区别?
网络:
- 在浏览器中访问一个 http 服务器,这里面会经过哪些协议?
- 为什么不直接用 tcp 协议,还需要用 http 协议?
算法:
- `1,2,3,4,...,n` 构造二叉树
- 合并两个有序数组 a 和 b,两个数组可能是升序/降序(4 种情况),合并后的结果放在 a 中,合并后的顺序按照 a 的顺序来
全部评论
相关推荐
点赞 评论 收藏
分享
查看11道真题和解析 点赞 评论 收藏
分享