一面
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三次握手的過程,如果沒有第三次握手有什么問題。
三面:技術面
- 自我介紹
- cap了解么,分別指什么,base呢,強一致性和弱一致性有什么方法來做,2pc了解么,說一下大概過程。
- 負載均衡怎么做的呢,為什么這么做?
- 了解過集群雪崩么?
- MySQL的主從復制怎么做的,具體原理是什么,有什么優缺點。
- Redis有哪些集群模式,各自的區別?
- 項目用到了多線程,如果線程數很多會怎么樣?
- 分布式了解哪些東西,消息隊列了解么,用在什么場景,說了削峰,限流和異步。說了kafka,問我怎么保證數據不丟失,以及確保消息不會被重復消費。還問了消息送達確認是怎么做的。
- 講一下項目的主要架構,你在里面做了什么
- 有什么比較復雜的業務邏輯講一下。
- 最大的難點是什么,收獲是什么。
HR面:
1.工作中遇到的最大挑戰是什么,你如何克服的?
2.你最大的優點和最大的缺點,各自說一個?
3.未來的職業發展,短期和長期的規劃是什么?
以上就是螞蟻技術三面和HR面試題目,以下最新2021阿里集團高級Java必考題和答案,用于參考~
最后
做任何事情都要用心,要非常關注細節。看起來不起眼的、繁瑣的工作做透了會有意想不到的價值。
當然要想成為一個技術大牛也需要一定的思想格局,思想決定未來你要往哪個方向去走, 建議多看一些人生規劃方面的書籍,多學習名人的思想格局,未來你的路會走的更遠。
更多的技術點思維導圖我已經做了一個整理,涵蓋了當下互聯網最流行99%的技術點,在這里我將這份導圖分享出來,以及為金九銀十準備的一整套面試體系,上到集合,下到分布式微服務
如何獲得這套優質的資料呢?
中…(img-XDfR9M3a-1624225498528)]
[外鏈圖片轉存中…(img-F4WpTdMP-1624225498528)]
如何獲得這套優質的資料呢?
Java面試精選題、架構實戰文檔傳送門:戳這里免費領取