從2月份開始準備到現在5月份塵埃落定,各種網申、筆試、電面、現場面從“兵荒馬亂大混戰”到最後“短兵相接單對單”,樓主也算是殺出了一片天。在這裏留下一篇面試經歷分享,感謝所有幫助我的人,與我並肩作戰的人,同時也希望能幫到即將或者正在找工作的同學。
首先說一下結果:樓主最後拿到了騰訊和阿里巴巴的實習Offer,如果是非技術崗和其它技術方向文章的幫助可能打些折扣。
下面就是兵荒馬亂的經歷了:
一.初步申請——如果好好寫簡歷的話一般不會掛網申;內推看起來規格很高,但是規矩是死的人是活的,不管符不符合投就是了。
1.按照時間順序:內推騰訊(TST)——內推百度——內推美團網——網申大衆點評——網申豌豆莢——網申網易遊戲(...這個明顯求鄙視的..)
2.最後的結果:
1)騰訊內推成功,拿到了TST的電話1面。(這裏要超級感謝枕套同學!)
2)被百度無情了刷了3次簡歷....其中包括兩次內推。(這裏的感受是公司的業務重點和技術方向決定了它的需求,需求少難度就水漲船高)
3)美團、點評全都沒消息(美團HR貌似來過我們團隊,但是錯過了 = =..)
4) 豌豆莢效率非常高,當天投第二天電話1面
5)網易遊戲,簡歷已處理了1個月(傳說中的“現在完成進行時”?)
6)阿里內推的學長當晚直接電話聊了一次,給我提簡歷修改的意見,個人技術進步的方向。之所以後來的面試過程很順利,都是因爲在整個面試過程中和他經常交流。這位學長是西電的,能認識完全機緣巧合。只能說貴人相助了,這也是我最後選擇阿里的原因之一。
3.初步申請總結:
1)一份好簡歷很重要(如同800塊和600塊的開局,你懂的):
從形式上:推薦Latex的moderncv模板,改一改就可以很輕鬆做一份簡潔大方的簡歷。但是無論用什麼做,最後要用PDF呈現(word打開耗時,版本差異導致排版差異…so on…總之真的別用word...)
從內容上:讓HR看起來有B格,讓工程師看起來有乾貨。獎項同類寫最高的,不同項(比如競賽性質的獎、完整產品性質的獎)要從明確明顯地區別開。一旦被認爲同類就被看的人自動合併了。成績很高就寫吧,中等就別佔地方了。證書自己斟酌一下。
這裏附上阿里學長的話:
“通常面試官只會關注最閃亮的一個點,它可以代表你在這個領域是否有深入理解,項目不在於多,而在於精。同時,基礎知識是很重要的,畢竟應屆生不要求一定有項目經驗,但一定要求基礎知識。技術人員的外在表現在項目,而內在表現在對細節、效率、安全等方面的追求“
2)蒐集所有可能的信息(主動包雞包眼的孩子總是很幸運..)
當時知道阿里、騰訊的內推是在人人上的一個老鄉+好友發了他們學校學長提供的內推機會(這裏不得不說一下西電,前人給後人幫助遠遠多於華科。當然也許我科沒什麼人找工作...)後來在各個高校的論壇(這裏說一下北郵人,比白雲黃鶴有價值的信息多很多很多)上又看到了很多內推渠道。最後,關注一個個人博客和併發編程網的時候也都能拿到阿里的內推。
總之內推很多很多,但是前提是”去——找“
二.筆試+1面 之所以寫到一起是因爲他們考覈的點十分相近。
A.筆試如下:
2.基礎編程思想及代碼理解:面向對象、面向過程等等相關
3.邏輯思維:一些變種的用代碼呈現的數學題
B.面試如下:
去面試的時候樓主主要準備了6份東西:
- 個人簡歷彩印版(更好的紙質,同時帶了醒目的效果)
- 一份產品設計文檔彩印版(之前做了一個上架的App,其中特意附了AppStore的截圖)
- 上述產品文檔對應的App,安裝在手機裏
- 一個彩印版的Android異步實現——”Handler,Looper“源碼學習小結
- 一個多任務,多線程協同,斷點續存的Android下載器的系統框架圖
- 一個實現網絡緩存和異步加載的AsyncListView Demo,安裝在手機裏
1.自我介紹:大概3分鐘。考察對自我技術理解,自我方向是否明確,語言表達,邏輯性。(告訴面試官該問自己什麼方面的問題) 記得面騰訊最後寫一道算法題的時候面試官面了我科一個碩士,問爲什麼投移動開發崗。先開始說是因爲自己之前做WPF相關,Android也是用xml寫界面。感覺開發模式很像所以投了。但是面了一會兒又說自己是投錯了。最後面了10分鐘就悲劇了... 樓主這裏主要是展現給面試官呈現了一個從大一到大三的學習曲線(學習基礎內容——動手做完整產品——某個技術點的深入挖掘和突破)。
2.聊項目:面試官希望聽到你是項目負責人,如果是大牛自然好辦:”哥一個人做的...“。樓主的做法是找到一個自己全權負責且十分深入的模塊來聊。一個很小的點的深入挖掘的加分遠遠大於整個項目的泛泛而談。
3.技術問答:
這裏當然是引導面試官到自己熟悉的技術領域,但是最好對自己想被問的領域做一個提前量的預判。以樓主爲例,核心準備的東西是Java併發編程,Android性能調優。那自己就該預想到,面試官除了基礎問題會向哪裏延伸?對於Android而言Handler、Looper在Framework層的實現源碼就很有說頭;同時可能會側面問你Hashmap和Hashtable有什麼區別(一個非線程安全、一個線程安全);也許會問你除了對象鎖synchronized實現同步還有沒有更靈活的方式(JDK1.5中加入的java.util.concurrent有很多更針對於不用場景的線程同步的工具類)。
如果你能在面試官問你第一個問題的時候就預判到第二、第三個追問的方向,那你肯定能夠把握住整個問答的節奏。到時候往自己擅長的地方引導,就直接拿下了。這裏要說的是,切忌找刁鑽的技術角度(自己以爲面試官可能不”熟悉“)show off,無論這個點面試官是否真的熟悉,都不會帶來任何加分。比較聰明的做法是”賣個破綻“。你知道ABC三個問題或者知識點是環環相扣的,但是主動說的時候就是偏偏只說AB不說C,這時候面試官有很大概率來問你C相關的東西,到時候還不是直接到碗裏來了。只要能給面試官一種,他問什麼你都能答的很全面、很深入的感覺,那麼這次面試就十拿九穩了。
三.終面/Boss面+自己提問
到了最後的真正和高手過招的時候就不重點考基礎和內功了。大家可以回想一下一般武俠小說裏,草根主角遇到大Boss(最後成功拜師神馬)的情節,這裏主要考一個”巧“字。看你怎麼四兩撥千斤。
四兩就是上文提到的很多知識和技術點,千斤就是Boss提出的真實的場景。這時候就考驗你怎麼主動的轉化自己有限的基礎去解決實際問題。既然是”撥“這裏就不是真的完美完備的解決問題,只要答出自己的思維即可,要敢想敢說。
阿里終面的時候,面試官提到本地和服務器的緩存目錄校對。當時的回答是說有兩個.xml文件去維護,1個去維護本地和服務器文件是否修改的整體校對,另一個維護緩存文件列表,當然列表中會做分塊。這樣每次校驗時,服務器不用遍歷所有文件去檢查,只需要先很快校對第一個全局文件。如果有改變再去第二個文件的列表中尋找真正改變的文件並替換。
實際上這樣做可不可以呢?鬼才知道。
但是這樣回答讓他感受到你的思考是關注效率的,你的構思是嚴謹的。這樣就夠了。
再比如問到一些安全問題,這裏提到了系統是如何監控並信任第三方輸入法的問題。同時探討了支付寶自己附帶一個安全輸入鍵盤的意義等等。
總結起來,就是讓面試官看到你在平時是不是個愛思考的人,還有你技術的”巧“勁。
對於自己提問的環節,這正是一個讓表現你是如何瞭解應聘部門的機會。樓主當時關注華黎、子柳大神的微博知乎博客神馬的也有一段時日了。就他們博客中提到的一些日常工作和部門職能問題做了一些提問。問題雖然很簡單,但是無形中拉近了你和面試官的距離,讓他覺得你是個有心人。
對於自己提問的環節,這正是一個讓表現你是如何瞭解應聘部門的機會。樓主當時關注華黎、子柳大神的微博知乎博客神馬的也有一段時日了。就他們博客中提到的一些日常工作和部門職能問題做了一些提問。問題雖然很簡單,但是無形中拉近了你和面試官的距離,讓他覺得你是個有心人。
參考學習資料:
1.對於Java基礎甚至是初步進階《Thinking in Java》這本書絕對夠了。它會很自然的解釋那些我們總是死記硬背還老答不出的知識點,解釋它們爲什麼是那樣。五星推薦。
2.java併發編程的起步可以從併發編程網開始(1中也有講),進階可以看《java currency in practice》這本書,很多搜來搜去都是錯誤答案的問題在原版書中都有權威的答案。
3.Android性能調優,強推http://www.trinea.cn/android/ @Trinea的博客(其中還有很多別的寶藏)。如果有人在GitHub關注過一個Android開源項目大集合就知道他了(作者)。
4.如果是複習Android基礎知識推薦《Android程序員高薪之路》(名字很挫,但是書很好)
5.最後推薦講解面試的書《劍指Offer》
======================================================================
面經拖了好久好久好久省略號好久....今天終於寫完了。
最近第一批招聘公司的Offer陸續發完了,有很多人說自己的同學好像不怎麼樣啊怎麼拿到了,或是自己的同學很厲害啊卻沒拿到。
這裏引用一個清華大碩博客裏的一句話(爲3面諮詢他還給我回了好長的郵件,最後去了網易遊戲 = =)
“面試不是爲了尋找一個完美的人,而是尋找一個能和大家一起高效工作的人”
等待Offer是難熬的,但是拿到Offer又覺得也就just so so..就好像你一路蝴蝶大炮加聖劍推了別人老家,可是下一盤又是新的開始,不知道是不是能800開局,是不是能控到第一個F,是不是會匹配到更強的對手.....
下一局,又是新的開始。
想感謝很多很多幫助過我的人,但是他們貌似都不玩人人 = =....希望我的經驗也能幫到更多的人!
轉自:http://blog.csdn.net/u011843634/article/details/25710305