螞蟻金服面出血!最新螞蟻4面(Java):CAP+資料強一致性+Lock鎖+CMS+Tomcat+Redis

Java永遠的神發表於2020-12-26

最新螞蟻4面(Java):CAP+資料強一致性+Lock鎖+CMS+Tomcat+Redis

 

一面

1 自我介紹和專案

2 Java的記憶體分割槽

3 Java物件的回收方式,回收演算法。

4 CMS和G1瞭解麼,CMS解決什麼問題,說一下回收的過程。

5 CMS回收停頓了幾次,為什麼要停頓兩次。

6 Java棧什麼時候會發生記憶體溢位,Java堆呢,說一種場景,我說集合類持有物件。

7 那集合類如何解決這個問題呢,我說用軟引用和弱引用,那你講一下這兩個引用的區別吧。

8 Java裡的鎖瞭解哪些,說了Lock和synchronized

9 它們的使用方式和實現原理有什麼區別呢?

10 synchronized鎖升級的過程,說了偏向鎖到輕量級鎖再到重量級鎖,然後問我它們分別是怎麼實現的,解決的是哪些問題,什麼時候會發生鎖升級。

11Tomcat瞭解麼,說一下類載入器結構吧。

12 說了Spring,問我Spring中如何讓A和B兩個bean按順序載入?

13 10億個數去重,我說用hash分片做,他說可能不均勻,然後我說了bitmap,他說那數字量更多怎麼辦,我說那就兩個bitmap把。他說下一題吧。

二面:技術面

1.講一下專案

2.做的主要是Java對吧,講一下多執行緒把,用到哪些寫一下

3.寫了thread和runnable,然後寫了執行緒池,又問了執行緒池由哪些元件組成,有哪些執行緒池,分別怎麼使用,以及拒絕策略有哪些。

4.什麼時候多執行緒會發生死鎖,寫一個例子吧,然後我寫了一個兩個執行緒,兩個鎖,分別持有一個,請求另一個的死鎖例項。

5.集合類熟悉吧,寫一個題目,一個字串集合,找出pdd並且刪除。

6.然後說一下Redis吧,是單執行緒還是多執行緒,Redis的分散式怎麼做?

7.RPC瞭解麼,我說了主要是協議棧+資料格式+序列化方式,然後需要有服務註冊中心管理生產者和消費者。

9.TCP三次握手的過程,如果沒有第三次握手有什麼問題。

三面:技術面

  1. 自我介紹
  2. cap瞭解麼,分別指什麼,base呢,強一致性和弱一致性有什麼方法來做,2pc瞭解麼,說一下大概過程。
  3. 負載均衡怎麼做的呢,為什麼這麼做?
  4. 瞭解過叢集雪崩麼?
  5. MySQL的主從複製怎麼做的,具體原理是什麼,有什麼優缺點。
  6. Redis有哪些叢集模式,各自的區別?
  7. 專案用到了多執行緒,如果執行緒數很多會怎麼樣?
  8. 分散式瞭解哪些東西,訊息佇列了解麼,用在什麼場景,說了削峰,限流和非同步。說了kafka,問我怎麼保證資料不丟失,以及確保訊息不會被重複消費。還問了訊息送達確認是怎麼做的。
  9. 講一下專案的主要架構,你在裡面做了什麼
  10. 有什麼比較複雜的業務邏輯講一下。
  11. 最大的難點是什麼,收穫是什麼。

HR面:

1.工作中遇到的最大挑戰是什麼,你如何克服的?

2.你最大的優點和最大的缺點,各自說一個?

3.未來的職業發展,短期和長期的規劃是什麼?


以上就是螞蟻技術三面和HR面試題目,以下最新2019阿里集團高階Java必考題和答案,用於參考~


2021阿里高階Java必考題與答案

最新螞蟻4面(Java):CAP+資料強一致性+Lock鎖+CMS+Tomcat+Redis

 

答案獲取方式

關注+轉發後,新增小助手微信:Mxy98811即可免費獲取

 

 

 

相關文章