從來沒有想到自己的求職之路會這么順利, 第一次投阿里就拿到了offer, 以前一直都是做好被刷的準備的...
3月31號晚上收到了來自阿里的正式offer,?簽下錄取意向書,?粗略算了一下,?從2012年9月份正式入學進入計算機系到2015年3月簽下阿里offer,?大約兩年半的時間,?這期間有很多人值得感謝:?磊哥,?立萍,?宋藝,?興華老師...?發(fā)生了很多事兒:?從最初的懵懵懂懂到后來的立志進入像阿里一樣的一線互聯(lián)網(wǎng)企業(yè),?從對計算機一竅不通到有自己的目標和興趣愛好,?從不知道技術(shù)博客是啥到個人博客的訪問量超過40W...??也學習了很多內(nèi)容:?C++,?Linux,?數(shù)據(jù)結(jié)構(gòu)與算法,?計算機網(wǎng)絡(TCP/IP),?操作系統(tǒng)(OS)...
磊哥一直想讓我寫下這次面試的經(jīng)過, 同時也記錄一下這一年來準備招聘的過程, 很多有意思的事兒如果現(xiàn)在不寫下來以后很快就忘了, 何況看了這么多的面試經(jīng)驗, 現(xiàn)在到了"回饋社會”的時候了, 但是一直拖著不知道怎么開始, 這一拖就到了5月份, 這篇博客陸陸續(xù)續(xù)寫了半個多月, 感覺今天應該告一段落了, 不然總有新的東西加進來,這篇博客是永遠寫不完的...
由于很多朋友和大神學弟對我找工作的準備過程以及面試經(jīng)歷比較感興趣,?我就分別談一下自己的這兩段經(jīng)歷吧:
我是在2013年11月份中旬遇到磊哥的,?當時磊哥剛剛拿下阿里巴巴的offer,?意氣風發(fā),?我越俎代庖請磊哥給我們這些學弟學妹做交流講座的詳細經(jīng)過在我的另一篇博客《我的2013?-歲月劃過生命線》(鏈接)有詳細的記錄,?在此我就不再贅述了,?不過后來我又找了磊哥好幾次,?聊了很多,?也收獲很多,?下定決心一定要進入阿里之類的一線互聯(lián)網(wǎng)公司,?后來磊哥也一直鼓勵并幫助我進入阿里,?因此,?我一直把磊哥當成為命里的貴人.
我的準備工作大致分為五方面內(nèi)容:?C++,?Linux,?數(shù)據(jù)結(jié)構(gòu)與算法,?計算機網(wǎng)絡(TCP/IP)和操作系統(tǒng).?如果一個本科生能夠把這五方面的基礎(chǔ)打得比較堅實再加上稍稍一點兒運氣,?拿下互聯(lián)網(wǎng)的offer是不在話下的,?另外如果你實力夠強的話,?那僅需的一點兒運氣也是不需要的,?在此我引用671學長的一句關(guān)于面試的經(jīng)典:?”面試?=?運氣*(50-n)/100?+?實力*(50+n)/100,?n=f(x),x即實力,n與x成正比關(guān)系,這就意味著:?你實力越強,對運氣的依賴性越低,所以實力才是非常重要的一個環(huán)節(jié).”,?下面分別介紹一下我所準備的五方面內(nèi)容:
C++:
C++被我稱之為飛機中的戰(zhàn)斗機,?我對C++是情有獨鐘的,?他功能非常強大,?尤其是其與Linux操作系統(tǒng)結(jié)合,?C++靈活的語法,?再加上Linux強大的平臺支持,?讓人感覺有種手握核武器的感覺[不過今天(4月28號)獲悉自己在阿里實習被分派到了YunOS手機操作系統(tǒng)部門,?以后要主攻Java了...],?這方面我讀過的經(jīng)典的書有《C++?Primer》,《Effective?C++》,《深度探索C++對象模型》與《STL源碼剖析》,其實在面試阿里的時候《STL源碼剖析》這本書是還暫時未讀完,而且我的簡歷上面也沒寫我讀過STL源碼,?但是面試官仍然問了很多這方面的內(nèi)容,如:關(guān)聯(lián)容器的典型實現(xiàn)原理,?vector/list的實現(xiàn),?迭代器失效的問題,?string的三種實現(xiàn)方式等,?面試官對STL實現(xiàn)的看重可見一斑;?另外《深度探索C++對象模型》也是面試官常問的內(nèi)容之一,像虛函數(shù)的實現(xiàn)機制,?重載的實現(xiàn)原理什么的都是常問的,?在網(wǎng)上流傳著一段關(guān)于本書的書評,?感覺比較有意思(鏈接);?《Effective?C++》中的內(nèi)容在我面試時沒怎么問到,?但是我個人感覺trains技法是比較難,而且屬于比較重要且常用的內(nèi)容,?因此大家也需要悉心準備一下.?這方面的書要多讀幾遍,?不要異想天開的認為這些書只讀一邊就能夠完全理解,?經(jīng)典之所以叫經(jīng)典,?就是無論你第幾次讀都能找到新感覺!
Linux:
關(guān)于Linux部分是值得大書特書的,?我感覺這次之所以面試這么順利,?很大一部分是Linux幫了我的忙.?我個人把Linux的內(nèi)容分為兩部分:一是Linux開發(fā)環(huán)境,一是Linux編程:
1)?Linux開發(fā)環(huán)境:?在這部分我認為最主要的是學習Linux這個操作系統(tǒng)平臺的思想(Linux很多方面都與Windows有所不同,?如一切皆文件等),?以及使自己適應Linux的命令行,其他的都是次要的.?因此這方面的內(nèi)容是比較好學的.?這方面比較重點的內(nèi)容是:?Linux常用命令,?Vi/Vim使用,?軟件管理,?用戶管理,?權(quán)限管理,?進程管理,?Shell編程以及常用開發(fā)工具(如gcc/g++,?gdb,?make)的使用等.?這方面的內(nèi)容我比較推薦兩本比較經(jīng)典的書《鳥哥的Linux私房菜》,《Linux?Shell腳本攻略》,?但是對于這種實踐性課程,光看書是不夠的,而且有時僅僅看書是很枯燥的,因此我在此給大家推薦一部”李明Linux視頻教程”(鏈接),大家結(jié)合著書與視頻練習,?不會感到枯燥;?李明老師對于Linux無論是基礎(chǔ)知識還是高級應用的功力都十分精湛,聽課時既能學到知識又能拓寬視野,?因此這部視頻我看了兩遍,?而Linux的筆記就寫了兩遍,?我把所有的聽課時的筆記都整理發(fā)布到了博客上(鏈接);?我原來看的是第一版的視頻,?系統(tǒng)是基于CentOS?5.5的,后來李明老師又出了第二版,?當然第二版增加了很多內(nèi)容,?組織也更加清晰合理,?總的說第二版是比第一版更好的,?但是珠玉在前,?我仍然是對第一版情有獨鐘,?因此第二版僅挑著第一版照顧不到的內(nèi)容看了看.
另-建議各位讀者朋友:?在剛剛開始學習Linux時,?最好在電腦中只裝一個Linux,?Ubuntu也好,?CentOS也罷(不過我個人還是比較推薦使用Ubuntu作為桌面操作系統(tǒng)),?此時最好完全摒棄Windows的觀念,?日常只用Linux,?最多不超過一個月就開始對Linux與命令行有感覺了!
2)Linux編程:?這部分當然還是首推W.Richard?Stevens的三部書了,《Unix?環(huán)境高級編程》,?《Unix網(wǎng)絡編程-卷I-聯(lián)網(wǎng)套接字》,《Unix網(wǎng)絡編程-卷II-進程間通信》,?但是這三本書內(nèi)容深刻,?而且卷帙浩繁,?組織龐大.?俗話說"沒有三兩三,?休想過梁山”,?沒有非常熟練的Linux/Unix操作系統(tǒng)基礎(chǔ),?沒有一定的Linux編程基礎(chǔ),?這三本書是不容易讀懂的,?因此在這三部饕餮盛宴之前,?我首先推薦一碟開胃小菜《Linux程序設計》.?但是這四部書的內(nèi)容并不一定需要全部讀完的,?《Linux程序設計》中有三分之一的內(nèi)容是不需要讀的(像終端控制,?gtk/gnome編程什么的),?APUE的重點是前18章,?UNP卷I重點是TCP與UDP編程的內(nèi)容,?UNP卷II主要講解System?V與Posix兩種IPC進程間通信的方式,?但是這兩種IPC方式的內(nèi)容大致是想通的,?像兩者都有共享內(nèi)存,?信號量,?消息隊列等,?因此學會Linux/Unix編程的思想與原理就好,?API的具體用法多查一下MAN手冊就好了,?有了這些基礎(chǔ)之后我建議再讀一讀游雙老師的《高性能Linux服務器編程》,?這本書深入淺出的講述了編寫Linux服務器程序的理論基礎(chǔ)與實踐經(jīng)驗,?而且還介紹了如何編寫服務器的測試程序以及開發(fā)Linux服務器程序的常用工具等很有實際意義的內(nèi)容,?非常值得一讀;?而且這部書還重點介紹了Linux中的重型武器Epool,?并與select/pool進行了應用層與理論層的對比,?這是APUE與UNP所不具備的,?且這也是面試的重點之一!?對于學有余力的朋友我在推薦一部Linux與C++編程領(lǐng)域的神作《Linux多線程服務端編程?-使用Muduo網(wǎng)絡庫》,?陳碩老師在書中不僅介紹了使用C++進行Linux分布式網(wǎng)絡服務器編程的常用技法,?而且還總結(jié)了使用C++進行編程的經(jīng)驗教訓,?而且這些問題還都是面試時炒巧考的(像string的幾種實現(xiàn)模式等),?無奈本人兩方面的基礎(chǔ)較淺,?只能挑著一些比較簡單的主題研讀一番..
和學習Linux開發(fā)環(huán)境一樣,?我也比較推薦在學習Linux編程時不要僅僅看書,?我在剛剛開始學習Linux編程時,?由于大三課程較緊,?因此只是讀書很少實踐,?到后來感覺這樣學習效果很差,?到后來在我準備自己的面試項目MyHttpd的時候竟然不敢動手去寫,?因此在這兒我著重推薦C++教程網(wǎng)的兩部視頻"Linux系統(tǒng)編程”與"Linux網(wǎng)絡編程”,?后來我結(jié)合視頻與書籍,?不斷的去實踐,?并將重要的內(nèi)容總結(jié)成博客并發(fā)表出來(鏈接);?當然C++教程網(wǎng)也出了很多其他內(nèi)容的視頻,?像"跟我一起學C++”,?"自己動手寫FTP”等,內(nèi)容很充實,?能夠?qū)W到的知識很多,?但是都是價格不菲,?而且我只看了系統(tǒng)編程與網(wǎng)絡編程部分,?因此其他的我不便推薦,?希望以后有時間能夠把C++教程網(wǎng)的視頻都能夠?qū)W完,?到時候自己的編程功力肯定能夠提升一個層次.?還有就是現(xiàn)在傳智播客也開設了C++課程,?我在淘寶上買了他們那邊第三期和第四期的視頻,而且我也仔細學習了他們的Linux基礎(chǔ)編程與Linux高級編程的視頻教程,但是說實話真是乏善可陳,而且有很多內(nèi)容我感覺傳智播客的老師是在學了C++教程網(wǎng)的視頻再現(xiàn)炒現(xiàn)賣給他們學生上課的,?因此在此我并不推薦看這些視頻(由于我拿不出法律可依的證據(jù),?只是對比他們兩方的授課內(nèi)容相似,?即使錯誤之處亦相同,?因此如果不相信的朋友就權(quán)當我是在意淫吧).
數(shù)據(jù)結(jié)構(gòu)與算法
這方面我準備的時間最長,?花費的心血較多,?從2012年入學直到現(xiàn)在(2015年5月份)我都一直在持續(xù)不斷的補充自己數(shù)據(jù)結(jié)構(gòu)與算法方面的知識.?這方面我感覺比較經(jīng)典的書是《數(shù)據(jù)結(jié)構(gòu)與算法-維斯(C++版)》和《算法導論》,?維斯的書非常的棒,?無論是理論還是實踐都有非常多的亮點,?而且這部書還有C語言版與Java版,總有一款適合你(*^_^*);?《算法導論》大名鼎鼎,其內(nèi)容就不用我贅述了,?而且我也只讀了部分的內(nèi)容,?像鏈表,樹,圖,紅黑樹等,在此也是沒有資格推薦的.
面試時鏈表,樹,?排序與Hash的內(nèi)容考察較多,?尤其是與STL的內(nèi)部實現(xiàn)相結(jié)合來考察(既考察了C++常用技法,?又考察了數(shù)據(jù)結(jié)構(gòu)與算法的內(nèi)容,一舉兩得).?關(guān)于數(shù)據(jù)結(jié)構(gòu)與算法部分的面試,有三部書不得不推薦一下《劍指offer》,《編程之美》和《編程珠璣》,?還有一個網(wǎng)站LeetCode(鏈接).?這些內(nèi)容都是都是我從很多面經(jīng)中總結(jié)出來的,?尤其是LeetCode,?里面一些很贊的面試真題,?沒事的時候建議刷一下.
最后關(guān)于”數(shù)據(jù)結(jié)構(gòu)與算法”的學習,?我建議最好在網(wǎng)上找些這方面的視頻結(jié)合著書看,?因為這部分比較費腦子,?書看累了的時候就可以看些視頻,?敲敲代碼,?幫助消化.而且在我看來,?一個準備在IT領(lǐng)域有所作為的程序員/工程師,?數(shù)據(jù)結(jié)構(gòu)與算法的是無論何時都是不能放下的,?在這兒我推薦一篇Google工程師的博客,?我記得當時我看完之后頗受感染,?不知道大家有什么感受(鏈接).
計算機網(wǎng)絡(TCP/IP)
關(guān)于TCP/IP,面試的時候問得頗多,?類似TCP的11種狀態(tài),?TIME_WAIT狀態(tài)的原因,?TCP三次握手的原因等.?可以看出網(wǎng)絡層與傳輸層(重點是TCP)的內(nèi)容是重點,?如果按照優(yōu)先級對TCP/IP進行排序的話,?應該是傳輸層>網(wǎng)絡層>鏈路層,?關(guān)于計算機網(wǎng)絡,?我看的書有《計算機網(wǎng)絡(謝希仁著)》與《計算機網(wǎng)絡聯(lián)考復習指導(王道)》,《TCP/IP詳解-卷I》只挑了重點的幾章內(nèi)容(本來是打算把這整本書仔細研讀一遍的,?但由于時間不足,?這個愿望一直未能實現(xiàn),?打算等到在阿里實習結(jié)束,本科畢業(yè)之前一定好好的把這部經(jīng)典讀完).?在面試結(jié)束后的一個月內(nèi),?我自己根據(jù)這次面試的經(jīng)過以及結(jié)合自己讀到的面經(jīng)的內(nèi)容,?自己總結(jié)了四篇TCP/IP的博客,?個人感覺有志于進入互聯(lián)網(wǎng)公司的讀者朋友可以讀一下(鏈接).
操作系統(tǒng)(OS)
關(guān)于操作系統(tǒng),?重點在于進程管理與內(nèi)存管理這兩章,?再加上SPOOLing等一些零零碎碎的內(nèi)容.?操作系統(tǒng)我感覺比較不錯的書籍有《現(xiàn)代操作系統(tǒng)》,《操作系統(tǒng)聯(lián)考復習指導(王道)》與《計算機操作系統(tǒng)(湯子瀛)》;《現(xiàn)代操作系統(tǒng)》我只看了有限的幾章,《操作系統(tǒng)聯(lián)考復習指導(王道)》我讀了兩遍,?估計大家也看出來了,?這本書與前面提到的《計算機網(wǎng)絡聯(lián)考復習指導(王道)》都是考研書,?但是但是考研類的書往往對課本內(nèi)容的重點總結(jié)的比較精確.?像這本操作系統(tǒng),?我就感覺對OS重點總結(jié)是比較精確,?當然經(jīng)過壓縮之后有些問題也是有些闡述不明(像內(nèi)存管理中的頁式管理和段頁式管理等),?但其他的內(nèi)容感覺總結(jié)的確實是挺到位的(因此我的幾篇操作系統(tǒng)的博客就是以王道的書為藍本,再結(jié)合面試中秤淞考的知識點寫成的,?不過現(xiàn)在還未發(fā)表,?因為排版整理的工作還未完成,?不過他們會最終發(fā)到這個目錄下面:鏈接).?最后一本書是我們的上課時的課本,個人感覺這本書還是挺靠譜的,?但是有些內(nèi)容有些啰嗦,?學院派氣味很濃,?有些問題本來舉個例子就可以闡明的卻用了一大段晦澀難懂的描述性文字,?讓人似懂非懂.
我學習操作系統(tǒng)與計算機網(wǎng)絡的有一點心得是:?感覺兩者很類似,?都是內(nèi)容很零碎,?但又都不很難;?因此,?他們的學習最好與系統(tǒng)編程/網(wǎng)絡編程結(jié)合起來學習,?這樣就會有一番更深深的體會.
另-如果大家對Linux內(nèi)核比較感興趣而且實力足夠的話,建議讀一下《Linux內(nèi)核的設計與實現(xiàn)》或《Linux內(nèi)核源代碼情景剖析》,前者內(nèi)容較難,?我只讀了有限的幾章,?而后者的總頁數(shù)超過1000頁,?這兩部書有很大的毅力來讀的...
3月7號(2015年)磊哥把我的簡歷推到Y(jié)unOS,?3月12(周二)晚七點參加一面,?3月13(周三)下午三點參加二面,?隔了一周3月20號(周三)晚八點參加三面,?3月24號(周日)參加四面,?3月30號收到offer.
前面說過,?我從來沒有想到這次面試會這么順利,?很早以前我就做好了前幾家面試會被打擊的準備,?而且這次面試又是這么倉促,?從簡歷推上去到真正面試只有三四天的準備時間,?還要一直提心吊膽不知道啥時候一個電話打來就要面試,終于在磊哥的一頓催促之下,?阿里那邊的人在我返校之后的第五天晚上,開始了面試:
一面:
一面問得問題有:?(1)TCP三次握手過程,?與為啥需要采用三次握手;?(2)TCP?TIME_WAIT狀態(tài)的原因;?(3)C++?虛函數(shù)機制(C++對象模型);?(4)C++?Static關(guān)鍵字;?(5)Select/Poll/Epoll的異同(使用與內(nèi)部實現(xiàn)方面);?(6)C++迭代器失效問題(iterator原理);?(7)map/set容器的實現(xiàn)原理(紅黑樹知識+STL容器內(nèi)部原理);
前面的這幾個問題比較簡單,?回答的都比較流暢,?估計面試官打算在最后一題發(fā)難吧,?最后一個系統(tǒng)設計題難度陡然提高,?一下子就沒了感覺,?題的內(nèi)容是?"現(xiàn)在有兩塊內(nèi)存,?一塊10G設名為A,?一塊20G設名為B,?現(xiàn)在A中數(shù)據(jù)已滿,?但還有新的數(shù)據(jù)到來,?因此只能轉(zhuǎn)向B寫入,?但是還需要把A中的內(nèi)容做數(shù)據(jù)遷移,?移動到B,?那么現(xiàn)在問題來了:?如何保證在不打斷新數(shù)據(jù)寫入的前提下,?將內(nèi)存A中的數(shù)據(jù)完整的遷移到B,?即不能出現(xiàn)在A中數(shù)據(jù)遷移完成之前B內(nèi)存滿了或者打斷新數(shù)據(jù)輸入的情況”,?這個問題糾纏了十多分鐘,?我嘗試了從數(shù)據(jù)結(jié)構(gòu)和操作系統(tǒng)的角度去解決這個問題,?但都被面試官否決了,?直到現(xiàn)在這道題我仍然不知道該如何解決.
二面:
二面問得問題有:?(1)我的博客的訪問量的問題(估計是暖場吧);?(2)Linux?伙伴堆算法(slab)實現(xiàn)的原理,?以及與普通內(nèi)存分配相比有什么優(yōu)勢(Linux內(nèi)核);?(3)Linux?高并發(fā)的實現(xiàn),?線程池的實現(xiàn)思想,?怎樣處理高并發(fā)(根據(jù)項目來問);?(4)?Linux?寫一個并發(fā)測試程序;?(5)?如何實現(xiàn)一個String,?他的內(nèi)存是長什么樣的(STL內(nèi)部實現(xiàn));
記得當時二面面試官打電話過來的時候還在上課,?跟老師匆匆說明情況之后就找了一間空教室開始面試.?與一面面試官的和藹不同,?二面面試官剛開始問得問題就咄咄逼人(相對較難),而且在我回答問題時還曾經(jīng)不止一次被他打斷.?由于題目相對較難(也可能是我自己水平不足)感覺需要思考一段時間才能回答,?而且有好幾個問題是我以前沒有接觸過的(像題目2,?題目4,?題目5),?我只能憑自己的理解去回答,?面試還未結(jié)束,?我就感覺這次面試的結(jié)果有點兒懸,?可能過不了這一關(guān)了...?但當時心里倒是很坦然,?由于剛開始就沒有打算能夠通過,?因此也就沒有那種"天生我材必有用”或那種"此處不留爺,自有留爺處,處處不留爺,?爺去投八路”的氣概,只是覺得過不了就過不了,大不了從頭再來.面試到最后,?我問面試官是哪個部門的,?回答說是"阿里云·云計算”部門,突然感覺今天被虐成渣不怨了,?心想如果這次面試通不過,?下次直接投云計算部門,?不投YunOS了,?后來跟同學說起這個想法,他說我是被虐瘋了.
二面結(jié)束之后給磊哥發(fā)了一短信,?跟他說今天面試感覺不是太好.估計通不過了,?磊哥卻說面試應該不會就此停下,?但是可能會中間再加一輪技術(shù)面,?由原來的三面變成四面.??原因是在我一面快結(jié)束時問了一下面試官對我的評價,?面試官除了說我真正的項目經(jīng)驗不足之外又說"大三能夠有這樣的扎實的基礎(chǔ)已經(jīng)相當不錯了”,?褒獎之意溢于言表,?估計面試官給的評價應該不錯,?因此如果二面面試官給個中評的話,那我就應該能夠順利的進入HR終面,?但如果是差評的話,?那就估計還要再加一輪技術(shù)面,?給出一個最終的技術(shù)評價.果不其然,?在等了一周之后,?三面來了...
三面:
在三面正式開始之前,?我先問了一句是技術(shù)面還是HR面,?"是技術(shù)面”.?內(nèi)心頓時緊張起來,但面試官告訴我不用緊張,放松就好,只是聊一下我這邊的具體情況,?果然三面30多分鐘基本上都是處于比較輕松的氛圍之中.?問得問題有:我常用的數(shù)據(jù)結(jié)構(gòu)有哪些,?對未來有什么打算,?對杭州有什么印象,?有沒有女朋友,?有沒有在杭州長期居住的打算,如果我去杭州的話,?我女朋友怎么辦等等,?由于面試官很健談,?后來又聊起了邏輯思維與追求完美的話題,?總的來說,?這一面并不如前兩面那樣技術(shù)氛圍濃厚,?面試官也特別和藹(由于面試官在正式面試之前曾經(jīng)放過我鴿子,?面試開始時面試官竟然還不住給我道歉,真是受寵若驚了...),?后來面試官把他的兩個聯(lián)系方式都留給了我,?讓我有什么就可以直接聯(lián)系他,?后來在收到offer后聯(lián)系團隊時還跟面試官通過幾次電話,?求面試官老師幫忙,?面試官老師在百忙之中還幫我聯(lián)系HR?,?告訴我該如何更快的融入團隊..?說實話,?真的非常感謝這位面試官.
四面:
四面是HR面,?萬萬沒想到的是HR老師竟然在周天下午打電話過來,?當時剛剛打完羽毛球,?上氣不接下氣的接了HR的電話,?然后直接開始面試.?這次面試基本沒問技術(shù)方面的問題,?由于我說了我的博客,?因此HR老師也看了一下我的博客,?見訪問量還比較高,?我謙虛的說"可能是由于寫的東西都比較基礎(chǔ),?因此看的人比較多吧O(∩_∩)O~~”;?然后又問到為什么不打算讀研了;?在大學期間遇到的最大的困難是什么,?是怎么解決的;?除了上課,在大學里其他的時間都在干嘛等等.?總的來說,?這次面試雖然不涉及技術(shù),?但大部分問題都是不太好答的,?因此,?在此建議大家在日常生活中對生活對一些思考,?不僅僅是為了應付HR,?更要活的明白一些.
四面結(jié)束之后,?自我感覺不錯,?果不其然在第二周的周一,?收到offer通知,?知道自己的阿里面試算是可以告一段落了.
最后再說一下:?在每次面試快要結(jié)束時,?面試官都會讓你問他/她一個或幾個問題,?或者你自己主動問個問題,?在這兒我比較推薦的一個問題是"在您看來,?在阿里(當然是目標公司)如果要勝任一份工程師的工作,?他/她需要怎么樣的能力或素質(zhì),?或者說如果我還想繼續(xù)應聘這個工作,?我還需要做那些努力”,?這個問題暗含了三層意思:一是對我這次面試結(jié)果的詢問,?二是我該如何努力彌補自己的不足,三是表達了你對這份工作的渴望,希望能夠勝任或者獲得這份工作.?我在四次面試中都主動或被動的問到了這個問題,?四面的面試官各自給出了自己的答案,?雖然答案各異,?但是綜合起來能夠得出一個對自己綜合評價,同時,也能夠知道為接下來迎接下一輪面試或者參加工作該做哪方面的努力,?因此我感覺這個問題還是比較好的.
不出意外7月份就要去杭州了,?由于得知自己進入的是YunOS手機操作系統(tǒng)團隊,?師兄給出的建議是學習一下Java以及Android的內(nèi)容,?因此需要把接下來這兩個月的學習規(guī)劃一下了,?這兩個月的學習我將其劃分為三個方面:?Java,?數(shù)據(jù)結(jié)構(gòu)與算法(Java),?Android編程.
Java:?由于以前我的Java幾乎接近0,?因此這次搞了本《Java核心技術(shù)(卷I)》,?又下了了馬士兵等人的視頻,?打算一定好好學習一下.
Android: 在網(wǎng)上下了Mars的視頻, 感覺深入淺出, 挺不錯的(Mars是千鋒的老師,算是給他們做廣告了,呵呵), 又跟同學借了《第一行Android代碼》打算好好學習一下, 但是如果時間不夠, 就只能盡量多學了.
數(shù)據(jù)結(jié)構(gòu)與算法:?搞了一部《算法(第四版)》(該書與《算法導論》齊名),?同前所述,?我認為”數(shù)據(jù)結(jié)構(gòu)與算法無論何時都不能放下”,?這部書講述了數(shù)據(jù)結(jié)構(gòu)與算法經(jīng)典內(nèi)容,?而且書中的代碼全部都由Java實現(xiàn),?數(shù)據(jù)結(jié)構(gòu)與Java一舉兩得,?值得一讀!
最后,?還有幸到今年山東ACM省賽上當了一把裁判,?開了眼界,?也圓了自己在三年之前”到ACM賽場打一場醬油”的心愿...
以后的路還很長,?人生之路才剛剛開頭,?走出大學,?才算真正的開始...
(轉(zhuǎn)自 http://blog.csdn.net/zjf280441589/article/details/45639523)