1、项目相关2、 Reactor 模型(为什么用Reactor,Reactor解决了什么实际问题,假设线程池有100个线程,但有1000个用户同时使用,Reactor的具体表现,前端用户的体验是什么样的)和 Proactor模型3、IO多路复用的流程和原理4、epoll、poll、select特点和区别5、有没有考虑程序崩溃情景,项目程序崩溃了怎么办6、项目具体应用场景,为什么做这个项目7、为什么裸写socket编程而不是使用一些成熟的协议8、项目中遇到的印象深刻的问题9、TCP如何保证可靠传输10、使用TCP编程时,如果服务端程序崩溃了,那么客户端会出现什么情况(分两种情况,服务器关机挂或者服务器上进程挂)11、服务器关机时,一定要等到客户端触发TCP的keepalive后客户端才会关闭吗,有什么优化方法吗12、线程池的参数13、线程和进程的区别(除了常规八股文以外,回答过程中牵扯到了Linux内核源码,给自己挖了坑)14、你看过Linux内核源码吗?(因为怕被问源码所以赶紧回答看过一些源码解析)15、线程之间共享全局变量如何协调16、为什么使用条件变量时总会使用互斥锁17、自己有没有碰到过C++的内存泄漏18、对于大一点的项目如何快速找出C++内存泄漏的代码19、C++中的虚函数20、构造函数能不能是虚函数21、能不能在构造函数中调用虚函数,会不会编译报错,能不能实现多态22、析构函数能不能是虚函数,为什么析构函数要是虚函数23、C++和python有什么区别24、手撕代码:链表重排序,将1 2 3 4 5重排成1 5 2 4 325、调用new之后底层会做什么26、操作系统如何分配内存,从哪里分配内存27、归还内存时操作系统会做什么28、内存碎片怎么处理总结:只有一两个问没回答好,其他的都回答出来了,手撕代码也过了,但挂了。第一次大厂面试,从此之后我意识到,如果我的简历想进大厂的话,八股文要全答对才有机会。上述问题基本都在小林coding和拓跋阿秀的范围内,而且仔细研究小林coding和拓跋阿秀的话还可以有加分回答,所以再次强烈推荐C++选手的八股文看小林coding和拓跋阿秀!!#软件开发2023笔面经#