本着想試試自己水平的想法,參加了阿里校招提前批的校園招聘。結果昨天上午就突然來了個電話面試,讓我一下子不知所措,不過總體能打上及格吧。面試完后我上阿里官網看了招聘狀態:簡歷評估通過。覺得自己一面應該能過,下午一看:初面不通過,中午白激動了。
下面就問到的問題做一些總結,也好給未來的自己看看,究竟什么的地方沒有做好。
1.先介紹一下在學校學習經歷和收獲成果吧。
我:最怕自我介紹了。回答的比較模糊,好像面試官問了我兩次這個問題,主要說自己喜歡做Java Web,沒事喜歡做小東西,績點也不錯。學習經歷真心不知道怎么介紹,最后說了自己寒假做的一個Blog,簡單的介紹了一下Struts2+MyBatis和花生殼,我就不應該說自己美工弄不起來,界面是修改老外的,主要個人感覺做Blog在阿里人眼中肯定是小菜一碟。
2.問你一些Java方面的知識啊。Map有哪些實現類?哪些是線程安全的?
我:先說明Map和Set類似,Set有的基本Map都有......但是我連Set的都記不起來了。后來講主要是HashMap和LinkedHashMap(講了下區別),這些都是線程不安全的。后來突然想到Hashtable是線程安全的......blabla......回來一看筆記:連SortedMap下的TreeMap都忘了,唉。
3.Java中如何實現線程安全?
我:對這些集合Collections類有一個方法可以讓集合類變成線程安全的。一般可以用synchronized修飾方法,或者用最基本的讀者寫者方法......(面試官:synchronized還可以加什么,比如:.....我:可以加object)
4.如何在Java中匹配字符串?試舉一例說明
我:問了一個很SB的問題:是用Java API還是算法...面試官:算法。我說,可以用KMP或者正則表達式。叫我隨便舉一例說明的時候,慘了。因為我基本忘了KMP算法的流程,做算法題時也沒有寫過.....只記得是用數組記錄匹配的下標,然后亂扯了。至於正則表達式,Java用法很簡單,我有印象是狀態機實現的,具體怎么實現肯定不會。
5.OSI七層,分別用到了哪些協議?
我:應表會傳網鏈物。應用層HTTP,SMTP,TELNET,POP3(FTP沒想起來....),傳輸層TCP/UDP,網絡層IP,就記得這些了。
6.計算機進程之間是如何通訊的?
我:(這個問題不會啊...)Android之間用的是AIDL,Java用的是JMS,至於操作系統,我不太清楚......
7.你實習主要做了哪些東西?
我:學學在Linux上做做操作,然后做了一個Android自動化測試的東西(一開始不敢講因為怕被分到測試部,但是不講沒東西了...),面試官貌似挺感興趣,問了怎么實現的,我說用socket把服務器tcpdump獲得的數據傳到客戶端,然后在比較。講的有點亂,面試官一直說嗯,我也不曉得我講的不清楚。
8.你想做Java Web開發還是Android,希望在哪里工作?
我:Java Web,Android也行(面試官:移動應用現在很流行啊),我個人覺得Java Web比較熟悉,比較高大上,而Android設計的效率比較低,不過也不拒絕。感覺我是表達的不好,其實我想說讓我進做什么都行的...最后問我想在哪工作,我:杭州吧。面試官:嗯,我們就是想統計一下。
最后面試官說:好的,這次面試結束了。我本來想問什么時候出結果的,想了一下別讓人家覺得我太急。就說“好的,謝謝您”,然后掛了電話。
電話時間是25分鍾,最后的結果是一面都沒有通過。
一直以為自己水平不錯,暑假去實習也沒有靜下心回顧基礎。看來阿里招人的要求真的很嚴格,再說雖然自己覺得自己還湊合,但是跟那些一天到晚專心研究技術的大牛比起來差的太多,加上自己只是一名本科生,和學歷高的比基本競爭不過。畢竟人家也多花了好幾年學習深層次的技術,自己想要進入阿里這樣國內頂尖的企業,除了付出更多的努力,也需要足夠的戰斗精神支撐着。
話說的再漂亮也沒有,自己要發現不足並彌補,馬上准備從基礎看起,從頭過一遍Java培訓的知識,算法一定要回顧之前做過的題目,計算機操作系統和網絡也要看看,華為的面試在8月下旬就要開始了,一定要好好加油,好好調整自己的思維,做最好的自己。