米哈游一面面经
全程嗯问八股,项目都不问。。。
- 自我介绍
- 指针和引用的区别
const int* p
和int* const p
- 以下是否合法:
int i = 5; const int* p = &i; int *p2 = &i; *p2 = 10;
合法,*p2并没有底层const
- 智能指针
- shared_ptr的引用计数存储在哪
- 野指针?什么情况下会出现
- 左值引用、右值引用
- 多态什么时候起作用
- 重写和重载的区别
- 以下情况是否算重载:
void func(int* p){} void func(int& p){} //可以重载 void func(int p){} void func(const int p){} //不能重载
- 虚函数和纯虚函数
- 虚函数表原理
- 基类和子类的虚函数表公用一张吗
- c++源代码到二进制过程
- 动态链接,静态链接
- map和unordered_map的区别
- 内存对齐原因,以下结构体大小:
struct A { char c; double d; short s; }; struct B { char c; short s; double d; };
- 进程与线程的区别
- 进程间通信方式
- 进程间资源是共享的吗
- 现成同步机制
- 快排流程?最好最坏情况?如何选择基准元素?
- 手撕:斐波那契,实现strcmp