【記錄】某遊戲大廠的引擎崗覆盤

記錄一個我非常想去的某大廠的引擎崗位的覆盤情況。爲了更強的自己而努力。

筆試:
1.光照存儲方式有很多種,有2D,3D,CubeMap,SH公式多種方案。解釋一下這些方式的優缺點。
2.紋理採樣時候透視矯正的原因與方法。
3.D3D11格式,R8G8B8A8_UNORM與R16G16_UINT的含義以及範圍。
4.texture atlas的概念與作用。

面試流程:
圖形學方面:
1.圖形學當中頂點空間轉換的流程是什麼?(Local空間,World空間,View空間,Projection空間,Viewport空間)
2.每一種空間轉換爲什麼需要這麼去做,怎麼去做?(從Local到World空間,從View到World空間)
3.怎麼確認View Matrix,在已知攝像機的情況下。
4.齊次座標的作用是什麼?爲什麼在圖形學當中需要齊次座標?
5.點積的物理含義是什麼?叉積的物理含義是什麼?叉積的模的物理含義是什麼?
6.已知入射光線和法線,求反射光線,使用線性代數的方法,寫僞代碼。
7.如果有個人會圖形學,但是不會Opengl,你應該怎麼去介紹這個圖形API?OpenGL有哪些特性?
8.你提到了陰影映射算法,介紹一下陰影映射算法的流程?
9.你提到了光線追蹤算法,你的光線追蹤器是怎樣做的?怎麼判斷光線是與三角形相交?
10.對你FFT模擬海浪的方法很感興趣,請簡述如何用FFT去模擬海浪?
11.你提到了地形加載,這個算法是怎麼做的?地形加載算法是如何去做的?
12.給你一張目前3A級別的遊戲靜態圖片,以及相應的美術資源,能否通過目前的手段去模擬出3A遊戲靜態圖片,如果能,請簡述你將如何模擬?
13.介紹一下模型加載的過程是怎麼樣的?
14.介紹一個光照模型,比如,Phong模型?你的反射是怎麼做的,鏡面光是怎麼做的?
15.關於法線矩陣,是怎麼做的?什麼情況下可以避免使用法線矩陣?

語言以及開發方面:
1.介紹一下你研究生的工作情況,你的發論文情況?
2.你研究生的深度學習是怎麼樣的?
3.說到設計模式,談一談你最熟悉的設計模式,這個設計模式的應用是什麼?爲什麼誕生這個設計模式?
4.請你手寫一個C++類。任意的C++類,問這兩種類對象的創建方式如何?
(1)A a;
(2)A* a = new A();
爲什麼C++有兩種創建類型的方式?目的和意義是什麼?
5.用過STL嗎?使用vector應該注意哪些方面?
6.map和unordered_map哪個更快?既然unordered_map更快,那麼爲什麼還需要用map?map存在的意義是什麼?
7.瞭解float 浮點數的格式麼?
8.爲什麼float不能直接和0比較?產生誤差的原因是什麼?

最終算是拿到Offer了。雖然過程是很痛苦的,連續面了兩個多小時,覺得自己的努力方向是沒有問題的。面試官會不斷的用似笑非笑的嘲弄態度問“你確認這樣做是對的?”一度問的我懷疑人生。中途一度我覺得我要支撐不下來了。
經過這一次的經歷,我發現我的問題以及應該去補足的方面。雖然看了很多資料與書籍,但是很多的原理我也是似懂非懂,沒有搞清楚。以及很多東西應該進一步實戰去做一下,知其然並且知其所以然。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章