面试技术题

一.C++部分

  1. 为什么将析构函数定义成虚函数有什么好处?
  2. class与struct 区别?
  3. C++智能指针有那些?都有什么区别
  4. static的作用?
  5. 拷贝构造函数作用? 如何声明?
  6. C++11包括哪写?
  7. 虚函数的底层是如何实现的?
  8. SOCKET有哪写API?
  9. 什么是菱形继承?
  10. 什么是RAII?
  11. explicit关键字的作用?
  12. volatia关键字的作用?
  13. 什么是左值和右值?
  14. 在构造函数和析构函数中调用虚函数有什么影响?
  15. C的struct和C++struct的区别?
  16. C++为什么字节对齐?
  17. C++ 强制类型转换有哪几个?都有什么区别?

二.数据结构

  1. Vector和List区别?
  2. 为什么Vector申请内存空间是2倍?
  3. 链表反转?
  4. 如何判断链表中有环?
  5. Map是如何实现的?

三.网络部分

  1. TCP和UDP区别?
  2. TCP三次握手的实现?
  3. 为什么会有三次握手?
  4. TCP四次握手的实现?
  5. 为什么会有time_wait状态?
  6. 什么是快重传?
  7. 什么是慢启动?
  8. 如何用UDP协议实现可靠性?
  9. SSH免密原理?

四.设计模式

  1. 面向对象的设计原则?
  2. 常用的设计模式?

五.操作系统

  1. 如何查看打开文件标识符?
  2. 进程和线程间区别?
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章