快手一面 二面 C++开发
一面
- 15分钟项目
- 大数据Top-k问题,各方法的时间复杂度、空间复杂度
- stl中vector和list
- C++多态,虚函数怎么实现的
- Struct和class的区别
- 四种cast
- 智能指针
- 是否能实现share指针…
- 线性代数
代码题:
- 两个栈实现队列
- 反转链表
二面:
- 指针和引用的区别
- Malloc和new的区别
- Static关键字
- Const关键字
- 类A中只有虚函数,sizeof(A)是多少
- 空类B,sizeof(B)是多少
- 怎么清空数组,同时释放内存
- 大端对齐,小端对齐;
代码题
- 实现MyString类(考察String的实现,涉及到操作符=和+等重载)
- 实现以下方法,删掉注释
std::string RemoveComments(const std::string& input_codes)
{
// 合法代码
// 删除所有注释,输出代码
}
const char* str = "//abc";
要注意 String a=”ade//dc/*sdcsd8*/”等特殊情况;