手撕面試官系列(六):併發+Netty+JVM+Linux面試專題

併發面試專題


(面試題+答案領取方式見主頁)

  1. 現在有 T1、T2、T3 三個線程,你怎樣保證 T2 在 T1 執行完後執行,T3 在 T2 執行完後執行?
  2. 在 Java 中 Lock 接口比 synchronized 塊的優勢是什麼?你需要實現一個高效的緩存,它允許多個用戶讀,但只允許一個用戶寫,以此來保持它的完整性,你會怎樣去實現它?
  3. 在 java 中 wait 和 sleep 方法的不同?
  4. 用 Java 實現阻塞隊列。
  5. 用 Java 寫代碼來解決生產者——消費者問題。
  6. 用 Java 編程一個會導致死鎖的程序,你將怎麼解決?
  7. 什麼是原子操作,Java 中的原子操作是什麼?
  8. Java 中的 volatile 關鍵是什麼作用?怎樣使用它?在 Java 中它跟 synchronized 方法有什麼不同?
  9. 什麼是競爭條件?你怎樣發現和解決競爭?
  10. 你將如何使用 threaddump?你將如何分析 Thread dump?
  11. 爲什麼我們調用 start()方法時會執行 run()方法,爲什麼我們不能直接調用 run()方法?
  12. Java 中你怎樣喚醒一個阻塞的線程?
  13. 在 Java 中 CycliBarriar 和 CountdownLatch 有什麼區別?
  14. 什麼是不可變對象,它對寫併發應用有什麼幫助?
  15. 你在多線程環境中遇到的常見的問題是什麼?你是怎麼解決它的?

Netty面試專題

  1. BIO、NIO 和 AIO 的區別?
  2. NIO 的組成?
  3. .Netty 的特點?
  4. Netty 的線程模型?
  5. TCP 粘包/拆包的原因及解決方法?
  6. 瞭解哪幾種序列化協議?
  7. 如何選擇序列化協議?
  8. Netty 的零拷貝實現?
  9. Netty 的高性能表現在哪些方面?
  10. NIOEventLoopGroup 源碼?

JVM面試專題

  1. 內存模型以及分區,需要詳細到每個區放什麼?
  2. 堆裏面的分區:Eden,survival (from+ to),老年代,各自的特點。
  3. 對象創建方法,對象的內存分配,對象的訪問定位。
  4. GC 的兩種判定方法
  5. SafePoint 是什麼
  6. GC 的三種收集方法:標記清除、標記整理、複製算法的原理與特點,分別用在什麼地方,如果讓你優化收集方法,有什麼思路?
  7. GC 收集器有哪些?CMS 收集器與 G1 收集器的特點。
  8. Minor GC 與 Full GC 分別在什麼時候發生?
  9. 幾種常用的內存調試工具
  10. 類加載的幾個過程
  11. JVM 內存分哪幾個區,每個區的作用是什麼?
  12. 如和判斷一個對象是否存活?(或者 GC 對象的判定方法)
  13. 簡述 java 垃圾回收機制?
  14. java 中垃圾收集的方法有哪些?
  15. java 內存模型
  16. java 類加載過程?
  17. 簡述 java 類加載機制?
  18. 類加載器雙親委派模型機制?
  19. 什麼是類加載器,類加載器有哪些?
    20.簡述 java 內存分配與回收策率以及 Minor GC 和Major GC

Linux面試專題

  1. Linux 中主要有哪幾種內核鎖?
  2. Linux 中的用戶模式和內核模式是什麼含意?
  3. 怎樣申請大塊內核內存?
  4. 用戶進程間通信主要哪幾種方式?
  5. 通過夥伴系統申請內核內存的函數有哪些?
  6. Linux 虛擬文件系統的關鍵數據結構有哪些?(至少寫出四個)
  7. 對文件或設備的操作函數保存在那個數據結構中?
  8. Linux 中的文件包括哪些?
  9. 創建進程的系統調用有那些?
  10. 調用 schedule()進行進程切換的方式有幾種?
  11. Linux 調度程序是根據進程的動態優先級還是靜態優先級來調度進程的?
  12. 進程調度的核心數據結構是哪個?
  13. 如何加載、卸載一個模塊?
  14. 模塊和應用程序分別運行在什麼空間?
  15. Linux 中的浮點運算由應用程序實現還是內核實現?
  16. 模塊程序能否使用可鏈接的庫函數?
  17. TLB 中緩存的是什麼內容?
  18. Linux 中有哪幾種設備?
  19. 字符設備驅動程序的關鍵數據結構是哪個?
  20. 設備驅動程序包括哪些功能函數?
  21. 如何唯一標識一個設備?
  22. Linux 通過什麼方式實現系統調用?
  23. Linux 軟中斷和工作隊列的作用是什麼?
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章