前言
Alibaba作為國內互聯網行業的“老大”,一直以來也是很多“數碼寶貝”夢寐以求的公司,我個人是做Java開發的,阿里這些年也開發了很多屌炸天的開源項目,像什么Spring Cloud Alibaba,開源Java診斷工具Arthas,Apache Dubbo,JDBC連接池、監控組件Druid等等,屬實牛逼!
阿里能做到這樣,也不知道各位“數碼寶貝”花了多少個日日夜夜換來的,因此我本也不想進大廠累死累活的。之前每個月在北京每個月拿個小30k,日子過的也還算不錯,但自從有了娃以后,越發有種家庭責任感,錢也越來越感覺不夠花,因此我便萌生了進阿里的想法。
因為今年疫情原因,北京管理相當嚴格,我在家也是間斷的在補充新知識,夯實基礎,直到今年7月中下旬才拿到了Alibaba的offer,下面我會為大家分享我主要在用的一些資料筆記,以及面經分享。
下面會介紹這些資料筆記的主要內容涵蓋的知識點,由于文章篇幅,所以只展示了截圖內容
一面
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必考題和答案,用于參考~
總結
其他的內容都可以按照路線圖里面整理出來的知識點逐一去熟悉,學習,消化,不建議你去看書學習,最好是多看一些視頻,把不懂地方反復看,學習了一節視頻內容第二天一定要去復習,并總結成思維導圖,形成樹狀知識網絡結構,方便日后復習。
這里還有一份很不錯的《Java基礎核心總結筆記》,特意跟大家分享出來,需要的話點擊這里免費獲取
目錄:
部分內容截圖:
24)]
部分內容截圖:
[外鏈圖片轉存中…(img-gNpigaRh-1624083255827)]
[外鏈圖片轉存中…(img-8KRsWLBP-1624083255828)]