必看書籍:劍指offer、程序猿面試寶典java
來自:騰訊、搜狐、網易、烽火、百度、大衆點評、美團、風行
c++
1. 死鎖是什麼?什麼狀況下產生?怎麼解決?面試
2. 設計模式(尤爲是單例模式,要會寫該模式的程序框架,要注意同步問題,怎麼實現在要用時才建立)算法
3. 線程的同步?爲何要同步?線程間通訊方式。數據庫
4. 進程與線程的差異,進程間通訊方式。設計模式
5. 容器類:hashmap與hashtable的差異。arraylist與linkedlist的差異數組
6. 爲何要用多線程,實現多線程的兩種方式。有什麼差異?網絡
7. JNI接口,C++中extern C的做用數據結構
8. C的內存分配,C中堆的內存分配多線程
9. 指針:int (*s[10])(int)解釋其含義(課本上有)
10. Volatile的做用:保存特殊地址的穩定訪問。直接從內存中讀值(而不是寄存器:編譯器優化後的結果。即訪問頻度高的變量會先存放在寄存器中,以便提升效率)
11. TCP與UDP的差異。爲何說TCP能提供可靠傳輸數據?
12. TCP三次握手和四次揮手,爲何要三次和四次?
13. http與socket差異
14. 內部類,靜態內部類和非靜態內部類的差異
15. 指針和引用的差異
16. 內存優化
17. 數據庫:索引的優缺點。什麼是事務,事務的特性
18. 數據結構:
1) 排序算法(時間複雜度、空間複雜度、穩定性、會講思路、寫代碼)
2) 二叉樹。遍歷方式,經過二叉樹的先序遍歷和中序遍歷,獲得其後序遍歷(思路+程序)
3) 鏈表:單鏈表和雙鏈表,鏈表逆序輸出
19. 對象鎖和類鎖
20. TCP中怎麼保證數據無差錯傳輸的。校驗和是怎麼獲得的?
21. 何時會使用TCP,何時使用UDP?(結合應用層的一些協議)
22. 深拷貝與淺拷貝
23. 異常處理
24. 數組指針與指針數組
25. 什麼是重載,什麼是重寫,兩者差異
26. 哈希表和哈希函數
27. ARP的做用,爲何要用ARP?
28. 網絡層ICMP,其應用:traceroute和ping
29. TCP的擁塞控制方式、流量控制方式
一、 你經常逛的論壇,國外的站點。開源碼站點
1. 進程的有哪幾種狀態。狀態轉換圖,及致使轉換的事件。
2. 進程與線程的差異。
3. 進程通訊的幾種方式。
4. 線程同步幾種方式。
(必定要會寫生產者、消費者問題,全然消化理解)
5. 線程的實現方式. (也就是用戶線程與內核線程的差異)
6. 用戶態和核心態的差異。
7. 用戶棧和內核棧的差異。
8. 內存池、進程池、線程池。(c++程序猿必須掌握)
9. 死鎖的概念,致使死鎖的緣由.
10. 致使死鎖的四個必要條件。
11. 處理死鎖的四個方式。
12. 預防死鎖的方法、避免死鎖的方法。
13. 進程調度算法。
14. Windows內存管理的方式(塊式、頁式、段式、段頁式).
15. 內存連續分配方式採用的幾種算法及各自優劣。
16. 動態連接及靜態連接.
17. 基本分頁、請求分頁儲存管理方式。
18. 基本分段、請求分段儲存管理方式。
19. 分段分頁方式的比較各自優缺點。
20. 幾種頁面置換算法。會算所需換頁數。(LRU用程序怎樣實現?)
21. 虛擬內存的定義及實現方式。
22. 操做系統的四個特性。
23. DMA。
24. Spooling。
25. 外存分配的幾種方式。及各類優劣。
1. 電路交換與分組交換的差異? 優劣對照。
2. OSI有哪幾層,會畫出來。知道主要幾層的各自做用。
3. TCP/IP有哪幾層,會畫出來,知道所有層數的做用。會列舉各層基本的協議名稱。
4. 硬件(MAC)地址的概念及做用。
5. ARP協議的用途 及算法、在哪一層上會使用arp ?
6. CRC冗餘校驗算法,反碼和檢驗算法。
7. 怎樣實現透明傳輸。
8. 知道各個層使用的是哪一個數據交換設備。(交換機、路由器、網關)
9. 路由表的內容。
10. 分組轉發算法。
11. IP報文的格式,格式的各個字段的含義要理解。
12. MTU的概念。啥叫路徑MTU? MTU發現機制。TraceRoute(瞭解)。
13. RIP協議的概念 及算法。
14. ICMP協議的主要功能。
15. 組播和多播的概念,IGMP的用途。
16. Ping協議的實現原理,ping 命令格式。
17. 子網劃分的概念,子網掩碼。
18. IP地址的分類,怎樣劃分的,及會計算各種地址支持的主機數。
19. DNS的概念。用途。DNS查詢的實現算法。
20. TCP與UDP的概念,相互的差異及優劣。
21. UDP報文的格式,字段的意義。
22. TCP 報文的格式,字段的意義。
23. TCP經過哪些措施。保證傳輸可靠?
24. 三次握手。四次斷開過程。
25. TIME_WAIT狀態的概念及意義。
26. 滑動窗體協議 與 中止等待協議的差異。
27. TCP的流量控制和擁塞控制實現原理(會畫擁塞控制的典型圖)。
28. TCP的高速重傳與高速恢復算法。
29. TFTP 與 FTP的差異。
30. 堵塞方式和非堵塞方式。堵塞connect與非堵塞connect。(比較難。有興趣可以瞭解)
31. HTTP基本格式。(java程序猿必須掌握)
1. 各類常常使用模式的用途。用法。
2. 單例模式的雙重檢查實現。
3. MVC模式
繼續更新中。。。