貨拉拉java面試題

1 java服務(wù)CPU使用率達(dá)到90%,怎么快速排查問題
死循環(huán)或死鎖會導(dǎo)致CPU飆高
死循環(huán):HashMap在并發(fā)使用時(shí),頭插法在擴(kuò)容期間會產(chǎn)生循環(huán)鏈表,然后執(zhí)行g(shù)et() 會觸發(fā)死循環(huán),造成 CPU 100% 的慘案。(1.8版本后改為了尾插法)


image.png

具體排查步驟:


image.png

2 并發(fā)場景除了加鎖還有什么解決方式
  • 加鎖:樂觀鎖,悲觀鎖,分布式鎖
  • 使用消息隊(duì)列異步串行化處理,達(dá)到削峰效果

3 kafka 的重試機(jī)制,怎么保證消息不丟失,如何處理消息積壓

4 線程的創(chuàng)建方式有幾種,CompletableFuture ,Callable,ArrayBlockingQueue為什么要做成阻塞的,CallerRunsPolicy的缺點(diǎn),怎么結(jié)束一個(gè)線程,核心線程怎么保證一直運(yùn)行?

5 redis hash的底層實(shí)現(xiàn)

6 spring 使用2層緩存能解決循環(huán)依賴嗎?

7 怎么保證訂單不重復(fù)提交,怎么保證冪等,冪等怎么實(shí)現(xiàn)的

6 建議:多去探索原因和原理

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容