字节客户端一面
字节跳动1面 2021.9.2 1h
1. 多进程的通信方式
2. 共享内存为什么最快
3. 共享内存的缺点
4. 解决同步问题的方式
5. 多线程的同步方式
6. 各种锁的区别
7. 内核态和用户态的区别
8. 为什么要区分内核态和用户态
9. 区分内核态和用户态的优缺点
10. Inline优点和缺点
11. Extern C(函数签名??)
函数签名用于识别不同的函数,函数的名字只是函数签名的一部分。在编译器及链接器处理符号时,使用某种名称修饰的方法,使得每个函数签名对应一个修饰后名称(decorated name)。编译器在将C++源代码编译成目标文件时,会将函数和变量的名字进行修饰,形成符号名,也就是说,C++的源代码编译后的目标文件中所使用的符号名是相应的函数和变量的修饰后名称。
12. 看代码会调哪个函数(多态相关的)还要从编译期和运行期分析
13. 构造函数的初始化列表的参数顺序如果和类中的申明顺序不一致会怎么样(类中的成员会按什么顺序初始化)
14. 使用初始化的列表的优点
15. New和malloc的区别和联系
16. Malloc的底层
17. RAII
18. 智能指针
19. Shared_ptr使用构造函数和make_shared的区别
20. Shared_ptr是线程安全的吗
21. Unique_ptr
22. 移动语义
23. 写一个单例模式