先扯扯皮
首先做一個簡單的自我介紹,主要包括學校經歷和工作經歷。我工作經歷只有兩年,大部分時間都是在做產品設計和UI/UX Design,因此隔著電話都能感受到面試官的shock。
最近原來實習時候的Boss聯繫我,說他跳槽到了阿里,問我有沒有興趣面一個Java後臺開發崗位.
考慮到我只工作了一年,現在去阿里肯定要降薪,因此也沒有太強烈的意願。但出於提升自我的角度考慮,咱也不想的年薪百萬,50萬也是可以的啊()就這樣參加了面試.,下面是我的面試經歷。(文末有我自己的小寶庫分享哦)
阿里一面:
1、先介紹一下自己吧
2、說一下自己的優缺點
3、具體講一下之前做過的項目
4、你覺得項目裡給你最大的挑戰是什麼?
5、Hashmap為什麼不用平衡樹?
6、AQS知道嗎?知道哪一些呢?講一講。
7、CLH同步隊列是怎麼實現非公平和公平的?
8、ReetrantLock和synchronized的區別
9、講一下JVM的內存結構
10、JVM 裡 new 對象時,堆會發生搶佔嗎?你是怎麼去設計JVM的堆的線程安全的?
11、講一下redis的數據結構
12、redis緩存同步問題
13、講一講MySQL的索引結構
14、你有什麼問題要問我嗎?
【開始還很緊張,但是越到後面越感覺舒服就】
阿里二面:
1、根據項目問了一些細節問題
2、說一下HashMap的數據結構
3、紅黑樹和AVL樹有什麼區別?
4、如何才能得到一個線程安全的HashMap?
5、講一下JVM常用垃圾回收器
6、redis分布式鎖
7、再描述一下你之前的項目吧
8、你覺得這個項目的亮點在哪裡呢?
9、你設計的資料庫遵循的範式?
10、你有沒有什麼問題?
阿里三面:
1、又聊項目
2、在項目中,並發量大的情況下,如何才能夠保證數據的一致性?
3、elasticsearch為什麼檢索快,它的底層數據結構是怎麼樣的?
4、JVM內存模型
5、netty應用在哪些中間件和框架中呢?
6、線程池的參數
7、講一下B樹和B+樹的區別
8、為什麼要用redis做緩存?
9、了解Springboot嗎?那講一下Springboot的啟動流程吧
10、如何解決bean的循環依賴問題?
11、Java有哪些隊列?
12、講一講Spring和Springboot的區別
13、最近看了什麼書?為什麼?
14、你平時是怎麼學習Java的呢?
阿里HR面:
1、願意去杭州發展麼?我說要考慮,hr就問主要考慮什麼問題?
2、從技術角度來說,你覺得你跟你同學比怎麼樣?
3、你的父母怎麼看待你的;
4、個人優勢;
5、與同事溝通的時候,如果遇到衝突了如何解決?
15、工作中覺得哪方面欠缺?
16、有問題要問麼?
17、期望薪水;
18、為什麼要離開現在的公司?
總結
1. 阿里的面試官都挺好,面試的內容是我面試那麼多家以來最全面的,問題也沒有特別刁鑽,都比較符合工作場景。
2. 項目很重要,項目是敲門磚也是面試的大頭,如果我沒有簡歷上的兩個項目的話,估計簡歷都很難被撈起來,而且進入到3面。很多面試題都是從項目角度去提問的,而且回答的時候也可以結合項目回答,這個很加分。
3. 除了項目所用技術之外,也要關注項目的業務以及架構,最好是能融合在一起講清楚。
4. 只有多面試,你才能將原有的「我以為」思維變成「原來是這樣」。很多東西並不是你想的那樣,需要有人去給你當頭棒喝才會醒悟。
七、最後
最後在這邊跟大家分享我總結出來的一線大廠Java面試題,希望能給後續想要去面試阿里巴巴等一線網際網路大廠的小夥伴一些幫助!
獲取方式:點讚+關注後私信【資料】來免費獲取到吧~