我主動給面試者加薪 1K 的死鎖面試題和 jstack 分析過程
點選上方“業餘草”,選擇“置頂公眾號”
第一時間獲取技術乾貨和業界資訊!
昨天,我面試了不少程式設計師,很多程式設計師和背書一樣。於是後面,我就改變了一下面試技巧。給來的人,一人一臺電腦,要求寫出個死鎖程式,並且使用 jstack 分析出現問題的程式碼。時間不能超過 1 個半小時。
問題一出,有兩個程式設計師起身要走了,我問為什麼?回答:“寫不出來”。比較直接,於是我讓他們關注了公眾號,說明天公佈答案。並讓人事送他們到了電梯口。
接下來還有一些程式設計師,拿出手機偷偷的搜尋了,我也沒說什麼。只是結束時說等訊息。
只有其中一個老實的程式設計師很認真,最終寫的我很滿意。
並且在他的薪資要求上主動給他加了 1K,說多也不多。主要是以後,薪資漲幅不大,5% 到 10 % 的浮動。沒有像跳槽這樣來的快,給他一個超預期的起點,希望他能在我們公司多待幾年。
那麼如何寫出一個 Java 死鎖程式呢?程式碼很簡單,我已寫大家就看得明白。
程式碼很簡單,就是兩個執行緒分別獲取其中一個鎖,不釋放持有的鎖,然後再嘗試獲取另外一個鎖。
然後,我們通過 jps 和 jstack 8902 > jstack_deadlock.log 看一下相關資訊。
然後通過我在這篇文章中對執行緒狀態《執行緒面試必備:執行緒狀態和dump輸出狀態》的說明。我們看一下,死鎖 Deadlock 狀態。
從上面可以看出,Thread-0 鎖了 locked <0x0000000795b518a8 記憶體地址> (a java.lang.Object 鎖的物件)。然後,waiting to lock <0x0000000795b518b8> 等待鎖定另外一個記憶體地址,也就是物件。
而 Thread-1 鎖了 locked <0x0000000795b518b8 記憶體地址> (a java.lang.Object 鎖的物件)。然後,waiting to lock <0x0000000795b518a8> 等待鎖定另外一個記憶體地址,也就是物件。
而 jstack 也很明確的列出了相關執行緒的狀態 java.lang.Thread.State: BLOCKED (on object monitor)。
再看一下 jstack 列出的執行緒的堆疊資訊:
定位到相關的 Java 程式碼 DeadLockTest.java 第 24 行和 42 行。
最後,你們說這樣的程式設計師,我該不該給他主動上調入職薪資?
10T技術資源大放送!包括但不限於:C/C++,Linux,Python,Java,PHP,人工智慧,GO等等。在公眾號內回覆對應關鍵字或框架名字,即可免費獲取!!
你再主動一點點 我們就有故事了
相關文章
- 我的PHP面試題PHP面試題
- 面試官:什麼是死鎖?怎麼排查死鎖?怎麼避免死鎖?面試
- 面試題之死鎖解密面試題解密
- 面試題總結: 類的載入過程面試題
- Java面試必問-死鎖終極篇Java面試
- 2020畢業後我所經歷的面試【面試系列】 面試題四面試題
- 記2天面試的過程面試
- 軟體測試面試過程解析面試
- 面試必備,Linux面試題和答案!Linux面試題
- 女生在求職面試過程中,如何巧妙回答面試官的尷尬問題求職面試
- 動畫:用動畫給面試官解釋 TCP 三次握手過程動畫面試TCP
- 前端掌握這一波面試題,面試加薪無憂無慮前端面試題
- 面試問爛的 Spring MVC 過程面試SpringMVC
- 面試:什麼是死鎖,如何避免或解決死鎖;MySQL中的死鎖現象,MySQL死鎖如何解決面試MySql
- 面試題:面試經面試題
- 寫給自己看的面試題整理面試題
- 我遇見的那些面試題面試題
- 通過面試題,讓我們來了解Collection面試題
- 面試題解與分析面試題
- ABAP面試題系列:寫一組會出現死鎖(Deadlock)的ABAP程式面試題
- 簡歷&面試&擇業篇-在面試的過程中你所需要注意的問題面試
- HTML最新面試題(筆試面試題)HTML面試題筆試
- rsync和NFS有哪些面試題?Linux面試題分享NFS面試題Linux
- 面試過了,總結測試工程師面試題(含答案)工程師面試題
- 面試官:小夥子知道synchronized的最佳化過程嗎?我:嘚吧嘚吧嘚,面試官:出去!面試synchronized
- 面試官:請用SQL模擬一個死鎖面試SQL
- 邦芒面試:面試過程很愉快,卻沒被錄用?面試
- 那些年,碰上過的面試題面試題
- 阿里二面:如何定位&避免死鎖?連著兩個面試問到了!阿里面試
- 一道面試題的分析面試題
- 做好面試的準備之—常見面試題(適合初級、中級的面試者)面試題
- 面試就業過程的記錄了面試就業
- 2020最新支付寶高階Java現場面試37題:頁鎖+死鎖+叢集+雪崩+負載等(文末多家大廠面試題附贈)Java負載面試題
- 讓我印象深刻的javascript面試題JavaScript面試題
- iOS探索 runtime面試題分析iOS面試題
- 我面試過的那些爛技術大哥面試
- 【面試普通人VS高手系列】死鎖的發生原因和怎麼避免面試
- python面試題之“該死的for迴圈系列”(二)Python面試題