「不拼搏,枉少年!」—網易遊戲程序員
寫在前面:先介紹下本身的狀況,末流985大學本科生一枚,全院人數200+,個人成績排名在170左右(校招開始的時候仍有一科掛在樹上,如今已經補考過了),英語4級。僥倖得到了幾個遊戲公司的offer,最後和網易遊戲簽約。「遊戲」陪我走過了人生中最值得回味的時代。懵懵懂懂的童年,在面對這個複雜繽紛的世界,遊戲成爲我瞭解這個世界的窗口。《魂鬥羅》,讓我知道了什麼是「合做」;《赤色要塞》,讓我明白了什麼是「任務」;《超級馬里奧》,然我知曉了什麼是「責任」……有太多的遊戲,太多的記憶。遊戲爲我打開了一扇大門,一種新的方式去看待世界。正所謂人生如戲,只是咱們沒有機會重來。因此我很熱愛遊戲!面試
廢話到此爲止,寫這篇日誌之類的東西,是爲了分享遊戲求職經驗給學弟學妹們(響應某人的號召,哈哈),攢RP用的。算法
前期準備:編程
按照慣例,各大IT公司會在大三下學期開展暑假實習生的招聘工做。這對要找工做的同窗來講是很重要的,即便未來你不在你實習的公司工做,這實習經歷也會給你加分的。有的學校會統一安排學生去某公司實習。若是你讓你的簡歷更好看一點,那麼去著名的IT公司實習是個不錯的選擇,傳說中的BAT(百度、阿里、騰訊)。固然若是實力夠強大,微軟、Google、Facebook之類的國際大公司更好。在實習招聘過程當中,你還能鍛鍊各類技能。這些技能在之後的應屆生招聘中也有好處。前提是:你要有清晰的目標。你要有清晰的目標(工做崗位、工做內容、本身擅長)。你要有清晰的目標。你在實習以前瞭解本身的興趣點是最好的,而後又針對性的複習知識,這樣會更有效一點。固然,實習還沒目標的同窗也不用擔憂,你能夠一邊實習一邊找感受。可是在應屆生招聘的時候,你就要作出選擇了。數組
請用半年的時間來面試本身。若是你不知道本身努力的方向,企業的招聘要求是一個很好的參考。相信你們對應試考試已經可以應付自如了,這裏的招聘要求就是一個大綱之類的東西。從它你能知道企業但願你能有什麼樣的技能,接下來的,就是努力了。在知乎上我看到過一句話以爲很不錯,「以大多數人的努力程度之低,根本輪不到拼天賦」。下面是網易遊戲的招聘要求。網絡
第一條學歷這種硬性條件咱們能夠忽略(本科也行,只要你達到個人要求)。網易要求你精通C++(要求應屆生精通,這絕對是HR寫的),很明顯他要求你的C++能力要達到必定的水準。通常來講,你把《C++ Primer》《Effect C++》這兩本書啃透,在面試上就不會有太大的問題。面試官也不會指望一個應屆生可以「精通」C++。要對本身有信心,這很重要。接下來,你要熟悉數據結構、算法和操做系統。通常來講CS專業相關的專業學生都會學習這方面的知識。可是不要覺得這樣就好了,學了和會是兩個概念。碼農應有的覺悟就是要動手寫代碼。對於操做系統,課件就足夠了。對於數據結構和算法,這須要真正的動手去寫代碼,動手去寫代碼,動手去寫代碼。《算法導論》你能啃多少是多少吧。對於非ACMer的學生來講,練習碼代碼的能力顯得尤其重要。線上的OJ系統是個不錯的選擇(著名高校OJ,我就不明說了)。對於找工做的人來講,還有一個很棒的練習網站LeetCode。這上面有不少公司的面試、筆試題(我遇到過原題)。咱們不要期待原題的出現,更重要的能力、思惟的提高。在暑假我在上面刷了200題,收穫頗豐,見識了很多好的題目和解題方法。這個網站是面向全世界的,因此有不少程序員在上面練習,他們會給出不少讓人感到很是精妙的方法解題。至於後面的幾點,這就須要經過一些事來體現了。好比你在學習、項目過程遇到過什麼困難,你是怎麼想的,你是怎麼解決的?因此,好的項目經驗也很重要。數據結構
關於項目,對於大部分本科生來說是可遇不可求的。可是咱們不能坐以待斃,沒有項目,創造項目也要上!針對遊戲,尤爲如此。你說不會美術,網上的素材不少;你說你怕侵權,僅供學習之用(不用發佈出去);你說你不會作遊戲,學啊!Unity3D,cocos2d-x這麼好的遊戲引擎。不要在意你本身作的項目有多小,感受多幼稚,你已經比那些沒有的人領先了。路漫漫其修遠兮,上下而求索。架構
接下來就是加分項,針對遊戲,那天然是程序員的三大浪漫之一的圖形學了。沒有捷徑,啃書+寫代碼。其實我以爲《OpenGL 超級寶典》、《遊戲引擎架構》、《3D遊戲編程大師技巧》這些書還不錯。數據結構和算法
我假設你基礎已經準備好了,在真正去面試以前,你沒有實戰經驗,怎麼辦?高考以前咱們還有往年考題、模擬題呢!沒錯,就是練習重點練習高質量企業的往年筆試、面試題。從這些題中,你能夠檢查你知識點中的不徹底的地方。以及企業喜歡檢查的知識點有哪些。你就能夠針對性複習了。這個時候若是你有大面積的知識點不會,那麼就是你前一個階段作得很差了。這個時候只能經過一些臨時抱佛腳的方法來彌補了。詳見《劍指offer》《程序員面試指南》之類的書籍。ide
筆試的成績也是很重要的,不要忽略。對於微軟、網易遊戲這類公司,就靠難題來刷人。因此你們必定要作好準備。至於有多變態,你們能夠去這個網站(www.hihocoder.com)看看。網易遊戲和微軟的招聘的筆試都在這個在線平臺上。下面截圖是2016校招的筆試的一些狀況你們能夠了解下。從這些中數據咱們能夠直接看出一道題的難度。經過率:50%-100%難度爲易,30%-50%難度爲中,10%-30%難度爲難,0%-10%難度超難。微軟筆試題爲2個半小時,網易遊戲爲3個小時。你們能夠本身去試試。
其餘公司的筆試題我就不贅述了。總結:練、練、練。
總的來看遊戲公司對計算機基礎知識,好比計算機網絡,操做系統,數據結構和算法,程序的連接裝載等等都會有不一樣程度的考查,另外就是對C++要至關熟悉。而二面的時候又會考查一些常見的遊戲算法,對遊戲引擎的使用和圖形學基礎並無嚴格的要求,不過有基礎的話更好。
下面是我在面試遊戲公司過程當中遇到過的問題,我不會給出答案(沒有標準答案)。
C++:
網絡:
算法:
遊戲相關:
最後還有一個小問題,是我在學習過程當中遇到的,給面試官講事後,感受不錯。我曾經寫過一個排序算法的演示程序,在過程當中遇到一個問題,其餘排序算法是本身寫的,能夠很容易的記錄數據的變化過程,可是有關STL裏面的sort這種排序算法就犯了難。你們能夠想一想怎麼作才能知道sort內部具體是怎麼排序的。
上面的那些面試題,你不要指望會遇到原題。我沒有給出答案,你們若是感受答不上來,能夠問問本身是否是本身哪方面還欠缺。這些都是基礎問題,答不上來就有很大可能那方面知識沒有掌握好,繼續努力吧。
一家之言,但願你們都經過本身的努力能找到一個好工做!
--燃燈