網上的一個阿里java面試題
阿里面試題:
一面:電話面試:80分32秒)
1.自我介紹?
2.做過哪些專案?專案中遇到哪些難點,你是怎樣解決的?單點登入系統說一下?分佈
式快取的使用場景?(說好的基礎呢,上來就是專案,毫無準備,導致好多東西都記不
起來了。面試官還說“那你說一個你記得的專案”,手動無奈。。。)
3.你實習的時候JDK用的是那個版本,這個版本有什麼新的特性?
4.G1回收器和其他回收器有什麼區別?
5.垃圾回收為什麼會停頓?哪些物件可能作為GCRoots?
6.垃圾回收分代收集演算法?為什麼會有兩個Survivor區?new一個物件會儲存在哪裡?
7.Java記憶體模型?volatile關鍵字,使用場景?原子性的理解?先行發生原則?
8.場景題:現在有三個執行緒,同時start,用什麼方法可以保證執行緒執行的順序,執行緒
一執行完執行緒二執行,執行緒二執行完執行緒三執行?
9.你是怎麼理解執行緒安全的?HashMap是執行緒安全的麼?如果多個執行緒同時修改HashMap
時會發生什麼情況?
10.ConcurrentHashMap底層原理?每個版本的實現上有什麼區別?
11.靜態代理和動態代理的區別?動態代理是怎麼實現的?
12.深拷貝和淺拷貝的區別?
13.你做過hadoop的專案,為什麼要用hadoop?你們處理的檔案是什麼格式的?寫了幾
個mapper幾個reducer?
14.zookeeper你們用了幾臺,用來幹什麼的?一般情況下都是奇數臺,那麼如果一臺掛
了,偶數臺如何實現master選舉?zookeeper的兩種啟動模式?
15.TCP首部?TCP為什麼是可靠的?三次握手四次揮手?
16.Solr是如何建立索引的? Lucene的底層原理?
17.你平時喜歡做什麼?看過哪些書?最近在看什麼書?(這裡有個段子,我:最近在
看《HTTP權威指南》。面試官:什麼?HTTP潛規則?我:???)
二面: (視訊面試:47分鐘)
1.你那邊怎麼有點黑啊?(我靠,我也想說啊,暑假寢室集中供電,然而我們寢室沒有
電。發麵經也不忘吐槽學校,簡直坑啊。。。抱著檯燈瑟瑟發抖。。。)
2.現在在哪裡實習?實習主要做些什麼?
3.說一下Java裡面你最感興趣的一個部分?
4.熟悉Java的哪些框架?用了Spring的哪些東西?Spring現在最新的版本是多少?
5.講一下MVC設計模式,有什麼框架用到了這個模式?
6.場景題:一個Controller呼叫兩個Service,這兩Service又都分別呼叫兩個Dao,問
其中用到了幾個資料庫連線池的連線?
7.安全方面:如何防止 SQL注入?如何防止使用者刪除其他使用者的資訊?表單提交可以跨
域麼?自己寫的介面如何防止被其他人惡意呼叫?
8.zookeeper偶數選舉問題?(感覺很重視zookeeper啊)
9.hadoop為什麼要將檔案分塊並且複製三份,複製兩份不行麼?這樣不浪費空間麼?
namenode腦裂問題?zookeeper如何管理全域性配置檔案?你們的Hadoop 專案用到了幾臺
機器,每個機器的作用?
10.Servlet是執行緒安全的麼?
11.建立一個物件的詳細過程?其中發生了些什麼?
12.Java NIO你瞭解麼?講一講你最熟悉的部分?
13.你在生活中有沒有遇到什麼神奇的事情,可以分享一下麼?比如灑水車為什麼老是
在陰天或者快下雨的時候灑水?還有我和我老婆經常吵,陽臺的花是早上澆好呢,還是
晚上澆好呢?(我靠,這是什麼套路)
14.你認為你身邊的同學怎麼樣?如果你正在打遊戲,你想讓同學幫忙帶瓶水,你覺得
有多少人會幫你帶?(這又是什麼套路?讓我去送水?)
15.你還有什麼想問的?
三面:(HR面,視訊面試:22分鐘)
1.7歲一個階段,說一說每一個階段對你影響最大的一個人或事?
2.說一下你大學階段做了些什麼?
3.你感覺你前兩個面試官怎麼樣?
4.春招的時候為什麼沒有去bat實習?
5.你當初準備暑期實習的話,是想學到些什麼?現在感覺自己有哪些進步?
6.你還有什麼想問的?(當然是萬能的培養計劃和晉升機制)
四面:(交叉面,:電話面試:30分鐘)
1.自我介紹?
2.說一下最能代表你技術水平的專案吧?
3.maven如何進行依賴管理,如何解決依賴衝突?
4.maven的源和外掛瞭解哪些?maven的生命週期?
5.如何保證分散式快取的一致性?分散式session實現?
6.spring的bean的建立時機?依賴注入的時機?
7.你們的圖片時怎麼儲存的,對應在資料庫中時如何儲存圖片的資訊的?
8.單點登入系統的實現?
9.專案中用到的JDK的哪些特性?
10.java8流式迭代的好處?
11.多執行緒如何在多個CPU上分佈?執行緒排程演算法有哪些?
12.執行緒排程和程序排程的區別?
13.專案中用到了哪些集合類?
14.說一下TreeMap的實現原理?紅黑樹的性質?紅黑樹遍歷方式有哪些?如果key衝突
如何解決?setColor()方法在什麼時候用?什麼時候會進行旋轉和顏色轉換?