【C++客户端】字节跳动提前批一、二、三面(三面已过)
星期二上午面完了三面,今天下午三面才出结果,给我急坏了,不过至少是好结果。字节的面试体验确实很棒,三个面试官都是引导式提问,给人感觉很轻松。感觉自己运气也算挺好的,面试问的问题都是准备过的。总的来说,多看看面经很重要啊,看完就会发现计网、操作系统等面试题翻来覆去就是那么些题,提前总结一下很有用,就我个人而言,花了两天的时间一边看面经一边看书然后一边自己总结,之后的每次面试前都看一遍自己总结的内容,实际面试也都是总结的这些。总结的东西稍微有点乱可能之后有时间会整理一下放到牛客回馈一下牛客网友们,以下是面经。
一面,7月2日晚上7:30,50分钟左右。
1.自我介绍。
2.说自己的项目。
3.多线程同步。
4.进程通信。
5.TCP拥塞控制。
6.说一说虚函数和纯虚函数。
7.析构函数可以是虚函数吗。
8.谈谈智能指针。
算法题:二叉树最近公共祖先(进阶),比常规的二叉树查最近公共祖先,这个要求查询多次,每次查询不同的两个节点。
二面,7月3号中午11:30,60分钟左右。
1.给几个类型问你求sizeof的大小。
2.new/delete,malloc/free,delete/delete[]
3.C++的内存模型。
4.内存对齐。
5.智能指针,详细说了一下三个智能指针,问了一下怎么保证share_ptr线程安全。
6.五层网络模型各有些什么协议。
7.能否提前去实习。
算法题:给一个只有数字的字符串,分成五个数每个数小于600,输出所有分法。
三面,7月7日上午10:30,40分钟左右。
1.谈自己的项目。
2.opengl的渲染流程。
3.编译器的编译流程:语法分析、词法分析之类的编译原理的内容。(2,3应该都是岗位相关的问题,我面的岗位要求写了计算机图形学和编译原理)。
4.给定一段程序问f1和f2哪个能正确运行(考察虚函数)。
class A{ public: void f1(){} virtual void f2(){} } int main(){ A* a=nullptr; a->f1(); a->f2(); }5. 成员函数的this是怎么来的(参数传递进去的)。
6.手撕unique_ptr。
7.编程题,把类似html的文件解析成一颗树。
#字节跳动校招提前批##字节跳动##C++工程师##校招##面经#