1. 程式人生 > >面試復習重點——數據結構、操作系統、計算機網絡、數據庫。

面試復習重點——數據結構、操作系統、計算機網絡、數據庫。

route 字段 了解 nor 開源 空間 結合 trac ria

必看書籍:劍指offer程序猿面試寶典

來自:騰訊、搜狐、網易、烽火、百度、大眾點評、美團、風行


1. 死鎖是什麽?什麽情況下產生?怎麽解決?

2. 設計模式(尤其是單例模式,要會寫該模式的程序框架,要註意同步問題,怎麽實如今要用時才創建)

3. 線程的同步?為什麽要同步?線程間通信方式。

4. 進程與線程的差別,進程間通信方式。

5. 容器類:hashmaphashtable的差別。arraylistlinkedlist的差別

6. 為什麽要用多線程,實現多線程的兩種方式。有什麽差別?

7. JNI接口,C++extern C

的作用

8. C的內存分配,C中堆的內存分配

9. 指針:int (*s[10])(int)解釋其含義(課本上有)

10. Volatile的作用:保存特殊地址的穩定訪問。直接從內存中讀值(而不是寄存器:編譯器優化後的結果。即訪問頻度高的變量會先存放在寄存器中,以便提高效率)

11. TCPUDP的差別。為什麽說TCP能提供可靠傳輸數據?

12. TCP三次握手和四次揮手,為什麽要三次和四次?

13. httpsocket差別

14. 內部類,靜態內部類和非靜態內部類的差別

15. 指針和引用的差別

16. 內存優化

17. 數據庫:索引的優缺點。什麽是事務,事務的特性

18. 數據結構:

1) 排序算法(時間復雜度、空間復雜度、穩定性、會講思路、寫代碼)

2) 二叉樹。遍歷方式,通過二叉樹的先序遍歷和中序遍歷,得到其後序遍歷(思路+程序)

3) 鏈表:單鏈表和雙鏈表,鏈表逆序輸出

19. 對象鎖和類鎖

20. TCP中怎麽保證數據無差錯傳輸的。校驗和是怎麽得到的?

21. 什麽時候會使用TCP,什麽時候使用UDP?(結合應用層的一些協議)

22. 深拷貝與淺拷貝

23. 異常處理

24. 數組指針與指針數組

25. 什麽是重載,什麽是重寫,二者差別

26. 哈希表和哈希函數

27. ARP的作用,為什麽要用ARP

28. 網絡層ICMP

,其應用:tracerouteping

29. TCP的擁塞控制方式、流量控制方式

1、 你常常逛的論壇,國外的站點。開源碼站點


一:操作系統


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的概念。啥叫路徑MTUMTU發現機制。TraceRoute(了解)

13. RIP協議的概念 及算法。

14. ICMP協議的主要功能。

15. 組播和多播的概念,IGMP的用途。

16. Ping協議的實現原理,ping 命令格式。

17. 子網劃分的概念,子網掩碼。

18. IP地址的分類,怎樣劃分的,及會計算各類地址支持的主機數。

19. DNS的概念。用途。DNS查詢的實現算法。

20. TCPUDP的概念,相互的差別及優劣。

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模式


繼續更新中。。。

面試復習重點——數據結構、操作系統、計算機網絡、數據庫。