C++面试中常被问到的几个知识点:
1. 基本概念
多态是什么,C++通过什么实现的多态。虚函数是什么,纯虚类是什么。重载是什么,重写是什么。重载运算符怎么写。new和malloc有什么区别。公有继承和私有继承分别是什么,继承后的权限是怎样的。
2. C++ 11 相关
什么是左值引用和右值引用,有什么区别。移动构造是什么,和拷贝构造有什么区别。
3. 网络相关
TCP/UDP是什么,有什么区别,属于网络结构中的哪一层。socket怎样实现,建立socket的步骤是什么。TCP和UDP在socket建立时使用的宏定义是什么。
4. 进程间通信
进程间通信的方法有什么。
5. 多线程
C++怎样建立多线程。
6. 调试相关
可以通过什么软件进行C++的debug。dump文件是什么,怎样用。
7. 内存泄漏
什么是内存泄漏,内存泄漏是怎样造成的。有什么工具能检查内存泄漏。
8. STL容器
容器都有哪些,有什么区别。底层实现原理是什么。
9. 设计模式
常见设计模式有哪些。怎样实现。
参考资料:
1. C++ 面试100题
4. C++11多线程
5. TCP与UDP的区别
6. Socket开发中的问题
7. 重载new和delete
10. gdb的基本用法