2015阿里巴巴校招杭州java研發面經(初面)

2014年9月22日 杭州

早上6點中從城北的家出發坐了2個小時的車終於到了天目山路華洋賓館。

我來到那是8點鐘。面試10點開始引導人讓我在沙發上先做一做。期間陸陸續續來個幾個人。有個直接終面的研究生也來得特別早。我就和他搭了搭話。求教面經。

他說他前兩輪問了問TCP慢啓動的一些問題。然後隨便聊聊天。。。

9點半開始引導者陸陸續續讓來的人把簡歷交上來。

10點我進了面試房。可以參考半澤直樹一開始的場景大家YY一下。面試官長得很年輕,看起來只有25歲左右。但滿頭白髮,讓我想起了馬雲的傳銷技術,和血汗工廠。。。

他看了看我的簡歷,讓我做下自我介紹。

我開始和他講了我大學時參加的ACM和數學建模還有暑假實習的一些工作。

我給他講了下我實習用Oracle


然後他問了我數據庫分頁查找怎麼查找。

我回答:select id,name form (select rownum id,name from table where rownum<=5050) tmp where tmp.id>=5000 and tmp.id<=5050;


接着他問了我什麼是樂觀鎖什麼是悲觀鎖,有什麼應用場景

我回答說:樂觀鎖是利用數據庫表中的一個version屬性記錄了版本信息。每個操作執行成功後都會與版本做比較如果版本沒有問題則將版本+1;否則返回操作失敗。

悲觀鎖是利用了for update實現的,當操作時用了for update時候oracle就會鎖住這張表禁止修改。樂觀鎖在併發量大的時候效果好。悲觀鎖利用了數據庫底層的鎖易於實現。


之後他看了我簡歷有說spring然後他問了我spring AOP 是用java什麼技術實現的

我回答說:利用了反射技術。


他追問那你能不能寫個反射呢

我回答說:我只記得了反射技術能通過類名、方法名獲得類的實例或者方法。但具體的類我需要查下api文檔。畢竟平時不怎麼用。


他問:model是什麼

我說:model是持久層中的對象。記錄數據庫關係映射的。


他追問:如果不用ibatis只用jdbc那你也寫model麼?

我回答說:當然寫啊。


他接着問:那你有沒有深入瞭解spring。

我回答說:沒有。我沒看過spring的源碼。框架我都是上手用的。不過我struts2有點研究過原理寫過demo。實現過類似的。


他接着問:xml有幾種解析方式。

我回答說:好像有兩種吧一個是S開頭的,還有事DOM解析。(S應該是SAX)我平時都用dom4j。如果是json格式我就用貴司的fastjson解析。


他追問:如果讓你不用dom4j你怎麼解析xml呢?我說那我肯定用棧做呀。然後亂說了說。他說thinking in java中好像有說到。

我回答:這本書我剛入手,還沒仔細看過。(貌似被鄙視了)


他問:你上次筆試時有道題你看看 for(i=1,n=1;n=0;i++) n++;這個程序

我回答說:貌似是個死循環啊。


他說:那你上次怎麼回答錯了。

我說:貴司智力題答到後面基本沒時間了。。。


他說:你寫個KMP試試。

我說:奧。。然後用C開始寫。他說你用java寫。我繼續改用java。Kmp算法忘記怎麼寫了。。。他讓我停止了。


接着他說:你可能沒有深入研究一些東西。你會用。但可能你不知道原理。

我說:這些框架什麼的目的當然我是先學會用。然後深入進去。框架很多我不能沉迷於此。


接着他說:你在學校除了實習做過什麼?

我回答:主要打比賽。然後隨便做了做小東西。什麼C#2048 、 學生管理系統、文件比較器、(聊天室)、(註冊機)後面兩個當時忘記說了。。。估計後面被鄙視了


接着他說:也就是你沒做什麼東西?

我說:嗯。。。他貌似想讓我當場寫2048.我說我帶來了電腦您要不要看看?


最後他讓我問了些問題。結束時和我握了握收讓我走了。

出來時看網頁源碼狀態變成了99.聽說這個狀態是備胎。。。。


總結:阿里可能需要的不光是技術好會寫代碼的。你可能還要有必要看看技術背後的東西。可能我一直以來是以業務爲主導。技術背後的知識有些欠缺的挖掘。阿里上市了,在杭州這家公司算是不錯的。作爲從小在杭州長大的。但這家公司的要求可能很高。而我可能還未達到。。。。。。




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章