投簡歷,然后是筆試過了是第一面然后是第二面過了之后是第三面,通過招聘軟件去找到的,剛開始讓你自我介紹,然后開始問你問題,通過你簡歷上的信息。沒有錄用,第一面掛了
面試官問的面試題:阿里巴巴java developer面試題
HashMap底層如何實現?
Hash一致算法?
說說HashMap和ConcurrentHashMap的區別?treemap和HashMap的區別?
java的內存分區?
java對象的回收方式,回收算法?
CMS和G1了解嗎?
CMS解決什么問題,說一下回收的過程?
CMS回收停頓了幾次?
java棧什么時候會內存溢出,java堆呢,說一種場景?
集合類如何解決這個問題(軟引用和弱引用),講下這個兩個引用的區別?
java里的鎖了解哪些?
synchronized鎖升級的過程(偏向鎖到輕量鎖再到重量級鎖),分別如何實現的,解決的是哪些問題?
Tomcat的基本架構是什么?
什么是類加載器?
說說雙親委派模型機制?
GC的機制是什么?GC算法和回收策略?
未來的職業規劃?
內推投了簡歷,過了筆試和簡歷評估,第二天就打電話來了,問我什么時候有空,我跟他說第二天晚上,于是這一天里拼命補習知識,看了很多面經,希望能夠在面試的時候答得好一點。
面試官問的面試題:阿里巴巴JAVA研發工程師面試題
1.紅黑樹左旋右旋
3.redis持久化
4.那些場景用redis的rpush,lpop
4.項目的推拉設計模式(被問兩次都沒看!)
5. String a = new String(“ABC”) 這條語句產生的結果是怎么存的
6.G1收集器的算法
7.有垃圾收集器為什么還會oom
7.判斷對象死亡的方法
8.jdk1.8和之前有什么區別
9 jdk1.8后的什么什么space(沒聽清,內存分區相關)
10.怎么學習java的
11.HTTP的報文格式
12.cookie和session的區別
13.cookie不可跨域性質,www.taobao.com的cookie 能不能訪問 www.a.taobao.com
13.XSS攻擊的形式
第一輪:技術面,同事面,簡歷篩選,問些項目經驗和基礎技能(一面);
第二輪:技術面,leader面試,業務經歷,技術能力(二面);
第三輪:BOSS及部門主管面試,技術能力綜合面試(三面);
第四輪:HR或者HRM面試,職業規劃等(四面)
阿里巴巴JAVA開發人員面試題
osi七層網絡模型,五層網絡模型,每次層分別有哪些協議
死鎖產生的條件, 以及如何避免死鎖,銀行家算法?產生死鎖后如何解決?
如何判斷鏈表有環?
虛擬機類加載機制,雙親委派模型,以及為什么要實現雙親委派模型
虛擬機調優參數
拆箱裝箱的原理
JVM垃圾回收算法
說一下你之前的項目
項目使用了什么架構,亮點是什么
主要有哪些核心模塊,模塊之間如何通信的
HashMap和Hashtable的區別
實現一個保證迭代順序的HashMap
說一說排序算法,穩定性,復雜度
說一說GC
JVM如何加載一個類的過程,雙親委派模型中有哪些方法?
TCP如何保證可靠傳輸?三次握手過程
技術視野是大家容易忽略的一個點,包括深度和廣度,包括阿里在內的很多大廠面試都很看重這個。有些人面試答得很好,卻給面試官留下一個視野狹窄的印象。一個例子是,Java的面試從Java7問到Java8一直問到Java11,之間有什么區別,這種問題非常小眾,一般的面經里也不會提到。可以反向思考,什么樣的學生會知道這種區別?大致來看,應該分為兩種,一種是開發實戰經驗豐富,踩過各種坑,熟讀源碼的人,用過這些不同特性的人。另一種呢,則是自己有興趣了解過或瀏覽過相關內容的人。所以如果能答出來,則說明學生有一定自主學習的能力,也愿意學習新知識。
面試官問的面試題:阿里巴巴軟件開發面試題
簡單聊了下java基礎(集合),然后開始問項目,其中主要聊了自己做的http服務器項目所有細節,接著問了很多jvm相關的問題,認真看過深入理解java虛擬機那本書都能搞定。Java里String a = new String("abc")具體發生了什么?
線程池數量如何設定,線程池參數的意義。
分庫分表、會有什么問題嗎、數據庫中間件
實習中覺得公司代碼最厲害的部分
Springboot2和1的區別
Java8特性,lambda、流式計算、lambda和流式計算的優缺點、新的時間api。
java9特性,模塊化、jshell、為什么要設計jshell、jshell的好處等等