## 地平线一面凉经
全程问的好细,包括项目和基础知识,人麻了
### 项目部分
1. 实验室的项目,包括实现和项目优化等问题
web服务器项目:
2. 线程池的作用,线程和进程的区别,进程的启动具体过程
3. 线程之间共享的内存包括啥,fork子进程的话内存会复制给子进程吗
4. RAII是什么,线程池资源怎么保证析构释放
5. 自动增长的缓存区的作用,为啥这么设计,为啥不用string
6. 单例模式,饿汉式和懒汉式
7. TCP连接最多可以有多少个?如果超出这个数了怎么办?
8. connect的过程,TCP三次握手,TCP第三次握手可以携带数据吗,第二次可以吗?
9. 如果有一侧的TCP崩溃了,那另一侧可以感受到吗,怎么感受到?,崩溃的这侧接下来的处理流程是什么
10. 锁有哪几种?读写锁解决什么问题?生产者消费者模型怎么实现?
### C++相关
1. Volatile了解吗,可以保证去内存取数据是原子操作吗
2. 描述一下CPU去内存取数据的步骤
3. new和malloc
4. new一个对象,可以用memcpy复制指向这个对象的指针吗
5. 结构体和类的异同点
6. 类占用内存包括哪些,父类的资源是放在子类内存中的吗
7. 构造函数可以为虚函数吗
8. 虚函数表是在什么时候生成的
9. 刚进入构造函数的函数体时,发生了什么
10. 什么情况下调用拷贝构造函数
11. B继承A,A中有vector成员变量。说一下构造函数的顺序和析构函数的顺序
做题:写一下饿汉式单例模式的实现