4面美團被多線程狠虐?學完這些多線程知識點,金五銀六“再戰”

多線程面試題傻傻忘記? 來看看這篇文章吧

現在有T1、T2、T3三個線程,你怎樣保證T2在T1執行完後執行,T3在T2執行完後執行?

這個線程問題通常會在第-輪或電話面試階段被問到,目的是檢測你對”join”方法是否熟悉。這個多線程問題比較簡單,可以用join方法實現。

在Java中Lock接口比synchronized塊的優勢是什麼?你需要實現一一個高效的緩存,它允許多個用戶讀,但只允許一個用戶寫,以此來保持它的完整性,你會怎樣去實現它?

lock接口在多線程和併發編程中最大的優勢是它們為讀和寫分別提供了鎖,它能滿足你寫像ConcurrentHashMap這樣的高性能數據結構和有條件的阻塞。Java 線程面試的問題越來越會根據面試者的回答來提問。我強烈建議在你去參加多線程的面試之前認真讀一下Locks,因為當前其大量用於構建電子交易終統的客戶端緩存和交易連接空間。


在java中wait和sleep方法的不同?

通常會在電話面試中經常被問到的Java線程面試問題。最大的不同是在等待時wait會釋放鎖,而sleep一直持有鎖。Wait通常被用於線程間交互,sleep通常被用於暫停執行。

用Java實現阻塞隊列。

這是一個相對艱難的多線程面試問題,它能達到很多的目的。第一,它可以檢測侯選者是否能實際的用Java線程寫程序;第二,可以檢測侯選者對併發場景的理解,並且你可以根據這個問很多問題。如果他用wait()和notify()方法來實現阻塞隊列,你可以要求他用最新的Java5中的併發類來再寫一一次。

用Java寫代碼來解決生產者一-消費者問題。

與上面的問題很類似,但這個問題更經典,有些時候面試都會問下面的問題。在Java中怎麼解決生產者一消 費者問題,當然有很多解決方法,我已經分享了一種用阻塞隊列實現的方法。有些時候他們甚至會問怎麼實現哲學家進餐問題。

4面美團被多線程狠虐?學完這些多線程知識點,金五銀六“再戰”

Java線程圖解


  • 什麼是線程安全?Vector是一個線程安全類嗎?
  • Java中什麼是競態條件? 舉個例子說明。
  • 一個線程運行時發生異常會怎樣
  • 線程間如何通信,進程間如何通信?
  • Java中notify 和 notifyAll有什麼區別?
  • 為什麼wait, notify 和 notifyAll這些方法不在thread類裡面?
  • 什麼是ThreadLocal變量?
  • Java中ThreadLocal變量, volatile變量, synchronized的區別
  • 什麼是Future, FutureTask?
  • .....

線程(英語:Thread)是操作系統能夠進行運算調度的最小單位。它被包含在進程之中,是進程中的實際運作單位。一條線程指的是進程中一個單一順序的控制流,一個進程中可以併發多個線程,每條線程並行執行不同的任務。在Unix System V及SunOS中也被稱為輕量進程(Lightweight Processes),但輕量進程更多指內核線程(Kernel Thread),而把用戶線程(User Thread)稱為線程。

4面美團被多線程狠虐?學完這些多線程知識點,金五銀六“再戰”

線程的狀態

4面美團被多線程狠虐?學完這些多線程知識點,金五銀六“再戰”

隊列的數據結構大致如圖

4面美團被多線程狠虐?學完這些多線程知識點,金五銀六“再戰”

ThreadPoolExecutor的內部工作原理

  • Java中interrupted 和 isInterruptedd方法的區別?
  • Java中volatile和原子類?
  • volatile為什麼沒有原子性?
  • 為什麼wait和notify方法要在同步塊中調用?
  • Java中的同步集合與併發集合有什麼區別
  • Java中堆和棧有什麼不同?
  • 什麼是線程池? 為什麼要使用它?
  • 實現生產者消費者模式
  • .....

更多Java多線程面試題答案已經整理好了,有需要的可以關注轉發之後私信我【多線程】來免費的獲取到這些已經整理好的面試文檔!

01-多線程面試文檔:

4面美團被多線程狠虐?學完這些多線程知識點,金五銀六“再戰”

4面美團被多線程狠虐?學完這些多線程知識點,金五銀六“再戰”

02-更多面試文檔:

4面美團被多線程狠虐?學完這些多線程知識點,金五銀六“再戰”

03-多線程與高併發文檔

涵蓋了線程安全、安全發佈、線程安全對象的設計、任務取消與關閉、活躍性(死鎖、活鎖、飢餓)、無鎖併發等;此外,Java的併發工具又有線程池、內置鎖、顯式鎖Lock與顯式條件隊列Condition等等

4面美團被多線程狠虐?學完這些多線程知識點,金五銀六“再戰”

更多Java多線程面試題答案已經整理好了,有需要的可以關注轉發之後私信我

【多線程】來免費的獲取到這些已經整理好的面試文檔!


分享到:


相關文章: