BIGO C++开发工程师(音视频算法工程方向)一面面经
1、C++和C语言最大的区别是什么
2、解释一下虚函数,继承、虚继承
3、刚才你提到了菱形继承,解释一下菱形继承,菱形继承的虚表里存了什么
4、一个类,里边有,int a,long b,void func(),vitrual void func2(),对它求sizeof,结果是几,如果他是一个类的子类呢,如果它继承了两个父类呢
5、说一下指针和引用的区别
6、说一下内联函数,他和宏定义有什么不一样
7、const 在*左和右的区别,const修饰成员函数有什么作用,如果想修改成员变量呢
8、你知道volatile吗,多个线程的寄存器是共享的吗
9、static成员变量和局部变量的区别,成员变量和静态变量的区别,静态成员函数
10、堆和栈都存了啥变量
11、int a[3][4],a+1,*a+1,**a+1
12、new和malloc的区别,new之后发生了什么,new之后构造函数什么时候被调用
13、构造函数和析构函数那个可以定义为虚函数,为什么析构函数可以为虚函数,构造函数不可以
14、一个对象,如何使它在堆上生成而不是在栈上
15、如何访问一个类的私有成员,有没有什么比较hack的方法
16,你在项目中如何处理线程同步问题,说一下信号量
17、说一下linux锁机制,说一下spin lock(当时听成了space lock,我说不知道🤣)
18、进程有哪几个状态,运行态到阻塞态的原因
19、你知道lock free吗
20、你知道CPU核心里边有哪些部分吗
21、说一下内存栅栏
22、说一下存储器的层次结构
23、你学过编译原理吗
24、你知道的stl容器有哪些,哪些是c++11新增的
25、vector的capacity和size的区别,reverse函数,clear时会释放占用的内存吗,怎么释放呢
26、map的底层是用什么实现的,查询时间复杂度,插入和删除呢
27、c++11新特性有哪些
28、说一下静态断言
29、智能指针的是线程安全的吗
30、说一下左值,有值,左值引用和右值引用
31、你知道的设计模式有哪些
32、设计一个线程安全的单例模式
33、工厂模式有什么优点
我的问题问完了,你还有什么要问的吗?