java游戏服务器面试_我做游戏开发这八年
生活随笔
收集整理的這篇文章主要介紹了
java游戏服务器面试_我做游戏开发这八年
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
點擊上方“CSDN學院精品課”,選擇“置頂公眾號”
CSDN學院精品課? IT人的職業提升平臺
作者 | kakashi8841
簡述這篇文章并不是想教會大家如何開發游戲,更不能教大家如何成為技術總監。而是分享我一路做開發的一些經歷或心得體驗。與編程擦肩而過2004年,初三升高中時,因為我考上市里最好的高中,因此父母兌現承諾給我買了一臺電腦。那時候電腦配置還是挺好的(我記得是P4的CPU、1G內存、80G硬盤、優派的液晶顯示器,還買了打印機、掃描儀)。由于我熱愛游戲,因此有了電腦之后就開始陷入于各類游戲中無法自拔。基本每天晚上通宵玩游戲,玩到凌晨5、6點睡1-2個小時,然后去上學。基本高一玩了各種游戲,然后成績自然也是一落千丈。到了高二的時候,因為我表姐夫是做美術設計的,因此我開始接觸了Photoshop、Coredraw這兩個軟件。我一邊瞎畫著各種東西,一邊想如果能讓這些也動起來多好。因此開始接觸了Flash。開始在網上看看各種Flash的教程,能做一些動畫,能用按鈕控件控制一些流程,也了解到AS2這一門語言,然后在網上找了各種酷炫的AS2代碼加到自己的Flash里面,實現比如鼠標跟隨的特效等等效果。這時候其實我還不會獨立地寫代碼。由于高中各種的不務正業。從中考數學全市前幾名,到最后高考沒考上重點大學,這其實也是我預料中的。因為本來我就不是一個相信運氣的人。那時候我只想快點脫離高中,可以更自由做自己喜歡做的事情。因此也沒有選擇復讀。從圖像設計到癡迷編程入門編程進入大學之后,我參與了好幾個社團,成為各個社團網絡部的成員。然后接下來的事情就是社團搞活動經常需要一些海報什么的。因此我高中自學的Photoshop和Coredraw就派上用場了。大一基本就是做了一年各種圖像設計的工作。而從高中到大一帶來的各種突如其來的自由,也使得我繼續沉浸在各種游戲中。到了大一的暑假時,校團委突然找網絡部幫忙做網站,而師兄們準備畢業的、準備考研的,都沒啥時間。因此這重任落到了我一個人頭上,我也不知道那么多成員為啥選中了我,也沒想那么多。我暑假放假前1個月,外加暑假2個月,整個3個月時間開始瘋狂學習HTML、CSS、Javascript、PHP、MySQL,然后3個月時間從學習到開發完成了校團委的任務,制作了一個CMS網站。這三個月時間讓我覺得編程原來這么有趣。沉迷編程接下來大二的時候我就陷入了瘋狂的學習和開發之中,最瘋狂的時候一天在圖書館借一本PHP的書,當天借當天看完,晚上再自己把那本書最后的例子實現了,然后第二天再去換書,就這樣我很快把圖書館所有PHP的書都看完了。書中的例子也都能自己寫出來。然后開始接了很多外包,也快速賺到了第一個筆記本的錢。Java的圖形編程由于大二做了很多的網站,已經覺得有點厭倦。進入大三,剛好我們有一門Java的課程,我看到Java可以開發圖形界面(Swing/Awt),因此開始轉向學習Java。我大概花了2-3周把學校發的Java書看完了,并且把里面的示例也都自己敲了一遍。基本沒有障礙的完成了Java的學習。但是書本里面關于圖形界面的太少了,只介紹了最基本的一些控件以及做一些簡單的界面。因此我開始自己在網上找各種資料。這時候室友告訴我“Java做圖形不好看的,還不如C++不如C#,等等”。我就偏偏不信了,我依舊進行自己的學習和研究,而他也依舊站在他認為的鄙視鏈頂端鄙視我。就這樣,他學習他的SSH,而我學習著不入流的Swing、Java3D等。其實我那時候的心理:為啥你覺得他不行他就不行?我得自己實踐過才知道。實踐出真知,我覺得這是做技術一個很重要的特質。很多時候,很多東西大家只是憑經驗人云亦云地傳播,并沒有親自實踐過。而我那時候還有一個心理,哪怕最后我花了很多時間之后做出來的東西確實不好看,那我也不虧,我在這個過程中肯定是能學到東西的。很多時候很多人會比較看重眼前做的事情收益如何,回收周期多長。但是我覺得,很多值得學習的知識都是回收周期很長,而且眼前收益很低的。對于我而言,我更多的是基于興趣去學習。我覺得這就足夠了。最后的結果就是,我用Java開發出來的東西,他們覺得太好看,根本難以想象是Java開發的。這里有一些大學用Java開發的圖形程序。1. swing超絢麗系列一—— 俄羅斯方塊(https://kakashi.blog.csdn.net/article/details/7338836)2. 純Java開發的游戲引擎V0.5–DEMO2 – 物理引擎(https://kakashi.blog.csdn.net/article/details/6397051)3. 雜七雜八的東西(https://kakashi.blog.csdn.net/article/details/6181486)就職游戲開發2011,第一次面試&實習生2011年初,不知不覺到了大四第二學期。本來我還不想這時候去找工作,因為此時我覺得還有很多事情想做,比如那時候我還在用Java自己做一個3D游戲。但是大四寒假的時候,有個同學發了一個網頁游戲公司的招聘鏈接給我,說這個公司還不錯,我看了一下招聘要求,感覺自己符合要求,于是就順手投了個簡歷。其實投簡歷之前,那時候北京GLU有位前輩想讓我畢業后去試試。還有另一家互聯網公司也是讓我畢業后去工作。主要在于我大學期間經常在各個技術QQ群里幫大家解決問題,最開始他們以為我應該工作了幾年,后來知道我還在上學,因此就想我畢業后去他們公司工作。后來肯定是我投的簡歷的公司讓我去面試了,那天從下午2點面試到下午6點。從HR、主程序、制作人到CTO都面了。CTO面試的時候網絡的BIO、NIO、多線程的安全問題如何解決也都問了。最后CTO說“你簡歷里寫的都是Java做的圖形界面,我們這Java都是做服務器,你接受做服務器嗎“,我怕服務器又是做網站,于是問他”服務器也是做游戲嗎“,他說“肯定是做游戲。我們做的是網游”。因此我就說“可以呀,只要是做游戲就好。”于是CTO接著說“你進我們公司肯定是沒問題的,估計過幾天會給你發Offer,你也不用去面試別的公司了”。因為我個人也懶得比較,既然CTO也那么說了,我就沒去面試別的公司,在同學那玩了一周,一周后就入職了。記得那時候CTO還問過我一個問題“你說你這么喜歡寫代碼, 你想寫到幾歲”,我說“30歲吧”。他問我為啥只寫到30歲。我說那時候可能我是技術總監了。就不用寫代碼了。后來我30歲的時候,成為了技術總監。但是我還是喜歡寫代碼。其實興趣是可以一輩子的。我也不知道為啥面試那時候那么回答了。2011,第一個游戲剛進入工作比較緊張,總怕哪里做不好。第一周項目組說讓我去改一下服務器列表。我那時候壓根沒有遠程登陸過服務器改東西,主程就給了我IP、用戶名、密碼,以及網頁的位置。于是我趕緊自己搜索了各種資料,在接到任務的半小時內,我第一次用SecureCRT登陸服務器,第一次用VI在服務器上修改文件。接著幾天就是熟悉項目,我在服務器上自己找到了聊天的協議入口,然后加入了一些GM,給自己的賬號加了趙云、呂布這些牛逼的武將。幾天后,主程找我,說來的畢業生里面感覺你編程能力不錯,你想去做新項目嗎。我自然想體驗從0開發游戲的過程。于是就滿心雀躍地說“想!”。新項目開發的時候我充滿了激情,基本上第一周我就完成了背包系統的開發。那時候公司其他游戲的數據存儲都是同步的。主程就說,這個新項目估計用戶交互會比較頻繁和實時,同步存儲怕會卡頓。于是我那一周開發背包的時候,順便被服務器的數據存儲寫了個異步的存儲。(后面該功能還被公司其他那項目組引用),立項一個月后主程就去了騰訊。而我們項目本來是公司的嘗試性項目(公司其他項目都是SLG,而這個項目是RPG),因此也一直得不到重視,一直得不到重視。我們這項目加上我就2個服務器,開發了半年上線了。我對游戲業務非常熟,編程基礎也還行,因此開發速度很虧,一個人開發了70%的系統。那時候很多同學問我,你做那么多,公司給你加工資了沒有。我說沒有,他們說,那沒有你為啥做那么多。其實有的時候不是你在這個位置才能做這個事情。而是你有能力、主動地去做這個位置的事情,做多了你自然也就是這個位置的人。因為我覺得沒有哪個公司會愿意付出成本讓你冒險。項目上線的時候,公司也讓我成為了這個項目的服務器主程。那時候我距離實習才半年,一直怕自己做不好,因此一直很努力提升各種能力。由于我開發的功能Bug極少,而且出Bug的時候修改極快,因此項目組的測試負責人說我說最受測試歡迎的程序,直到后來她去了銀漢后遇到她,她還說她在銀漢和測試部說,曾經有個程序員這樣這樣…寫程序出BUG是常見的事情,想要減少BUG數量,要思維謹慎,業務熟悉,而想要修BUG快速,需要對所寫的東西都爛熟于心,我之前經常對別人說要做到代碼在心中。如果你寫的代碼你內心都很清晰,那么出問題的時候,很快就能定位到問題。這就像,你的代碼存在于內存中,查找肯定快。如果每次都是要去慢慢看代碼文件,那就像每次都檢索磁盤,肯定會慢一點。我之前好多個性能問題都是在走路和洗澡想到的解決方案,假如心中沒有代碼,又如何能做到呢?2012年,第二個重量級IP游戲12年初的時候,公司準備做一個ARPG項目,是星爺授權合作的游戲《西游降魔篇》,那時候公司從我們第一個項目的表現覺得我們項目組還是具備比較好的研發能力的,因此這個項目就給了我們項目組。一開始公司讓我做這個項目的主程序,我覺得我才畢業1年,我玩游戲很多,自知ARPG項目比我上一個RPG肯定要高。因此最開始希望公司能招一個經驗豐富的主程,我可以過去學習。公司也同意了,主程入職了一直在看天堂2的源碼,也拉著我看。我覺得天堂2的源碼存在很多問題。比如各種在“父類中判斷自己是否是某個子類”等。后來2個月過去了,連登陸都還不能登陸。因此制作人就問我,說你覺得他行不行。我也把我對天堂源碼的判斷說了一下。后來制作人說,要不還是你來當主程吧。那時候我覺得也行吧。反正本來想跟一個有經驗的人學東西,結果反而他老來問我各種東西,而且開發進度也很慢。于是我就答應了。然后我又重新開始搭框架。第一周花了時間把網絡、副本采用的線程模型搭好了。第二周CTO帶著我做了場景。第二周我們已經可以多客戶端同步移動、怪物有了簡單的AI和普攻了。而且我為了減少和客戶端連調的不便,還自己用Swing寫了一個圖形界面,用于顯示服務器當前地圖中各個角色的位置。(所以說,假如我大學的時候很功利地覺得學習Java的圖形開發性價比不高,那么這時候我肯定沒法自己快速完成這個工具)這個項目我們花了9個月上線。作為公司第一個ARPG項目,其實也很快了。項目上線后玩的人挺多,那時候單物理服導量的時候有6000人同時在線。不過這個游戲收費沒有調起來。2013年,轉戰手游與創業西游降魔篇調了整整8個月都沒把付費調起來,甚至越來越差。從最開始每月單服的700W變為幾乎沒有。此時已經是2013年中,我建議公司可以使用Unity3D(其實12年底已經說過一次,制作人說次年可以申請看看)開發手游,但是公司的戰略明顯還是在頁游,因為公司靠頁游已經做到借殼上市,不愿意也覺得沒必要去踩手游的坑。公司唯一一個和手游有關的部門其實是把頁游項目通過AIR發布為手游。這樣出來的手游性能堪憂,而且體驗也沒有做針對性優化。于是在2013年8月,我就辭職自己去創業做手游了。自己創業肯定面臨的是資金問題,短缺的資金不可能請得了很多牛人,因此我自己又開始做起了Unity3D客戶端。把戰斗等最核心的東西都自己扛下來。我們2策劃、2程序、1美術從立項到做完Demo花了大概3個月,然后開始拿著手機去演示DEMO,去找投資。那時候的DEMO是用Unity3D做了一個2D游戲。因為我們唯一的美術人員比較擅長畫畫。Demo可以在這里看到:第一個Unity3D 的Demo(https://kakashi.blog.csdn.net/article/details/29365329)。我們大概找了4個投資人談,最后確定了投資。2014-2015,第一次創業就像上面說的,創業資金的短缺,而且那時候Unity3D人員的稀缺,導致我們想找一個牛逼的人員根本不可能,因此我只能自己扛下戰斗、Shader等核心的工作。那時候白天寫服務器,教新人寫代碼,一行行代碼地邊敲邊講,晚上寫客戶端,最瘋狂的幾個月基本睡公司,凌晨5、6點入睡,早上9點半起來。那時候我用Unity3D,也只是為了為公司省成本,也沒想什么太多的東西。結果也正是這段經歷,使得我后來成為了另一家百人公司的技術總監。所以我還是挺相信一句話:但行好事,莫問前程!最后創業肯定還是失敗了,其實還是因為團隊成員的不成熟。因此在2015年中的時候,經過了幾輪調整和測試后,由于測試結果表現不理想,我們就結束了創業。我并沒有對這次創業感到后悔,畢竟那是一次寶貴的經歷。而且整個創業過程也都是很充實,很開心。2015,西山居和多益網絡創業結束后我覺得想找個公司積累一下。那時候只面試了珠海西山居和多益網絡,西山居劍網3項目組也希望我過去,但我覺得我就是因為懶,最后選擇了繼續留在廣州的多益網絡。我學習可以很努力,但是對于公司的選擇卻經常是很懶。2016-2018,第二次創業在多益做的時間不長,基本過了試用期,以前第一家公司的制作人就找我創業。并不是因為我個人喜歡創業,其實我只想做一個成功的游戲,能被大家認可的游戲。那時候出去創業,更多是因為這位制作人以前對我不錯,也是因為他我才能剛畢業就當上主程,因此這次創業,其實更多的還是報恩。這次創業的結果無疑還是失敗的。2018至今,360游戲藝術(豈凡網絡)技術總監2018年4月,由于以前帶的一位程序的推薦,我便去了360游戲藝術擔任技術總監。這時候剛好30歲,正好和剛畢業實習的時候自己說30歲可能會當上技術總監。實現了自己當初不假思索的一句話。但是回想起來,我這一路并沒有為當技術總監去做任何刻意的學習與準備。只是我一路以來學習的都是自己喜歡的,做的都是自己喜歡的,而且該公司正好需要我目前擁有的能力而已。這也是我最后想和大家分享的,有的人會問怎么才能當主程,怎么才能當總監。我覺得不管當什么職位,重要的就是為公司解決問題,你能解決什么樣的問題,你自然就能勝任什么崗位。而有很多舍本逐末的做法,其實看似近路,最后都是無盡的彎路。我覺得做什么都不重要,重要的應該想想,自己能為游戲這個行業做什么,平常應該怎么提升自我去成為行業真正渴求的人。當然我從任該崗位以來,一直也覺得自己還是做的不夠好,也還在一直努力提升自己。今天正好有空,謹以此文,獻給所有想為自己所在行業做點貢獻的小伙伴!希望一起努力,共勉!??吊打 IE、Firefox,谷歌 Chrome 十年封神記
??鴻蒙霸榜 GitHub,從最初的 Plan B 到“取代 Android”?
? 年薪10萬,如何積累人生的第一個100萬?
你點的每個“在看”,我都認真當成了喜歡 創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的java游戏服务器面试_我做游戏开发这八年的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 京东方与创维合作推出Q53系列壁纸电视:
- 下一篇: 死囚被处决前的最后一餐 都要求吃些什么?