技術宅男如何拿到國內IT巨頭的Offer

才智咖 人氣:2.62W

請記住,校園招聘,應聘的絕大部分人都只是才出象牙塔的毛頭小子。企業需要的是你們的潛力與激情。牛人總是鳳毛麟角的。程式設計師筆試面試的經驗貼、經驗書不計其數。本文不會教你如何具體的解題,但是會告訴你,你距離你的夢想究竟有多遠,以及如何去縮短這個距離。

技術宅男如何拿到國內IT巨頭的Offer

筆者僅僅以自己的親身經驗為依據,將國內IT巨頭按Offer到手難度降序排列,大致分為如下3個梯隊:

T1:百度,阿里,騰訊,…

T2:網易,迅雷,完美時空,360,金山,…

T3:華為,中興,聯發科,…

Tx:壟斷類IT國企。如中國移動,…

T1主要是BAT三巨頭。他們對學生的技術能力與綜合素質都要求較高。他們尤其喜歡尋找牛人。因此你必須有紮實的基礎的同時還要有自己的技術個性和特點,讓他們欣賞你。這些公司無論是實力還是待遇都是一流的。但要注意這類公司太大,專案組太多,競爭也很激烈,因此要注意認真考慮你想去,而且對你而言有優勢的專案組。

T2都是其所在領域的領軍企業。待遇會比T1稍低。他們需要基礎紮實的學生,如果你的專案或者技術方向符合他們所在的領域會很有優勢。(如遊戲領域偏愛圖形學,安全領域偏向安全方向)

T3對學生的出生、資質最為看重(雙211,四六級),甚至對性格有較為挑剔的考察(華為的性格測試反而刷掉很多技術較牛但是性格較怪癖的學生),專業考察的很基礎,但考察面較廣。

Tx之所以給了個x,是因為他們和其他的企業無法比較。因為這類企業筆試考行測+專業基礎。面試考察綜合素質、表達能力,尤其看重你的非技術方面的能力。因此不做本文的重點討論。

無堅不摧——完整專案

“當他說他是OpenCC的作者的那一刻,哪個面試官不被秒殺。”

當然你不需要NB到這個程度。如果你能對面試官說:“我讀書期間做的專案有x萬行程式碼。Google關鍵字xxx可搜到該專案的演示視訊”,就足夠了。

程式設計師的所有技術能力都能在一個完整的專案中得到淋漓盡致的體現,因此勝過千言萬語的自我推銷。所謂的完整專案應該滿足以下條件:

1、完整性。具有一定的功能,或者解決了某個問題,具有一定意義。

2、難度。 使用或者研究了一些較新技術,或者有一定價值的技術含量或研究內容。

3、工作量。是一個需要澆築一定心血的產出品。

因此,當你決心把一個專案寫入你的簡歷中,你就一定要能回答出面試官的如下問題:

1、你負責了哪一塊?

這個問題是想知道這個專案裡究竟有哪些程式碼是你寫的,尤其是多人合作的專案。你必須強調你所做的工作。

問題就出來了。很多時候我們參與的專案,他的架構、核心技術你並不熟悉,而僅僅是寫了部分邏輯程式碼,那怎麼辦呢?

解決辦法是,花時間去了解專案的核心,對專案的整體有清晰的認識,至少要達到能夠表述的很清楚的程度(簡單的說就是能吹的很有說服力。回想你答辯的情形)。

如果你做的那一塊確實微不足道,而且你也無法表述專案全域性,那就放棄提及這個專案吧,否則只能讓面試官越看你越覺得銼。

2、你用到了哪些技術?

這是最好發揮的一個問題。你可以介紹專案用到的每個開源庫,也可以介紹你用到的原始碼管理工具(如SVN、GitHub),除錯工具(如WinDbg)

甚至專案管理工具(UML工具、VS Project等)。總之,這是一個很好表達你的專案綜合能力的機會。

如果上面的都不出彩,那嘗試從你的專案架構、設計模式、介面設計等方面入手。總之要站在一個較高的角度,空談專案的業務需求和邏輯意義不大(當然,充滿創意的專案除外)

3、你遇到的最大問題是什麼?如何解決的?

這個問題是最重要的,也是最具有回答技巧的問題。你必須說出一個聽起來確實很難解決,但你確實又解決(或者避開)的問題。

如果你實在沒有頭緒,或者你覺得專案確實太簡單,沒發現困難問題,不妨從這些方面思考:

有網路功能的專案,考慮網路傳輸效率和網路同步等問題;

有多執行緒、多程序的專案,考慮他們之間的同步/互斥、負載、排程問題;

需要處理大資料的專案,考慮資料預處理、資料排程等問題;

如果這個專案出了論文,那麼嘗試描述論文解決的問題;

你解決問題的渠道,如MSDN、CSDN、開源社群的論壇、國外技術論壇、文件手冊等。

面試官想要聽到的,是你發現問題、分析問題、尋找解決方案、最終解決問題的思路與方法。細節並不重要,因為他也未必能完全弄懂每個技術細節。

總之,一個完整的專案能讓你充分的表達你的技術能力。在專案這一塊上,你需要下足功夫。

如果很不幸你沒有,那麼請往下看。

深厚內功——堅實基礎

一般第一輪技術面都是來考察你最基本的技術功底。

招聘季節,隨處可見抱著厚厚的《程式設計師面試寶典》啃的學生。偶爾也能看見《程式設計之美》《劍指Offer》的神書。這些經驗書確實有用。但是要想全面的掌握筆試面試的基礎考點,還是需要完整的複習。

其實,筆試面試對計算機基礎的考察是萬變不離其宗的。其考點無非分為:

語言語法(以C/C++為例)。

指標(陣列),函式指標,操作符運算順序,const(常指標與指向常量指標),static四大用法,字串(字元陣列),位元組對齊(sizeof)。秒殺書籍:《C++ Primer》

物件導向。

構造與析構順序、多型、過載、覆蓋、C++物件模型等。秒殺書籍:《深入理解C++物件模型》。

資料結構。

棧,佇列,連結串列(雙向、迴圈),樹,堆,雜湊表。

基本演算法。

排序(最重要的是快速排序)、查詢、圖演算法、貪新演算法、動態規劃。秒殺書籍:《演算法導論》。

設計模式。

考察最多的就是單例模式。只因為他實在是太常見又太簡單了。秒殺書籍:《設計模式》,《重構》。