阿里菜鳥春招java后端電話一面(3.15)
一、自我介紹
1、學校專業(yè)、獎學金,團支書工作。(可以不說)
2、實驗室、工作內容。
3、比賽項目:用到的技術,負責的板塊。
4、實驗室項目:同上。
二、實驗室任務
1、招新工作。
2、日常學習、學習路線以及答辯機制。
三、項目(不夠熟練,要重新組織語言)
1、介紹項目內容。
2、碳積分計算,數據接口怎么獲???
3、難點在哪?
因為我說了shiro+JWT,他問我JWT是什么?(回答的不夠精簡具體)
詳細介紹shiro和JWT的作用和處理邏輯。
如果不用shir o該怎么做?(答得不好)
四、數據庫
1、B+樹結構?
① 多路平衡查找樹
②只有葉子結點存數據,減少IO次數。
③每次都要查到葉子結點,查找性能穩(wěn)定。
④底層是有序雙向鏈表,便于范圍查找。
2、 只有葉子結點存數據,為什么可以減少IO次數?
3、B+樹一般有幾層?(沒答出來,感謝學長聽完錄音后幫我指導和延伸思路:)
一般一到三層就可以支持千萬級別的數據。
延伸:為什么呢?為什么不用四到五層支持上億級的數據呢?
因為一般來說,一個單表不會支持那么多數據。
繼續(xù)延伸:怎么分表?
五、數據結構
1、無序列表怎么算第m 大的數?
答出來了快排,但是我說要全部排完才能出結果。
重新想:
不用全部排完,由于快排的算法找到一個基準點,使小于它的數在它左邊,大于它的數在它右邊;
這樣它所在位置的下標是M,如果M>(m-1),只要再排它左邊的數就好了,反之則排右邊,直到M==(m-1)就找到了。
2、用棧來實現隊列。
3、計算二叉樹樹高。
六、JVM
1、判定是不是垃圾?
兩個算法,引用計數法和可達性分析算法。
自我延伸:有哪幾種方法判斷GCRoot?
七、java
1、大int和小int的區(qū)別?
①引用類型和基本數據類型。
②堆、棧。
③自動裝箱、拆箱場景,以及裝箱其實就是調用valueOf。
反思補充:
還可以提到比較相等時的情況(==和equals)。
默認值不同,Integer:null,int:0。
八、計網
1、http和https的區(qū)別?
2、SSL加密過程(沒get到他問的點,以為是說服務端和客戶端之間握手過程,但是應該是說加密算法什么的)。
九、java
1、HashMap底層結構?
2、為什么轉紅黑樹?
性能更好balabala,條件只提到了8,沒提到64(暈哦這也能忘。
3、怎么解決hash沖突?(答得不夠具體)
4、底層結構說的太簡單,再詳細說說?
頭插尾插、閥值、加載因子。
十、實驗室項目
1、項目內容?
2、負責什么部分?
3、數據庫怎么設計的?
十一、反問
1、部門的技術棧和業(yè)務?
自己百度。。。
2、對我的表現有什么評價?
公司規(guī)定不準給。。。
雖然只面了30多分鐘,但是基本上啥都問到了,暴露了很多缺點,發(fā)現自己在準備的時候沒有多問一句為什么,都想的比較淺,項目準備的也不夠充分,感謝學長學姐聽了錄音給了我很多有用的建議~
面是周一面的,掛是周六掛的,哎,的確是很多不足,繼續(xù)沖吧。

騰訊、阿里、滴滴后臺面試題匯總總結 — (含答案)
面試:史上最全多線程面試題 !
最新阿里內推Java后端面試題
JVM難學?那是因為你沒認真看完這篇文章

關注作者微信公眾號 —《JAVA爛豬皮》
了解更多java后端架構知識以及最新面試寶典


看完本文記得給作者點贊+在看哦~~~大家的支持,是作者源源不斷出文的動力
