金九銀十,三面小廠Unity開發(fā)失利,我到底敗在哪里?
前言
大家好,又到了金九銀十招聘季了,相信經(jīng)過上半年疫情的影響,大家都已經(jīng)開始對新的工作蠢蠢欲動了。
那么,作為一名資深的游戲開發(fā)er又該如何把握好這次的機會呢? 今天阿博就來給大家整理分享一下自己近期的面試內(nèi)容。《請仔細(xì)看、仔細(xì)學(xué)》
剛?cè)?月份的時候,打算出去面面試順便看看行情,于是阿博從各大網(wǎng)站上搜索新的unity面試題,花幾天看完之后信心滿滿,傲嬌的走進(jìn)了小廠公司面試!

結(jié)果呢,可想而知,正經(jīng)面試的時候一個都沒考到,還考的巨墨跡,給的工資還低。
于是我重新合計,一定是公司問題,還是多去面幾家試試看...
這幾天又開始了新一輪的面試,結(jié)果發(fā)現(xiàn)考的竟然都是之前網(wǎng)上流傳的那些unity面試題,哈哈,感覺這次穩(wěn)了! 哈哈哈...

嗯,這道我看過,哈哈 答案是...
臥槽! 我記不清了......
然后,對不起,各位,我又順拐了!

其實面試的大部分我之前復(fù)習(xí)都看過相關(guān)的知識點,主要在于自己沒有記牢,加上回答的時候描述的模糊不清...
后面又繼續(xù)面了幾家才發(fā)現(xiàn)問的基本也都是那些問題......
所以,大家還是努力復(fù)習(xí)好unity的基礎(chǔ)吧。
哇!我好后悔啊啊啊啊?。?!

不過,既然都說到這了,那我就來給大家梳理一下這次我遇到的Unity重點面試題型吧!
廢話就不多說,直接整活,開始

================================================================================================
1.TCP和UDP的區(qū)別
TCP和UDP是TCP/IP協(xié)議簇中傳輸層的傳輸協(xié)議
Tcp是面向連接的,可靠地的,面向字節(jié)流的傳輸。TCP在連接時需要三次回收,在斷開時需要四次揮手。TCP的鏈接是點到點的鏈接。Tcp收到的數(shù)據(jù)保證順序,TCP有著擁塞控制,超時重發(fā),丟棄重復(fù)數(shù)據(jù),檢驗數(shù)據(jù)等機制。
UDP是面向數(shù)據(jù)包的,不可靠,包頭簡單,傳輸速度快??梢砸粚σ?,一對多,多對多,多對一發(fā)送,無需建立鏈接,沒有擁塞控制,即使網(wǎng)絡(luò)擁塞了也會不斷的發(fā)送數(shù)據(jù)。目前在實時應(yīng)用中,如游戲直播等,雖然UDP不可靠,但是得益于網(wǎng)速的提升以及可以自己編寫重傳機制來保證UDP的可靠性。
2.Http和Https的區(qū)別
簡單來說,Http屬于明文傳輸,不安全,https屬于加密傳輸,較安全。
http是無狀態(tài)的連接,通過銘文傳輸,信息可能被攔截,篡改等等。HTTPS是HTTP的安全加強版,HTTPS 協(xié)議是由 SSL+HTTP 協(xié)議構(gòu)建的可進(jìn)行加密傳輸、身份認(rèn)證的網(wǎng)絡(luò)協(xié)議,比 http 協(xié)議安全。
3.Animation和Animator的區(qū)別
Animation需要通過代碼手動控制動畫的播放和遷移。而Animator擁有有動畫狀態(tài)機,可以通過動畫狀態(tài)機來設(shè)置動畫之間的狀態(tài),并且可以為單個動畫設(shè)置腳本代碼來控制事件。
4.MonoBehaviour的生命周期
基礎(chǔ)的生命周期有
Rest->Awake->OnEnable->OnStart->Update->FixedUpdate->LateUpdate->OnDrawGizomo-OnGUI->OnDisable->OnDestroy->OnApplicationQuit
5.類和結(jié)構(gòu)體的區(qū)別?使用環(huán)境?
結(jié)構(gòu)體是值類型,類是引用類型。結(jié)構(gòu)體存儲在棧中,類存儲在堆中,棧的空間小但是訪問快,堆的空間大但是訪問速度較慢。
結(jié)構(gòu)體不能繼承,不能創(chuàng)建默認(rèn)構(gòu)造函數(shù)和析構(gòu)函數(shù)。結(jié)構(gòu)成員不能指定為 abstract、virtual 或 protected。結(jié)構(gòu)體的構(gòu)造函數(shù)必須為所有值賦初值。
結(jié)構(gòu)體一般存儲較為輕量的數(shù)據(jù),類一般存儲具有較為復(fù)雜邏輯結(jié)構(gòu)的數(shù)據(jù)。
使用環(huán)境:
(1)當(dāng)堆棧的空間很有限,且有大量的邏輯對象時,創(chuàng)建類要比創(chuàng)建結(jié)構(gòu)好一些;
(2)對于點、矩形和顏色這樣的輕量對象,假如要聲明一個含有許多個顏色對象的數(shù)組,則CLR需要為每個對象分配內(nèi)存,在這種情況下,使用結(jié)構(gòu)的成本較低;
(3)在表現(xiàn)抽象和多級別的對象層次時,類是最好的選擇,因為結(jié)構(gòu)不支持繼承。
6.有一本牛津詞典,現(xiàn)在輸入一串字母組成一個單詞,怎么樣快速查詢詞典中是否有這個單詞。
使用樹結(jié)構(gòu)來存儲詞典的單詞,以字母為順序分別放在相應(yīng)的子樹中。然后根據(jù)輸入將字母從左到右分級并根據(jù)樹的結(jié)構(gòu)依次查詢。
7.在一段文本中,有許多"{}"和"[]"和"()",判斷這段文本中的括號是否使用正確?
如
if(sss){
asaasdasdas}是合法的。
if(asa
{}是非法的。
使用棧的結(jié)構(gòu)進(jìn)判斷,將所有括號依次入棧,當(dāng)一次入棧是右括號時判斷之前的棧頂是否是對應(yīng)的左括號,如果是說明合法,將之前的左括號和現(xiàn)在入棧的右括號都出棧。然后繼續(xù)將新的括號依次入棧,當(dāng)有一次入棧非法即可判定非法,或者知道最后全部判定合法則判定該文本合法。
9.棧和堆誰比較快?為什么?
面試官問區(qū)別還答出來了,問誰比較快的原因就懵了。。
(1)棧有專門的寄存器,堆是隨機內(nèi)存。
(2)棧是在一級緩存上運行的,而堆是在二級緩存上運行的。
(3)訪問棧上的數(shù)據(jù)只需一次,而訪問堆上的數(shù)據(jù)需要兩次,先訪問棧,再訪問堆。
10抽象類和接口的區(qū)別?
抽象類和接口都不能實例化。
抽象類可以有抽象的的方法和未抽象的的方法,可以通過子類來重寫。抽象類主要是子類的通用結(jié)構(gòu)。
常量、字段、運算符、實例構(gòu)造函數(shù)、析構(gòu)函數(shù)或
類型、不能包含靜態(tài)成員。接口不能有實現(xiàn)的方法。接口主要是作為規(guī)范來使用。
11.值類型和引用類型的區(qū)別?
12.Update和FixedUpdate的區(qū)別?
13.常用的數(shù)據(jù)結(jié)是?
14.對象池使用什么數(shù)據(jù)結(jié)構(gòu)構(gòu)建?
15.我回答用List后面試官就不干了,非要問我為什么不用字典。
(當(dāng)時的想法:人家Unity官方大會都用的List,你非要我用字典。。)
然后問:List和隊列的區(qū)別?
隊列從隊尾,隊首和中間出隊的區(qū)別是什么??
先說字典,其實本意上是差不多的,我的想法是在輕量級的對象池情況下,直接將所有物品存儲在對象池中,取出的時候for循環(huán)遍歷,查找相同名字時就可以取出。
面試后我查詢字典對象池才明白面試官的意思。
private static Dictionary<string, ArrayList> pool = new Dictionary<string, ArrayList>{ };
通過一個字典維護(hù)所有對象池,根據(jù)名稱種類來直接從分類好的數(shù)組列表中取出一個即可。也可以使用隊列。
16.協(xié)程和線程的區(qū)別?
17:棧和堆,誰比較快,為什么
棧:Stack,容量較小,由內(nèi)存維護(hù),申請速度較快,但不受程序員控制。主要存儲代碼執(zhí)行或調(diào)用的路徑。棧只能從最頂層取。棧中數(shù)據(jù)被調(diào)用完畢后會被清除。
堆: Heap,容量較大,使用方便,申請較慢但容易產(chǎn)生內(nèi)存碎片。堆負(fù)責(zé)保存對象和數(shù)據(jù)的路徑。堆可以從任意位置存取。堆的數(shù)據(jù)被調(diào)用完畢后不會被清除,只有系統(tǒng)執(zhí)行垃圾回收時才會清除沒有引用的數(shù)據(jù)。
值類型數(shù)據(jù)總是被放在他被聲明的地方,比如在類中聲明的全局值類型,類是引用類型,會被放在堆中,因此類會被放在堆中,進(jìn)而值類型也會被被放在引用類型中。而如果是在方法中聲明的局部值類型數(shù)據(jù)則會被放在棧中,因為方法會被放在棧中。
指針,在c#中,引用類型是指此類型數(shù)據(jù)是通過指正來引用的,指針是它指向引用類型,指針可以被放在棧中或堆中。
嗯哼!這些題型大家都感覺咋樣,如何?
如果連這些都還沒掌握好,大家就貿(mào)貿(mào)然去面試就得多注意了!
多半是去給人家HR送KPi的,浪費時間,再面試不上,心里的打擊可就不是一般大了??!

所以,量力而行,重頭開始好好復(fù)習(xí)吧!
這里,也給大家分享一份我自己整理的unity實戰(zhàn)面試開發(fā)合集:

以及爆款的項目實戰(zhàn)合集:

image.png
關(guān)于游戲服務(wù)器開發(fā)的一些整理的資料:

今天特例免費分享給大家了,希望大家也都能早日找到心儀的工作,迎娶白富美,走上人生巔峰!

那阿博阿博,怎么才能拿到面試資料啊?
嗯!忘記說了,哈哈,點贊后評論區(qū)留言或私信:面試?就可以了,再說一遍點贊、評論私信就OK了!
那今天的面試分享就到這里了,過兩天再給大家出個關(guān)于Cocos的,還有還想看的朋友可以點關(guān)注,不迷路。
下篇再會,敬請期待!
