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