面試技術題

一.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. 進程和線程間區別?
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章