當前位置:簡歷模板館>面試>面試經驗>

阿里技術類面經經驗分享

面試經驗 閲讀(6.63K)

1.自我介紹一下,然後問你最擅長哪一方面(我説虛擬機、集合)

阿里技術類面經經驗分享

2.他説HashMap我現在都不敢問了,出過很多笑話,很多人都是背的,自己沒辦法判斷是看的還是背的

3.簡單説下HashMap的get方法實現

Map數組的第一個元素存的是什麼(我不知道然後他説HashMap可以存'吶畝'嗎,我聽成能不能存enum,我説可以可以能存Integer,String,enum,然後他説是null,不是enum...)

Map和Hashtable的區別(線程安全不安全,能否存null,數組初始化容量,擴容不一樣,elements方法hashcode方法)

6.裏面的hashcode有什麼區別(HashMap多了和hashcode>>>16的一次異或,這個看過和他扯了好久好久,扯到為什麼2的整次冪反正扯了一大堆)

table在null的處理是怎樣的

8.線程的幾種狀態(運行阻塞就緒,他説還有其他的嗎,我説掛起?,他説線程生命週期什麼的)

9.這些狀態之間怎麼轉換的,哪些方法轉換

10.一個線程連着調用start兩次會出現什麼情況(這個討論了好久好久,他説給你設計這個start你怎麼處理這種情況,直接懵逼...提示結合那個線程狀態機制想下)

11.多線程這塊對哪些熟悉(我嚇得瑟瑟發抖,畢竟簡歷上寫的熟悉,但自己幾斤幾兩還是知道的,就是知道synchronized和volatile,ConcurrentHashMap,CopyOnWriteArrayList這些等等...還連忙補了一句,這些併發容器只是瞭解一點,沒看過源碼,之前打算看ConcurrentHashMap的源碼但是6000行可能會看的一知半解就還沒看)

hronized和lock的區別

13.由於我説了一般unlock放在finally裏面,他就問try後面一定要跟catch嗎,我説可以不跟finally但是一定要跟catch,他説try後面不能跟catch是你在書上看的還是怎麼的,我説我從沒見過try後面不跟catch的,再説try就是為了捕獲潛在的異常,沒有catch怎麼抓到拋出的異常,他説我不能lly嗎。我説我沒見過,他説那這個問你也不合適...

看過多少

裏面用過哪些包(我説lang util juc math...他説util除了用過集合還用過哪些,我説Arrays、Collections,他説有哪些方法,我説排序二分查找這些,他説Collections有用過嗎,裏面的排序接口用過嗎,答了之後又問如果是要升序裏面是寫a-b還是寫b-a)

ng是可變的嗎,答final數組不可變,問是final的什麼數組,答char

ng s="abc"和String s=new String("abc")區別,然後撤常量池還扯String那個intern()方法

ngBuffer和StringBuilder區別

方法裏面有個StringBuilder線程安全嗎(這也扯了好久好久,我沒轉過彎來,他就提示哪些會出現線程不安全的問題,我説競態條件,什麼i++讀取-修改-寫入,或者單例懶漢的先判斷後執行,然後又回到這個run方法裏面的StringBuilder,我又沒想出來,他又提示方法區裏面的變量存在哪,我説棧啊,遞歸還容易出現堆棧溢出,他又問存在棧裏面的是共享的嗎,我説是線程私有的,忽然恍然大悟...可能我一開始就沒明白這個題什麼意思,面試官真是一步一步提示你,真好...)

的引用類型你知道嗎(我説數組,new XXX都是引用,他説你看過深入理解JVM那本書嗎,我説看過其中的內存管理、垃圾回收、類加載這些,類文件結構這些沒怎麼看,他説那就這個就不問了)

21.那強引用弱引用這些知道吧(説了下強軟弱虛四種引用,然後問我後三種引用的應用場景,這個之前撇過一眼,真的不記得了...回去看了下軟引用可以實現緩存,弱引用可以用來在回調函數中防止內存泄露,虛引用能在這個對象被收集器回收時收到一個系統通知。)

22.然後問內存管理,內存管理記得清楚吧,我説之前看過,現在知道大概(打個預防針,防止自己尷尬...),他説現在忘沒忘,那我是能問還是不能問?然後我就笑了下...然後他就問説下JVM內存的分代吧,終於到我裝逼了...,扯了好久好久,就把深入理解JVM那本書裏面相關的都説了下

23.大對象是哪些(我説大數組和大字符串,他説多大叫非常大,我説好像有個參數能設置大概4MB?不是很清楚,然後就是年齡增長那個機制之類的)

r GC和Full GC,又扯了好久,反正基本把第二章第三章裏面的內容給問了個遍還問的特別細...

裏面的參數知道哪些,默認

大小是多少,我説只知道Xmx Xms Xss這幾個,他説你猜這個中間的m是什麼意思,我説是max,min?可又感覺不是...他説其實他也不知道,就是看看我的想象能力,他説他猜得是memory,還有這種操作...然後問Xmn是什麼,答不知道...,問你在猜猜...

26.G1停頓嗎,CMS回收步驟

為什麼會停頓,停頓時間(我説如果不停頓那個GC Roots沒辦法進行下去,必須停一下等着GC Roots遍歷完成,就和你媽給你打掃衞生時,你肯定不能還扔垃圾,肯定要停下來一樣)

28.類加載瞭解嗎(扯了一堆順便説了雙親委派機制,他問為什麼要每次從上往下加載?好處是什麼?我説比較安全...防止重複類加載...也不知道扯得對不對)

29.數據結構掌握程度怎麼樣?(再次瑟瑟發抖,面試官説鏈表我能問嗎?問怎麼判斷兩個單鏈表是否相交...就這題他提示我好久,最後還是沒想出來,就是這麼的渣...他説直接判斷最後一個節點是否相交就好,我説是不是類似一個竹子從中間砍了一點,然後前面分叉,後面相交這樣,他説對對對,是這樣的)

30.數據庫熟悉嗎(我把我知道的全説出來了,然後説除了這些都不會了,他説那我就不問了)

31.項目這些框架用到什麼程度,看過源碼嗎

32.説説項目(因為是自學,我就直接説這個項目是跟網上的教程一步一步敲得,自學弄哪些高併發分佈式的項目也不大現實。説説你寫在簡歷上的項目亮點,我説處理了橫向越權、縱向越權的情況,具體説了之後,他説,如果現在界面有個按鈕給你,你怎麼保證權限控制,答了之後,他説如果有100個1000個這樣的呢,我説能不能用AOP把它分離開來這樣弄,他沒説行還是不行,然後問我聊聊Spring MVC吧,答了之後又問你知道有個過濾器吧,答了之後,他説其實是用過濾器來處理剛才提的那個問題的,我説對對對,就是類似過濾器處理全局編碼那樣...反正又是一頓馬後炮...)

33.研究生期間周圍同學,專業啊,反正開始聊人生了,有沒有論文(本渣屬於無論文、無比賽、無獎學金的三無人員),你的優勢?舉個栗子。你是從研究生期間才開始寫代碼的嗎?寫了大概多少行。平時除了學習,課餘時間幹什麼(差點就脱口而出玩遊戲,還好忍住了...)。每天學多久...項目過程中有沒有什麼頭痛的東西...你有沒有遇到一個Bug找了好多天都沒找出來的經歷...你有什麼問題要問我?對我技術方面有什麼建議?dubbo,zookeeper這些框架需要看嗎?這一面是一面還是二面?他説只是一面,之前的那個只是簡歷評估面...

全程97分鐘,面試官説沒太注意時間,正常40分鐘就要解決的。面完之後我説的都口乾舌燥了,感覺身體被掏空...

最後説一句,就喜歡這種問你最擅長什麼,這個東西我是能問還是不能問的面試官,雖然答得一般但還是五星好評...

如果你現在在JAVA這條路上掙扎,也想在IT行業拿高薪,可以參加我們的訓練營課程,選擇最適合自己的課程學習,技術大牛親授,7個月後,進入名企拿高薪。Java工程化、高性能及分佈式、高性能、深入淺出。高架構。性能調優、Spring,MyBatis,Netty源碼分析和大數據等多個知識點。如果你想拿高薪的,想學習的,想就業前景好的,想跟別人競爭能取得優勢的,想進阿里面試但擔心面試不過的

關注我,私信回覆555 進羣獲取高清大綱、往期架構視頻、筆記、源碼等資料。

變成面試中了...

面試狀態從簡歷評估中變成了待安排面試什麼鬼?難不成這面只是簡歷面嗎?

簡歷面:

面試官上來介紹了他們部門的業務,問我感不感興趣,我當然感興趣了,然後開始瘋狂輸出我...

1. 起手式:Object類有哪些方法?

2. wait方法能不能被重寫,wait能不能被中斷

3. 裏面哪些方法能被重寫

4. hashcode方法有什麼用

5. HashSet方法裏面的hashcode存在哪(我説類似HashMap存在Node裏面,他還是問了我好久,沒看過源碼很虛)

6. 一個對象的id為1,通過setId(2)改為2,HashSet裏面有幾個對象,這問了好久好久,沒明白他什麼意思

7. 線程有幾種狀態,創建線程的幾種方法

8. 哪些方法能使線程從運行態變為阻塞態

9. 説説線程池,線程池中一個線程執行完任務後處於那種狀態

10. Thread類的interrupt,interrupted,isInterrupted方法的區別

11. 被什麼類加載器加載,什麼時間加載

12. 自己寫的類被什麼加載,什麼時間加載

13. 自己寫的兩個不同的類是被同一個類加載器加載的嗎?為什麼?

14. CPU能不能直接和二級緩存打交道,接下來一頓問...

15. 三次握手

16. 網絡編程會嗎

17. socket中accept什麼用

18. 兩個不同ip地址的計算機之間如何通信

19. 項目中用過Spring嗎

20. Spring優點哪些,源碼看過嗎

21. SpringMVC怎麼配置的,xml文件怎麼加載的(問了下是要説源碼),一次HTTP請求的過程(其實不是問這個的,它問的什麼我沒聽懂,我説是不是SpringMVC的請求執行過程,他説不是)

22. 數據庫連接池用過嗎,來説一説

23. 項目中的MySQL、Nginx這些都是自己配置的嗎

24. 有什麼想問我的?

總共47分鐘,被問懵逼了,但不得不説面試官的態度一直很好,不會的問題會不斷給你提示(然而學渣給再多的提示也答不出來,這TM就很尷尬了),哎越面越感覺自己越菜,只能為阿里秋招攢波人品了...