螞蟻金服4面分享:CAP+數據強一致性+Lock鎖+分佈式等

螞蟻金服Java一面

1 :自我介紹和項目

2 :Java的內存分區

3: Java對象的回收方式,回收算法。

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

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

6: Java棧什麼時候會發生內存溢出,Java堆呢,說一種場景,我說集合類持有對象。

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

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

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

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

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

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

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

螞蟻金服Java二面:技術面

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:未來的職業發展,短期和長期的規劃是什麼?

以上答案和經歷我總結在了一個文檔內,加羣956058372即可獲取完整PDF資料呢

2019面試跳槽經歷的一點收穫和經驗分享

 

2019面試跳槽經歷的一點收穫和經驗分享

 

2019面試跳槽經歷的一點收穫和經驗分享

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章