1. 程式人生 > >liu-yonggang的專欄

liu-yonggang的專欄

一.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. 程序和執行緒間區別?