天天看點

JAVA程式員面試系列(二)

注意,這裡所有的面經都是已第一人稱書寫,但并不表述全部都是我個人的經曆,有來自我個人的,也有來自其他小夥伴和我之間的交流)

沒看過系列前面幾篇的小夥伴,可以直接傳送去看一下。一是網易的面經。

塗鴉

三面技術 電話面試

  • 分布式鎖,分布式事務解決方案。
  • MQ,MQ的推拉模式,rocketMQ的内部實作。

電話面試。很奇葩的公司,自我介紹都沒有,上來直接問技術。分布式事務,分布式鎖,以及在項目中如何實作的,然後扣細節,問了一下實作的具體細節。然後問了一下了解的MQ的推拉模式。回答的不是很好,項目中的實作細節沒有把握好。MQ的推拉模式準備的不是很好,實作細節沒有回答好。總體感覺項目上的準備還有欠缺,MQ的細節還要補補。

沒有後續,一面挂。

大搜車

兩面技術 電話+現場

一面:電話

  • 分布式鎖,分布式事務
  • 定時任務如何實作,自己設計下
  • JVM基礎内容,GC算法以及相關的GC流程。JVM調優。
  • 線程池的建立,ThreadPoolExecutor7個參數,自定義拒絕政策,阻塞隊列大小。
  • redis哨兵機制
  • RocketMQ的延遲消息特征。

先是簡單的自我介紹,問了分布式事務相關問題,在項目中是如何實作的,由于其中涉及到定時job,也說了一下關于實作定時任務的方法。然後問了一下JVM相關的問題,JVM調優,常用的GC算法,PS,PO,CMS算法等。又問了一下JUC相關的,建立線程池的方法,ThreadPoolExecutor的七個參數,具體的自定義線程建立工廠,拒絕政策,阻塞隊列的大小。還問了redis的哨兵機制,rocketMQ的延遲消息特性。

二面: 現場

  • 項目架構圖,項目的技術點,微服務劃分,為什麼這麼設計
  • rocketMQ的消息推拉模式實作原理
  • redis的主從同步機制及其流程和原理
  • 算法:英文字元串排序排序,不開辟額外空間

二面相對更偏考察你的思想一點,主要還是集中圍繞你的項目展開,畫一下項目的架構圖,服務為什麼這麼劃分,有沒有什麼問題?如何解決,優化。然後就是一些基本的中間件相關的概念,内部實作,底層源碼說一點。最後就是做一道算法題。

如果大家覺得我寫的還可以,對你有幫助,還希望點個贊。這樣我也有更大的動力去回顧自己這一路的磨煉,整理出更高品質的面經,給你們更好的參考資料。