最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

創(chuàng)客說V01:零經(jīng)驗(yàn)U3D學(xué)員面試訪談

2022-09-19 18:34 作者:獨(dú)立游戲人-老雷  | 我要投稿

前言

  • 這是我們《創(chuàng)客說》的第一期,第一期的目標(biāo)是給大家分享一些游戲面試、筆試包括游戲創(chuàng)作過程中的一些心得、一些經(jīng)驗(yàn),當(dāng)然也可以是一些教訓(xùn)

  • 我們這次邀請(qǐng)了一位最近已經(jīng)通過面試并入職的同學(xué)——瑾同學(xué),讓他來給我們介紹一下他的面試情況

版權(quán)聲明

本文為“優(yōu)夢(mèng)創(chuàng)客”原創(chuàng)文章,您可以自由轉(zhuǎn)載,但必須加入完整的版權(quán)聲明?

更多學(xué)習(xí)資源請(qǐng)加QQ:1517069595或WX:alice17173獲?。ㄆ髽I(yè)級(jí)性能優(yōu)化/熱更新/Shader特效/服務(wù)器/商業(yè)項(xiàng)目實(shí)戰(zhàn)/每周直播/一對(duì)一指導(dǎo))?

點(diǎn)贊、關(guān)注、分享可免費(fèi)獲得配套學(xué)習(xí)資源

機(jī)構(gòu)介紹

  • 優(yōu)夢(mèng)創(chuàng)客:我們的目標(biāo)是幫助各位同學(xué)創(chuàng)作一款大家愛玩的游戲

  • 我是今天課程的主講老師雷蒙德。在行業(yè)內(nèi)有14年的從業(yè)經(jīng)驗(yàn),做過程序員,技術(shù)經(jīng)理,教學(xué)經(jīng)理,目前的是我們優(yōu)夢(mèng)創(chuàng)客的創(chuàng)始人

  • 下面是我曾經(jīng)參與制作過的一些成功的項(xiàng)目作品,包括有《傳奇世界》,《神跡I/II》,《瘋狂賽車》,《Infinity3D引擎》,《劍網(wǎng)三》等

提示:以下內(nèi)容中:標(biāo)注“瑾同學(xué)”代表學(xué)生發(fā)言,標(biāo)注“雷蒙德老師”代表老師發(fā)言

面試情況

  • 瑾同學(xué):

    • 老師好,大家好,很高興今天能在這里和大家做面試分享

    • 今天主要是分享一下自己面試的經(jīng)驗(yàn),當(dāng)然我不敢說教大家怎么去做,主要還是分享一下自己的經(jīng)歷,如果有說得不對(duì)或者是說得不好的地方,請(qǐng)大家多多包涵

    • 在投簡(jiǎn)歷時(shí),我投了十幾家公司,全部都是線上面試。當(dāng)然這也是和我的個(gè)人選擇有關(guān),我不太能接受現(xiàn)場(chǎng)面試,因?yàn)楝F(xiàn)場(chǎng)面試要大老遠(yuǎn)跑一趟,花在路程上的時(shí)間也非常多

    • 所以一定要去現(xiàn)場(chǎng)面試的我都沒有去,當(dāng)然遠(yuǎn)程面試也是有好處的

      • 如果是電話面,你就可以直接準(zhǔn)備好自己的簡(jiǎn)歷、還有一些面試時(shí)的關(guān)鍵點(diǎn)、沒記全的資料,可以邊面試邊看,我就是這樣子的

      • 視頻面試也比現(xiàn)場(chǎng)面試輕松不少,沒有那么緊張,不過面試面得多了,自然也就不緊張了

    • 目前我拿到的書面offer有六家

      • 都是我個(gè)人認(rèn)為不錯(cuò)的公司。也有一些普通offer,不過都算是一些比較小的公司

      • 有一些公司的面試流程特別短,只是跟你聊個(gè)十來分鐘,也沒有問其他的面試題,只是確認(rèn)了一下你的能力,就直接開始問入職、聊工資了

      • 這樣的公司,我都沒有考慮,因?yàn)楣疽?guī)模也不算大,我自己也有自己的想法

    • 目前我投的基本都過了,然后只有一家沒有過,當(dāng)時(shí)面試的情況是這樣的:

      • 當(dāng)時(shí)有三個(gè)面試官輪流來面試我,先是后端的主程,然后是前端的主程,最后是老板

      • 問的問題難度、深度都很高。面試時(shí)也給了我一些挺不錯(cuò)的意見,如果想挑戰(zhàn)一下自己的能力,可以嘗試一下

      • 這家公司里面的人員背景的都是比較牛的,很多都是從騰訊,網(wǎng)易這樣的大廠出來的,平均工作年齡有六到五年

前期準(zhǔn)備

  • 瑾同學(xué):

    • 我在面試之前做一系列的復(fù)習(xí),包括以下四點(diǎn):

      • 熟悉項(xiàng)目

      • 準(zhǔn)備階段最重要的一點(diǎn)就是熟悉自己的項(xiàng)目,對(duì)自己的項(xiàng)目熟悉程度,一定要熟悉到每個(gè)細(xì)節(jié),因?yàn)槊嬖嚬俸艽蟪潭壬蠒?huì)提問與項(xiàng)目相關(guān)的問題

      • 基礎(chǔ)

      • 這里的基礎(chǔ)我指的是C#基礎(chǔ),我個(gè)人認(rèn)為,C#基礎(chǔ)的是比較重要的,尤其是一些底層的問題。面試官很喜歡問這部分,如果你懂底層的話,是可以加分的

      • 比如上一次面試就問到靜態(tài)變量和單例的區(qū)別,我個(gè)人認(rèn)為不是只有使用上的區(qū)別或者是框架層面上的使用區(qū)別

      • 如果能夠詳細(xì)地說清楚這些內(nèi)容,我想面試官也會(huì)高看一眼,說明我們不是一個(gè)只會(huì)依賴現(xiàn)有組件的一個(gè)初學(xué)者,而是能夠去鉆研底層問題的

      • 雷老師在他的課程中經(jīng)常講的一句話就是“勿于浮沙筑高臺(tái)”。所以我覺得基礎(chǔ)也是非常重要的,看基礎(chǔ)和底層原理也確實(shí)很無(wú)聊,但你還是一定要掌握

      • Unity相關(guān)組件的使用

      • 一般面試官都問到這部分問題,也會(huì)結(jié)合實(shí)際應(yīng)用場(chǎng)景來提問,其實(shí)主要考驗(yàn)的就是對(duì)組件的熟悉程度,以及如何去使用這些組件去解決實(shí)際問題

      • 比如問到NPC如果使用了NavMesh尋路時(shí),如何避免和其他NPC重合的問題,這個(gè)問題其實(shí)很簡(jiǎn)單,就是給每一個(gè)NPC添加一個(gè)NavMesh組件

      • 算法

      • 除了Unity組件這一部分,我也去看了算法相關(guān)的一些知識(shí)點(diǎn),主要還是游戲相關(guān)算法。比如選中算法,數(shù)組相關(guān)的問題,因?yàn)橛螒虍?dāng)中用到的很多數(shù)據(jù)都是用數(shù)組或者是列表來存儲(chǔ)

      • 目前來看,面試中考查到的算法部分都不算很難。但我還是建議去熟悉掌握

      • 預(yù)約模擬面試

      • 如果有時(shí)間的話,可以預(yù)約一下老師的模擬面試,做一個(gè)提前演練,同時(shí)老師也能夠提出很多具有建設(shè)性的問題

      • 公司背調(diào)

      • 我給所有我發(fā)過簡(jiǎn)歷的公司都做了簡(jiǎn)單的背調(diào)

      • 包括公司人數(shù)、它的規(guī)模、正在做的產(chǎn)品等等信息,然后根據(jù)自己喜好,還有對(duì)他們公司的滿意度,做了簡(jiǎn)單的評(píng)級(jí)

      • 當(dāng)然這些統(tǒng)計(jì)里是有強(qiáng)烈的個(gè)人主觀因素在里面的,因?yàn)閷?duì)我個(gè)人來說,我不太想出省,所以我找的公司都是省內(nèi)的公司,集中在珠海、深圳、廣州這三個(gè)城市,所以就僅僅作為參考。具體情況還是根據(jù)大家的實(shí)際情況來分析

      • 小公司練手

      • 在我給自己感興趣的公司投簡(jiǎn)歷之前,我是給一些相對(duì)來說較小的公司投了一下,不一定會(huì)去,主要還是練練手,熟悉一下面試流程,積累一下面試題目

      • 因?yàn)楦鞔蠊镜拿嬖囶}目都是有一些重復(fù)的地方或相似的地方,遇到有不會(huì)的面試題目還可以結(jié)束之后找資料學(xué)習(xí)

————————————————————

  • 雷蒙德老師:

    • 瑾同學(xué)的幾個(gè)特點(diǎn)我覺得的比較好

      • 第一個(gè),我們的直播課,瑾同學(xué)是經(jīng)常是來的

      • 在直播課里,我們經(jīng)常會(huì)講一些企業(yè)里使用的干貨,也是我們筆試面試時(shí)的一些要點(diǎn)

      • 同學(xué)們來到我們的直播課,不管你是提問還是聽課,都可以學(xué)到跟筆試面試相關(guān)的知識(shí)。我們的直播課,建議大家聽完了以后花一些時(shí)間來進(jìn)行消化

      • 比如說你聽直播課的時(shí)候,你不可能100%聽懂,中間可能會(huì)有20%的內(nèi)容沒有真正地理解它,這個(gè)時(shí)候你就需要在課后花時(shí)間去理解它

      • 第二點(diǎn),瑾同學(xué)學(xué)習(xí)皇室戰(zhàn)爭(zhēng)項(xiàng)目,他不是僅僅照著我們課程里皇室戰(zhàn)爭(zhēng)的代碼敲

      • 瑾同學(xué)把皇室戰(zhàn)爭(zhēng)改造成了他自己的項(xiàng)目主題,在其中增加了一些自己的游戲兵種和自己的玩法,發(fā)現(xiàn)了項(xiàng)目中可能出現(xiàn)BUG(漏洞),大家也知道:“看視頻和把視頻中的內(nèi)容自己動(dòng)手做一遍,是完全不一樣的

      • 瑾同學(xué)當(dāng)時(shí)因?yàn)閿?shù)學(xué)庫(kù)里的四元數(shù)旋轉(zhuǎn)問題,自己在網(wǎng)上找了兩三種解決方案,其實(shí)每找一個(gè)解決方案,都離你得到更好的面試結(jié)果又近了一步

      • 比如說面試官如果問你在項(xiàng)目里怎么處理定點(diǎn)數(shù)的問題、遇到了哪些問題、你是怎么解決的,這個(gè)時(shí)候你就有東西可以跟面試官去交流

面試流程

  • 瑾同學(xué):

    • 一般來說面試流程是分為筆試、面試

    • 面試部分

      • 面試部分也分為技術(shù)面和HR面,它的流程都是先自我介紹,然后提問題這么一個(gè)流程

    • 筆試部分

      • 筆試我覺得不會(huì)太難,有些是直接給你一個(gè)題目讓你把效果做出來

      • 有些是給你一段時(shí)間,比如說三天時(shí)間,讓你做一個(gè)demo出來

      • 比較考驗(yàn)基礎(chǔ)的會(huì)做一些計(jì)算,還有數(shù)學(xué)結(jié)構(gòu),算法相關(guān)的一些題目

      • 當(dāng)然也有考游戲相關(guān)常識(shí)的題目,比如說有問MP是什么,HP是什么等等

    • 自我介紹

      • 自我介紹其實(shí)不用太花哨,一般來說是簡(jiǎn)單介紹一下自己就可以,也可以說一下自己的特質(zhì):

      • 比如說:特別喜歡玩游戲,喜歡挖掘游戲的世界觀

      • 自己為什么走向游戲開發(fā)這條路

      • 也可以簡(jiǎn)單地介紹一下自己的項(xiàng)目和工作經(jīng)歷,一般我是按照時(shí)間的順序從舊到新來進(jìn)行介紹,也可以用一些銜接的一個(gè)語(yǔ)句,適當(dāng)?shù)劂暯右幌?/span>

      • 當(dāng)然這部分也可以直接找老師去做模擬面試,因?yàn)槔蠋熌芙o你很全面的建議,當(dāng)時(shí)我也是做完模擬面試之后,再去修改自己的簡(jiǎn)歷,然后思考怎么去做自我介紹,或者是怎么介紹自己的項(xiàng)目

————————————————————

  • 雷蒙德老師:

    • 我?guī)屯瑢W(xué)們做了模擬面試以后會(huì)給你們提很多的意見,在你們?cè)谀M面試之前,請(qǐng)你們準(zhǔn)備好一個(gè)筆記把這些問題記下來

    • 我在面試時(shí),會(huì)在簡(jiǎn)歷的格式,簡(jiǎn)歷的內(nèi)容,具體的技術(shù)點(diǎn)上深挖,看看大家能回答到什么程度,提完建議以后你一定要自己去整理總結(jié)

    • 如果你沒有用心地去整理,那模擬面試的作用將會(huì)大打折扣,這也是希望大家一定要注意的一點(diǎn)

面試技巧

  • 瑾同學(xué):

    • 聚焦優(yōu)勢(shì)

      • 如果想讓面試官聚焦我們的某一段工作經(jīng)歷或者某一個(gè)項(xiàng)目的話,可以在做介紹的時(shí)候說:

      • 某某某項(xiàng)目是我做過的相對(duì)來說較有深度的項(xiàng)目,或者在某某公司的工作經(jīng)歷讓我的提升非常大,學(xué)到了很多技術(shù)等等

      • 雖然面試是由面試官來做主導(dǎo)的,但其實(shí)我們也可以通過給予一定的方向引導(dǎo),把面試官引導(dǎo)向我們自己熟悉的項(xiàng)目或者工作經(jīng)歷當(dāng)中,對(duì)我們來說,那些沒有那么熟悉的項(xiàng)目和經(jīng)歷就可以得到一定程度的躲避

      • 當(dāng)然面試官還是會(huì)根據(jù)你所有的項(xiàng)目來問提問的,但一定會(huì)對(duì)我們提到的更熟悉的項(xiàng)目或者是學(xué)得更多的工作經(jīng)歷問得更深更細(xì),如果你這些都能答上來的話,也是非常加分的

    • 隨機(jī)應(yīng)變的技巧

      • 當(dāng)遇到面試官問我們不會(huì)的一些題目時(shí),不要一開始就回答不會(huì)或者是不知道,這樣是容易掉分的

      • 可以讓面試官先給我們一點(diǎn)時(shí)間來思考一下,說不定想著想著就想到了,當(dāng)然也可能會(huì)出現(xiàn)頭腦空白,無(wú)法思考的情況

      • 所以還是要多面試,去加強(qiáng)自己的面試能力,多面試幾次之后有了經(jīng)驗(yàn)也就能隨機(jī)應(yīng)變

    • 獲得答題加分的技巧

      • 如果題目是你會(huì)的并且有機(jī)會(huì)多講的話,盡量多講,因?yàn)槎嘀v的話必然會(huì)加分,當(dāng)然前提是你沒有犯錯(cuò),比如說:

      • 面試官有問到我Class與Struct的區(qū)別,我們除了要給出使用上的區(qū)別和定義上的一些區(qū)別,還要更加深入

      • 這里面涉及有引用類型和值類型的區(qū)別,這兩種類型在堆棧上分配的問題,GC垃圾回收上的問題,都可以說一說,GC是如何進(jìn)行垃圾回收的,如何避免GC

      • 很多時(shí)候面試官都是愿意去聽我們回答這些問題的,因?yàn)樗膊豢赡軉柕膯栴}很全面,如果我們能解答得清楚,講得出來,一般比較耐心的面試官是能給到我們一些正反饋的,比如他對(duì)我們的微笑或者是他的點(diǎn)頭,都能對(duì)我們的信心起到增強(qiáng)作用

    • 不會(huì)的問題如何回答

      • 對(duì)于自己真的不會(huì)的問題可以進(jìn)行合理的猜測(cè),一定要說出來,雖然自己沒有去了解過,但也要去猜測(cè)一下,面試官也會(huì)給我們這樣的機(jī)會(huì),讓我們說一下自己的見解

      • 目前我沒有遇到被面試官打斷發(fā)言的情況。如果有這樣的機(jī)會(huì),還是要去嘗試,因?yàn)槿绻饘?duì)了,加分。如果答錯(cuò)的話,那也只是我們本身也沒有理解這個(gè)問題,本身不會(huì)的問題答錯(cuò)了,其實(shí)也沒有減不減分這一說

      • 有個(gè)面試官問了我一個(gè)問題:“ToLua和C#是如何進(jìn)行進(jìn)行綁定的”

      • 這部分我沒有看過相關(guān)的具體資料,但根據(jù)綁定這樣的定義,我可以做個(gè)簡(jiǎn)單的猜測(cè)。所以我當(dāng)時(shí)的回答是:

      • “雖然我沒有看過這部分的源碼和資料,但是我猜測(cè)ToLua的綁定過程是去讀取被綁定類的信息,從它的源數(shù)據(jù)中讀取,因?yàn)樵磾?shù)據(jù)保存了類中字段與方法的信息,如果是綁定某個(gè)方法的話,應(yīng)該去找方法表中的方法,然后綁定他的指令,就像綁定C++的指針”

      • 當(dāng)我說完了這些之后,面試官也沒有否認(rèn),甚至還點(diǎn)了點(diǎn)頭,所以我覺得這也是可以合理使用的小技巧。

    • 解題思維

      • 對(duì)問題的解題思維,比如說按照時(shí)間順序或者是步驟來進(jìn)行結(jié)構(gòu)化的思考??梢栽谧约旱哪X海中形成類似于思維導(dǎo)圖的東西

      • 比如說有面試官問了比較廣泛的問題,他問怎么去做性能優(yōu)化

      • 當(dāng)聽到這個(gè)問題時(shí),如果我沒有做過性能優(yōu)化的思考,或者沒有看到這部分相關(guān)的資料,我就不知道從何入手,那么如何去思考性能優(yōu)化,它包含這幾個(gè)部分:

      • 有Cpu、內(nèi)存、Gpu還有顯存這四個(gè)方面的優(yōu)化,然后再進(jìn)行細(xì)化

      • 細(xì)化到批處理,從批處理再做細(xì)化,將靜態(tài)批處理,分為線上靜態(tài)批處理和線下靜態(tài)批處理

      • 除了Unity內(nèi)部提供的優(yōu)化技巧,還可以使用第三方的插件來進(jìn)行優(yōu)化,比如用Animation來做類似于場(chǎng)外觀眾的動(dòng)畫效果

      • 當(dāng)然了這些內(nèi)容是包含在性能優(yōu)化的公開課里面,這節(jié)課也為我的面試提供了不小的幫助

      • 面試官也會(huì)要考察代碼的健壯性:

      • 要求寫一個(gè)方法:“使用三個(gè)變量,這三個(gè)變量代表的是三角形的三個(gè)邊長(zhǎng),然后去判斷這三條邊是否能夠組成三角形”

      • 我們按照解題思維來思考,先思考它的算法怎樣實(shí)現(xiàn):

      • 形成三角形的判斷條件就是兩邊之和必然大于第三條邊,這是我要考慮的一個(gè)點(diǎn)

      • 如果要傳入三個(gè)參數(shù),那么參數(shù)是什么類型,如果要傳遞整形的話,那可以分為無(wú)符號(hào)的整形,如果是參數(shù)是浮點(diǎn)數(shù),就要考慮是否非正數(shù),兩數(shù)之和是否超出了類型可儲(chǔ)存的最大范圍

      • 如果計(jì)算過程中數(shù)值的范圍過大,我們可以自己封裝一套進(jìn)行大數(shù)運(yùn)算的類型來進(jìn)行運(yùn)算

    • 這些就是第五個(gè)要分享的面試技巧,我目前就總結(jié)了這么幾點(diǎn),如果大家有補(bǔ)充的話,可以發(fā)在評(píng)論區(qū)

刨根問底

  • 瑾同學(xué):

    • 刨根問題的學(xué)習(xí)態(tài)度對(duì)我的幫助也是挺大的

      • 我是那種比較喜歡刨根問底的人,對(duì)功能和技術(shù)的實(shí)現(xiàn),不只是停留在使用層面就滿足了,還要去理解他底層的原理是怎么實(shí)現(xiàn)的,具體是怎么做的

      • 也是因?yàn)橐恍┣珊希谖颐嬖嚨臅r(shí)候,面試官恰好問到了相關(guān)的一些問題,被我回答上來了

    • 幀同步如何做戰(zhàn)斗校驗(yàn)

      • 老師的幀同步項(xiàng)目,我們不要只跟著做完了就算了,還是可以去反思一下到底哪里還可以再改進(jìn)

      • 比如項(xiàng)目里面的戰(zhàn)斗校驗(yàn)其實(shí)都是做在客戶端里面的,沒有在服務(wù)器端進(jìn)行戰(zhàn)斗校驗(yàn),只是客戶端運(yùn)算出結(jié)果,然后發(fā)給服務(wù)器,這樣會(huì)造成一個(gè)問題:

      • 假設(shè)有用戶使用了第三方的插件,或者第三方的外掛軟件的話修改了我們的戰(zhàn)斗結(jié)果,就會(huì)造成外掛作弊問題

      • 那我們就是要去思考,應(yīng)該怎么解決這個(gè)問題,當(dāng)時(shí)我查找了許多相關(guān)資料,最后找到了一個(gè)沒有多少人點(diǎn)贊的回答

      • 在面試時(shí)剛好問了這么一個(gè)問題,當(dāng)時(shí)我沒有準(zhǔn)備這一部分,但剛好我看過了,所以就答上來了

      • 同樣的,在我了解ILRunTime的熱更工程打包問題的時(shí),因?yàn)镮LRunTime其實(shí)也是把熱更工程打包成DLL來進(jìn)行熱更

      • 一般來說,如果直接用DLL做熱更的話,在IOS端是不可行的,那ILRunTime也是用DLL來做的話,它是如何實(shí)現(xiàn)熱更的呢?

      • 當(dāng)時(shí)我也是對(duì)這方面有思考,用刨根問底的學(xué)習(xí)態(tài)度來面對(duì)問題

      • 找了相關(guān)的資料,翻了論壇,最后找到了很詳細(xì)的關(guān)于如何繞過IOS進(jìn)行熱更新的解決方案

      • 最開始我看到關(guān)于IOS禁止熱更的說法是因?yàn)镴IT無(wú)法運(yùn)行(詳情可見《Unity熱更新那些事》),或者說是禁止JIT這種說法其實(shí)是不準(zhǔn)確的,實(shí)際上IOS它禁止JIT動(dòng)態(tài)生成新的類型,所以我們直接用程序集去加載DLL的這種方式是不可行的

    • NavMesh如何實(shí)現(xiàn)自動(dòng)尋路

      • NavMesh它的底層是怎么去實(shí)現(xiàn)尋路的,NavMesh的底層尋路算法我沒有詳細(xì)地看過,但是我剛好仔細(xì)聽了老師的課程,就提到了一句話就是:“內(nèi)部其實(shí)使用也是類似A*算法的尋路算法”

      • 也就因?yàn)檫@一句話,在面試的時(shí)候被問到相關(guān)問題,我也能夠回答出來

    • 為什么Start方法不需要Override?

      • 我曾經(jīng)也有這么一個(gè)疑問,后來發(fā)到老師搭建的技術(shù)交流群里,問了群里的大佬,最后有人發(fā)了段源碼,我也看完理解并記住了

      • 在面試的時(shí)候也確實(shí)有問到過有沒有看過Unity的底層源碼,他指的是C++的源碼,剛好我就看過MonoBehavior的Start方法

      • 這樣就有了吹噓的資本,其實(shí)我了解的也并不是很多,但只要說出來,說出自己理解的一些特點(diǎn),面試官至少能看出我們真的有在這方面下功夫

    • 所以我也是多虧了自己這種刨根問題的習(xí)慣,幫助我解決了很多問題

————————————————————

  • 雷蒙德老師:

    • 其實(shí)我們直播課里面有講過NavMesh的原理

    • 幀同步的戰(zhàn)斗校驗(yàn),在我們課程中也是做到了把所有的數(shù)據(jù)都保存在服務(wù)器上,能做到回放,實(shí)際上就是為大家去做戰(zhàn)斗校驗(yàn)做好了準(zhǔn)備

    • 其實(shí)我們?cè)趹?zhàn)斗校驗(yàn)還有另外一種方法,就是直接利用服務(wù)器存儲(chǔ)的數(shù)據(jù)做校驗(yàn),包括NavMesh的話,我們課程里也有相應(yīng)的講解,但是你不一定非要按照我的想法來學(xué)習(xí),你也可以就是像瑾同學(xué)一樣找資料,因?yàn)槟阕约赫业降臇|西,印象會(huì)更加深刻

    • 這也是為什么,我們會(huì)VIP課程里加入像Addressables的源碼解析、ToLua和C#綁定的源碼解析,為什么要加入這些源碼解析的課程?

    • 一方面,是讓大家理解這些,然后能把它用到面試上,能夠把它像瑾同學(xué)說的,能夠把技術(shù)聊起來。

    • 包括我們?cè)诨适覒?zhàn)爭(zhēng)第三季里,也有講到有l(wèi)LRunTime的底層源碼解析,所以大家一定要把這些看起來

    • 大家在學(xué)習(xí)的時(shí),不能我們教一個(gè)你就會(huì)一個(gè),你要用課程里教你的方法、思想來實(shí)現(xiàn)你自己的項(xiàng)目,或者你關(guān)心的一些源碼的實(shí)現(xiàn),你自己去把它做起來

    • 我們給你提供的僅僅是一個(gè)方法,你學(xué)會(huì)這個(gè)方法以后,你可以用在其他的系統(tǒng)分析上,我們更多的是希望大家能夠通過課程的學(xué)習(xí)掌握這樣思想方法

面試問題

  • 瑾同學(xué):

    • 下面的這些是我在面試當(dāng)中遇到的比較典型的問題

    • C#(數(shù)據(jù))《CLR via C#》

      • 這里我是非常推薦大家去看一本書,是《CLR via C#》,這本書里講了很多C#相關(guān)的底層原理,它的底層實(shí)現(xiàn)

      • 當(dāng)然,這本書我也還沒有讀完,也希望能跟大家一起去學(xué)習(xí)

    • Unity組件,原理

      • Unity組件相關(guān)的問題不只是局限在組件的使用上,面試官可能會(huì)問它的原理是什么,底層實(shí)現(xiàn)是什么樣的

    • 針對(duì)項(xiàng)目(框架,技術(shù))

      • 面試官還會(huì)針對(duì)我們的項(xiàng)目去做一些提問,比如說我們用到了什么框架,然后做了什么技術(shù)

    • 算法(八大排序,尋路算法)

      • 算法相關(guān)的問題,提到比較多的有八大排序,還有尋路算法,尋路算法里又包含了幾種實(shí)用算法,每一種尋路算法,都應(yīng)該去熟練掌握它的思想,包括它是怎么實(shí)現(xiàn)的,比如弗羅伊德算法,A*算法等等

      • 弗洛伊德算法:

      • 維護(hù)兩個(gè)二維數(shù)組,它具有動(dòng)態(tài)規(guī)劃的思想在里面,它的算法內(nèi)部有三層循環(huán),最外層循環(huán)的是中間點(diǎn)的選擇,里面兩層是起點(diǎn)和終點(diǎn)的選擇

      • 它會(huì)判斷起點(diǎn)到終點(diǎn)的最短距離是否小于起點(diǎn)到中間點(diǎn)的距離,再加上中間點(diǎn)到終點(diǎn)距離的和去做判斷,這是用了動(dòng)態(tài)規(guī)劃的思想,如果符合條件,就代表中間點(diǎn)必然在它的最短路徑上面

      • 最后去做最短路徑的更新,同時(shí)也包括它的前置節(jié)點(diǎn)的更新

    • 其他(最精通,最難,Bug)

      • 除此之外,面試官還會(huì)問你最精通的是哪方面的技術(shù)、在項(xiàng)目當(dāng)中或者工作當(dāng)中遇到的最難點(diǎn)是什么,還有遇到過哪些比較大的Bug

————————————————————

  • 雷蒙德老師:

    • 這些面試問題我都會(huì)在面試前幫大家去做一對(duì)一的指導(dǎo),去化解面試中的各種高頻技術(shù)問題

    • 像瑾同學(xué)遇到的這些面試問題,其實(shí)都是我們?cè)诿嬖嚽岸家呀?jīng)提前幫他做好準(zhǔn)備的

    • 當(dāng)然每位同學(xué)的強(qiáng)項(xiàng)和短板不同,大家在面試前一定要跟我預(yù)約面試模擬,從而發(fā)現(xiàn)這些薄弱點(diǎn),做到心中有劍

技術(shù)面試分享

(加Alice老師領(lǐng)取面試資料,聯(lián)系方式見文末)

  • 瑾同學(xué):

    • 第六個(gè)問題有提到常用的算法有哪些?怎么實(shí)現(xiàn)的,用的什么思想,后面也有一些其他算法,比如弗洛伊德算法,A*算法,那么這些在上面已經(jīng)詳細(xì)的講過了,這邊就不在多說

    • 幀同步里面要注意的點(diǎn)是什么?

      • 這就需要我們對(duì)我們做過的幀同步項(xiàng)目做一個(gè)總結(jié),我是做完幀同步項(xiàng)目之后,立刻就做了基本的總結(jié),剛好面試時(shí)也有問到,我自己對(duì)幀同步也有比較深刻的印象,大部分都回答上來了

      • 面試過程中最常問到的問題就是靜態(tài)類與單例類區(qū)別

    • 靜態(tài)類的底層原理,靜態(tài)類是如何被加載的

      • 靜態(tài)類先被加載進(jìn)程序集,這是第一次加載,當(dāng)我們?cè)谀_本第一次遇到或使用這個(gè)類時(shí),它會(huì)再次加載它的元數(shù)據(jù),我個(gè)人認(rèn)為它是二次加載的過程

      • 還有一種說法是在腳本中第一次遇到靜態(tài)類時(shí)的加載,是靜態(tài)類的第一次加載,我覺得不同的說法都有不同的根據(jù),如果想了解這里面的知識(shí)我們可以自己去嘗試,去理解

      • 靜態(tài)類的靜態(tài)變量存儲(chǔ)在云數(shù)據(jù)里面,當(dāng)Unity出現(xiàn)有場(chǎng)景切換這種情況之后,靜態(tài)類的字段是不會(huì)被重置的

      • 但如果是在MonoBehaviour的Awake中實(shí)現(xiàn)的單例,可能會(huì)因?yàn)閳?chǎng)景的切換而重置數(shù)據(jù)

    • 接下來的問題與我個(gè)人的項(xiàng)目和工作經(jīng)歷有關(guān)的

      • 當(dāng)我們?cè)谠贫耸占娇蛻舳朔峙涞漠惓V?,要怎么去查看到它具體的異常收入信息

      • 如果你要查看具體的錯(cuò)誤信息的話,主要是看調(diào)用堆棧的詳細(xì)過程

      • 比如說在某一個(gè)腳本里調(diào)用了其他腳本中的某一個(gè)方法,這個(gè)方法的方法名等等信息都會(huì)保存在一個(gè)PDB文件里

      • PDB文件是隨著計(jì)算打包生產(chǎn)出的調(diào)試文件,我們打包的時(shí)勾選DevelopmentBuild選項(xiàng),Unity就會(huì)把PDB文件也打包進(jìn)去,它里面保存的是程序集當(dāng)中各個(gè)類的方法,名字等等。當(dāng)程序出現(xiàn)錯(cuò)誤的時(shí),就可以看到具體的名稱信息

      • 我經(jīng)常被問到的問題是:“List或者Dictionary的擴(kuò)容機(jī)制

      • 實(shí)際上它們的擴(kuò)容機(jī)制是相似的,當(dāng)然也有被問到Dictionary內(nèi)部是如何實(shí)現(xiàn)的擴(kuò)容的,它內(nèi)部的內(nèi)存占用多了多少?這種事也是可以計(jì)算出來的

      • 當(dāng)時(shí)我去看了一下Dictionary的源碼,它內(nèi)部實(shí)現(xiàn)了哈希表,使用Dictionary的最大長(zhǎng)度的最大質(zhì)數(shù)來作為他計(jì)算哈希函數(shù)的一個(gè)變量來計(jì)算

      • 計(jì)算時(shí)用到的哈希碼,是調(diào)用了每個(gè)類都有的方法“GetHashCode”方法來計(jì)算它的索引位置

      • 像List和Dictionary這種擴(kuò)容,內(nèi)部也是用數(shù)組來實(shí)現(xiàn)的,擴(kuò)容的時(shí)候,除了本身擴(kuò)容之前的數(shù)組占用內(nèi)存之外,還包含了擴(kuò)容之后新數(shù)組的內(nèi)存占用,比如一開始長(zhǎng)度為四的數(shù)組,擴(kuò)容之后長(zhǎng)度變成了八,八的長(zhǎng)度其實(shí)是新數(shù)組的長(zhǎng)度,這可能會(huì)造成一個(gè)問題:四加八等于十二的內(nèi)存占用問題

      • 所以當(dāng)我們項(xiàng)目中使用數(shù)據(jù)特別多的話,這個(gè)時(shí)候用List就沒有那么合適了,可能需要我們?nèi)シ庋b一套屬于我們自己的容器類,當(dāng)達(dá)到擴(kuò)容條件的時(shí)候,再去進(jìn)行合適的擴(kuò)容

      • 不然在內(nèi)存里面,如果一開始是500萬(wàn),擴(kuò)容之后內(nèi)存占用會(huì)達(dá)到1500萬(wàn)這樣的內(nèi)存占用問題,而且它也是一個(gè)引用類型,需要我們進(jìn)行GC,回收實(shí)際上也會(huì)占有一定的內(nèi)存,帶有一定的性能開銷

      • 當(dāng)然還有更多面試問題,大家可以看我在老師的群里分享的面試題問答列表(聯(lián)系方式見文末),也歡迎大家跟我討論,有不對(duì)的也請(qǐng)大家批評(píng)指正

課程幫助

  • 瑾同學(xué):

    • 這段時(shí)間是我自學(xué)Unity以來給我提升最大的時(shí)期

    • 我個(gè)人在報(bào)名之前學(xué)了大概兩年的Unity,很多時(shí)候網(wǎng)上找的一些資料它都不齊全,很多技術(shù)含量相對(duì)來說比較高,或者是比較難的一些點(diǎn)在網(wǎng)上都找不到,因?yàn)椴皇撬腥硕荚敢夥窒碜约旱捻?xiàng)目和技術(shù)

    • 如果有一部完整課程,我們就可以通過課程來了解平時(shí)開發(fā)或?qū)W習(xí)中沒有注意到的思維誤區(qū),來幫助我們更好地理解這些技術(shù)點(diǎn)

    • 這里是課程給我的一些幫助,有技術(shù)含量高的項(xiàng)目,系統(tǒng)的學(xué)習(xí)路線,技術(shù)分享,源碼分析,同時(shí)也提供了一個(gè)平臺(tái),可以在平臺(tái)里結(jié)識(shí)到大佬,也可以交流技術(shù)和知識(shí)方面的問題,不像以前在大學(xué)里學(xué)習(xí),室友都在那里聊天、吹噓。有這么一個(gè)可以學(xué)習(xí)交流的平臺(tái)我覺得還是挺好的

公司選擇

  • 瑾同學(xué):

    • 在公司的選擇上最重要的三點(diǎn)是:

      • 第一點(diǎn)、公司的規(guī)模,我們可以從公司的規(guī)模上面是看到公司的發(fā)展

      • 第二點(diǎn)、看公司正在做的一些產(chǎn)品,比如他在做什么類型的游戲,用到了哪些技術(shù)等等

      • 第三點(diǎn),也是我特別在乎的問題:

      • 公司里是否有類似于老師帶的制度,因?yàn)閷?duì)我來說,只是在群里進(jìn)行學(xué)習(xí),工作經(jīng)驗(yàn)無(wú)法得到提升,我也是剛畢業(yè)沒多久,所以我特別渴望有這么一種制度來給我提升的機(jī)會(huì)

    • 這是我最看重的三個(gè)點(diǎn),其他的還有環(huán)境,工作強(qiáng)度,限制等等。我想每個(gè)人的想法都不太一樣,可能很多人對(duì)薪資或者是工作強(qiáng)度考慮會(huì)更多一些,這里就根據(jù)自己的個(gè)人意愿來做選擇了

問答環(huán)節(jié)

  • Q:我記得瑾同學(xué)是在皇室戰(zhàn)爭(zhēng)第一季做完后就準(zhǔn)備找工作了,當(dāng)時(shí)是什么原因被我勸退了

  • A:

    • 當(dāng)時(shí)是剛看完了第一季,有一些不一樣的想法,特別希望快點(diǎn)學(xué)完,因?yàn)槟莻€(gè)時(shí)間段春招也快結(jié)束了,所以比較著急

    • 現(xiàn)在來看的話,春招也不一定就決定了各大公司招人的不同時(shí)間點(diǎn),現(xiàn)在來看的話,主要還是看個(gè)人能力,然后是項(xiàng)目,面試發(fā)揮等等因素

    • 春招的機(jī)會(huì)確實(shí)會(huì)更多一點(diǎn),比如說騰訊會(huì)在春招的時(shí)候進(jìn)行校招,校招的門檻也沒有那么高,而且招的都是應(yīng)屆生,對(duì)經(jīng)驗(yàn)的要求也不多

    • 當(dāng)時(shí)我沒有特意去找騰訊的崗位,因?yàn)槲蚁腧v訊的崗位發(fā)展和外面的差不多,至少我現(xiàn)在對(duì)我自己的工作崗位非常滿意,還是老樣子,主要還是看個(gè)人的選擇問題

  • Q:那你現(xiàn)在HR的印象里,是算是應(yīng)屆生還是非應(yīng)屆生?

  • A:

    • 在HR看來的話,我還是算應(yīng)屆生的,他也知道我沒有工作經(jīng)驗(yàn),也沒有要求我提供過去的工作,實(shí)習(xí)這樣的證明,并且給我爭(zhēng)取到了我自己提出的薪資

    • 其實(shí)在校園里面與Unity相關(guān)的學(xué)習(xí)課程并沒有多少,所以我和其他應(yīng)屆生相比,我項(xiàng)目的技術(shù)含量會(huì)高那么一點(diǎn)點(diǎn)

  • Q:那HR有沒有要看你做的項(xiàng)目作品?

  • A:這倒沒有,他主要還是針對(duì)項(xiàng)目問一些問題,他可能認(rèn)為回答上來了,就認(rèn)為我確實(shí)是有做過項(xiàng)目的


  • Q:就是說每一家都不需要看你的項(xiàng)目作品?

  • A :我以前面試的時(shí)候有兩家面試的時(shí)候確實(shí)有要求提供項(xiàng)目工程或者項(xiàng)目錄屏,然后我也有提供,這不算是什么太大的問題


  • Q:有沒有公司是讓你先做筆試題,然后再面試的?

  • A:

    • 有的,當(dāng)時(shí)是面試了一家深圳的公司,當(dāng)然我現(xiàn)在不在那家公司里,其實(shí)他的面試題也是挺有意思的,讓我去看了一個(gè)視頻,這個(gè)視頻是全英文的,它里面講到的是如何去做一些關(guān)于游戲感的問題,看完之后再根據(jù)里面提到的一些點(diǎn)去做一個(gè)demo出來

    • 我覺得這個(gè)還是挺有意思的,不過可惜的是demo做出來了,他也說做得不錯(cuò),但可能面試的時(shí)候有些問題我沒有答上來,那個(gè)時(shí)候知識(shí)積累的沒有這么豐富,所以就直接掛掉了

    • 還有最近珠海的一家公司,它也是有要求做面試題,他的面試題就相對(duì)來說簡(jiǎn)單一點(diǎn),直接讓我用UGUI做一個(gè)效果出來,這里主要是考驗(yàn)是否真的會(huì)Unity,或者有沒有動(dòng)手做過項(xiàng)目,我想很多面試官也想排除一些沒有項(xiàng)目經(jīng)驗(yàn)的選手

  • Q:這個(gè)肯定是非常初級(jí)的崗位,他都會(huì)質(zhì)疑你基本的UGUI界面會(huì)不會(huì)達(dá)到標(biāo)準(zhǔn)

  • A:

    • 當(dāng)時(shí)我也和HR說:“您可以多問我一些比較底層的問題”,然后他就問了我關(guān)于性能優(yōu)化的一些知識(shí)點(diǎn),我也一一去說,像根據(jù)各個(gè)點(diǎn)去分析,Gpu上的,cpu上的,然后他當(dāng)時(shí)招的也是一個(gè)初級(jí)崗位,所以對(duì)我的表現(xiàn)覺得超出他的預(yù)期

    • 但是珠海這個(gè)地方的薪資不算特別高,給了我一個(gè)不太滿意的結(jié)果,所以后面就沒有聯(lián)系了。一些只給了口頭offer的小公司,我都沒有考慮,因?yàn)槲矣X得有書面offer的公司會(huì)比較正式一點(diǎn)

寫在最后

更多學(xué)習(xí)資源請(qǐng)加QQ:1517069595或WX:alice17173獲取(企業(yè)級(jí)性能優(yōu)化/熱更新/Shader特效/服務(wù)器/商業(yè)項(xiàng)目實(shí)戰(zhàn)/每周直播/一對(duì)一指導(dǎo))

點(diǎn)贊、關(guān)注、分享可免費(fèi)獲得配套學(xué)習(xí)資源


創(chuàng)客說V01:零經(jīng)驗(yàn)U3D學(xué)員面試訪談的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
兰西县| 白沙| 伊金霍洛旗| 无为县| 平山县| 桐庐县| 扬州市| 江源县| 石河子市| 沂源县| 大邑县| 民丰县| 游戏| 天长市| 英超| 大兴区| 西乌| 唐海县| 遂溪县| 壤塘县| 通河县| 牡丹江市| 淅川县| 奉贤区| 宿迁市| 盘山县| 岫岩| 宁武县| 闻喜县| 个旧市| 平和县| 沁源县| 常宁市| 胶南市| 闽侯县| 平邑县| 上蔡县| 金溪县| 英吉沙县| 新昌县| 深圳市|