一.C++部分
- 为什么将析构函数定义成虚函数有什么好处?
- class与struct 区别?
- C++智能指针有那些?都有什么区别
- static的作用?
- 拷贝构造函数作用? 如何声明?
- C++11包括哪写?
- 虚函数的底层是如何实现的?
- SOCKET有哪写API?
- 什么是菱形继承?
- 什么是RAII?
- explicit关键字的作用?
- volatia关键字的作用?
- 什么是左值和右值?
- 在构造函数和析构函数中调用虚函数有什么影响?
- C的struct和C++struct的区别?
- C++为什么字节对齐?
- C++ 强制类型转换有哪几个?都有什么区别?
二.数据结构
- Vector和List区别?
- 为什么Vector申请内存空间是2倍?
- 链表反转?
- 如何判断链表中有环?
- Map是如何实现的?
三.网络部分
- TCP和UDP区别?
- TCP三次握手的实现?
- 为什么会有三次握手?
- TCP四次握手的实现?
- 为什么会有time_wait状态?
- 什么是快重传?
- 什么是慢启动?
- 如何用UDP协议实现可靠性?
- SSH免密原理?
四.设计模式
- 面向对象的设计原则?
- 常用的设计模式?
五.操作系统
- 如何查看打开文件标识符?
- 进程和线程间区别?