為記錄阿里的電面經歷,特與大家分享,崗位是JAVA研發工程師。
答案文末分享!!!!!答案文末分享!!!!!答案文末分享!!!!!
一面主要問題如下:
首先自我介紹數據結構算法的基本問題,如排序算法,二叉樹遍歷,後序遍歷非遞歸,圖的最短路徑問題對一個數組進行絕對值排序的算法java中hashmap的底層實現java中垃圾回收機制GC原理等介紹自己的項目,數據庫中用到的數據結構數據模型,死鎖的概念(問的應該是數據庫的死鎖),如何避免死鎖?樂觀鎖和悲觀鎖?一致性hash算法項目中業務對象的關聯關係/關聯方式,談談左外連接及如何實現多對多關係模型spring的IOC和AOPsping如何實現(保證)事務一致性完整性,spring中事務傳播機制類型談談WEB的架構(應該指的是j2ee開發架構模型)、項目中的用戶場景使用場景對分佈式架構的瞭解,如分佈式存儲 分佈式緩存 分佈式計算談談對阿里的哪些開源項目有所瞭解?對淘寶技術是否有了解?對其杭州信息平臺事業部其主要業務是否瞭解(其主要是java方面的開發,另可以重點關注看看工作流引擎)二面主要問題如下:
首先仍然是先自我介紹有過競賽經歷?獎項?專業排名?平時都看些什麼書籍?是否參加了學校社團活動?哪個部門?主要工作?時間安排?對哪些技術最熟悉最擅長?我說的是java WEB框架那些,然後就開始問java了接口和抽象類的區別 實現有哪些不同?序列化如何實現?用代碼描述。writeObject? objectWrite?ObjectOutputStream.writeObject(). ObjectInputStream.readObject()IO框架 集合框架的描述。如何判斷文件是否存在?如何讀取一個目錄下面的所有文件和子目錄?代碼描述。廣度優先遍歷目錄下面的所有子目錄和文件?代碼實現?List和Map的不同?HashMap的實現?如何解決散列衝突?多線程機制?線程休眠10秒?sleep()與wait()的區別。緩衝流buffer的用途?原理?linux下如何查看CPU負載和IO端口的使用情況?如何創建目錄?如何搜索一個指定的字符?考察數據庫的sql操作,給定了一個具體的業務表,如何對不同類型的數據進行統計。事務的概念?髒讀?如何避免?如何在代碼中實現?sql代碼中如何使用如何定義一個事務?應該是如何定義一個事務的隔離級別?項目中遇到的問題?解決方式?SSI框架?spring如何定義一個bean?代碼描述。Bean的生命週期?Bean的scope?對淘寶技術架構的瞭解?從哪裡獲取到的?自己今後的職業規劃?技術發展方向?最後,對來杭州和阿里工作的意向?然後詢問我自己有啥想問的?談了下 信息平臺事業部的主要業務?工作流和ERP?總體上來看,還是比較注重基礎的 尤其是java的多線程和併發安全性及數據庫相關,另外對有關開源框架的具體底層實現需要多閱讀源碼並進行總結。
下面是網上參考到的阿里java面試題目,同樣作為借鑑。
hashmap,hashtable區別。是否瞭解過hashmap的源碼?jvm相關,主要是內存分配的過程,何時出發GC,用什麼工具或者命令來進行監控?類加載,類隔離機制。spring的ioc,aop,事物,然後順便提到了數據庫的事物,兩階段提交,數據庫鎖的級別,MySQL數據庫鎖的特殊之處(頁級鎖)java線程池裡面的arrayblockingqueue,linkedblockingqueue的用途和區別。設計模式相關,主要講解用途如何保證數據庫集群中ID的唯一性,假設每秒鐘併發20萬次。設計十萬併發級別的網站後臺,如何計算使用的ecs數目(雲服務器(Elastic Compute Service, ECS 如阿里ECS)是一種處理能力可彈性伸縮的計算服務器,基於BGP最優路由算法構架多線網絡,雲服務器可以幫助構建更加安全穩定的應用)。memcached和redis的異同和用途。nosql數據庫相關,主要講了mongodb10G的整數中,取出最大的一個(不光是使用高效的排序算法,還需要考慮內存大小)synchronized,volatile,可重入鎖的用途和優缺點。java nio相關核心的api基本瞭解和應用一致性hash在一個大系統中存在哪些單點失效的問題hadoop優化相關一面,主要注重基礎,問得很深很廣,壓力面試。
這面沒有準備好,廣度和深度壓力很大,建議大家多看看三大框架源碼、原理,併發包。
二面注重於項目
什麼是restful web service?併發集合包?項目中使用了哪些數據結構?TCP中斷連接四次揮手?MD5加鹽https支付寶接口開發知道哪些鎖,有什麼區別?依舊JDK源碼項目遇到什麼問題,怎麼解決?JDK1.8有什麼新特性?也許是覺得一面已經問了很多了,這面又答得比較不錯,20分鐘就結束了,30分鐘出了結果。
三面聊人生
leader人very nice,給了一些建議,可能是覺得技術差不多,這面基本沒怎麼問技術,主要是職業發展、IBM的實習內容之類,我想大家可能也都有自己的想法,18分鐘。
hr面聊成長經歷:聊了一下對B2B的認識和自己的技術成長曆程。
進程和線程的區別什麼叫線程安全?舉例說明OSI七層模型,包括TCP,IP的一些基本知識數據庫的鎖DFS,BFS算法還有一些諸如collection framework的Java基礎http中,get post的區別其他的面試,感覺問的很有代表性:
第一面(只記得這麼多了)
筆試題第四題實現又口述了下有個每秒鐘5k個請求,查詢手機號所屬地的筆試題(記得不完整,沒列出),如何設計算法?請求再多,比如5w,如何設計整個系統?比較熟悉什麼技術?我說jvm和oracle,就讓我畫jvm的體系結構,畫了之後說各個部分的職責,並扯到運行期優化。第二面(沒有技術細節,都是泛泛的,但是我回答的比較保守,只覺得能滔滔不絕的說上半小時才敢說看過或瞭解)
是否願意去杭州熟悉各種技術框架麼?源碼讀過麼?數據庫瞭解什麼?mysql瞭解麼前臺技術,看我用的ExtJS,就問是否瞭解JQuery進現在的公司,覺得對技術是否有提升?第三面,此面沒有技術問題
第四面HR(感覺這面問題回答的有點扯,畢竟是這麼幾年來首次面HR,之前面過2、3個公司,要麼很早就掛了,要麼感覺流程太長,自己不願意面下去)
那麼看到這裡的你肯定想問了,答案在哪?我把近一年經歷過的面試,和一些刷過的面試題都做成了PDF,PDF都是可以免費分享給大家的,只要私信(寶典)就可以獲取免費領取方式!
領取的朋友們記得一定要幫作者來個轉發+評論!謝謝大家!
轉發+評論後私信(寶典)就能免費獲取領取方式了!