欧美1区2区3区激情无套,两个女人互添下身视频在线观看,久久av无码精品人妻系列,久久精品噜噜噜成人,末发育娇小性色xxxx

字節(jié)綠洲工作室實習 游戲客戶端一面涼經

發(fā)點面經希望能求求好運~
4.7早面,兩天后掛了,面了1h無手撕。面試官人還是不錯的。
另外面試官那邊說在招的都是ue的項目,主要就問基礎知識了(八股盛宴)

自我介紹略。
-----------
1.說一下多態(tài)
√(靜態(tài)多態(tài)函數(shù)重載和模板,動態(tài)多態(tài)派生類和虛函數(shù)

2.說一下虛函數(shù)怎么實現(xiàn)和調用
√ (虛表,虛表指針)

3.虛表什么時候初始化
√(虛表編譯時,虛表指針new的時候)

4.多繼承幾個虛表指針,內存分布?
√(子類繼承了幾個基類就有幾個虛表,和對應的虛表指針)

5.定義一個空的class,編譯器默認會幫我生成哪些函數(shù)?
?(回答的是構造、析構、拷貝構造、)
(---實際應該還有賦值運算符和兩種取址運算符)

6.默認生成的構造和析構是虛的嗎?
√(構造不是虛的,析構沒有子類的話默認也不是虛的,但如果是有子類那父類必須得是虛的)

7.剛剛提到默認生成的拷貝構造,那么它是一個深拷貝的實現(xiàn)還是淺拷貝實現(xiàn)?
?(沒準備到,一開始說了淺,但是想到淺只是新指針指向,如果兩個指向同一個資源,delete兩次就壞了,于是說了深。這里面試官還引導我說一下深淺拷貝的概念。)
(---實際默認實現(xiàn)是淺拷貝!!但確實也存在上面的那個隱患,所以需要人為的重載)

8.說一下C++的內存分區(qū),以及各個區(qū)的功能


9.靜態(tài)成員變量,在那個分區(qū)?
√ (靜態(tài)存儲區(qū))

10.函數(shù)內的靜態(tài)變量或者CPP文件下的靜態(tài)變量
√(都是靜態(tài)存儲區(qū),前者即使作用域消失也還會在內存中存在,只是沒法訪問;后者可以文件內訪問,只是沒法跨文件)

11.那它們三的初始化的時機是一樣的嗎?
√(C++中的類靜態(tài)成員變量和cpp文件下的是main執(zhí)行前,函數(shù)的局部靜態(tài)變量是首次調用函數(shù)時。

12.New和malloc的區(qū)別


13.什么場景使用new什么場景用malloc
?(這里說了需要構造對象用new,需要分配內存給基本類型又不需要構造的時候用malloc

14.New和Malloc分配的時候,釋放時的方式?
√(delete/free)

15.Malloc申請內存的釋放,可以只釋放一部分嗎?
√(free我記得只能釋放完整的內存吧)
(---如果想動態(tài)調整倒是可以用realloc??這個不太清楚)

16.指針引用區(qū)別


17.class里有三個int,用sizeof給這個class的引用和指針取值,他們的值是多少,一樣的嗎?
√(不一樣,引用就是class原大小12,指針就是4or8)

18.指針變量所指向的地址不能改變,應該哪里加const?
int * const

19.內容不能改變呢?
const int * 
(---其實還有int const * )

20.四種類型轉換,每個的作用


21.static_cast相比C語言用括號進行轉換,好處是什么?
X(只說了更安全會有類型檢查……)
(---實際還有,C語言只用于值類型,static_cast能用于指針、引用以及類)

22.現(xiàn)在對兩個無關的類型,用static_cast進行轉換,會得到什么?
√(說了編譯時就會報錯)

23.兩個無繼承關系的類型,用dynamic_cast進行轉換,會得到什么?
?(說了運行時報錯)

24.運行時報錯的具體表現(xiàn)?
?(指針類型的轉換失敗,就會拋出nullptr,引用類型的異常,拋出bad_cast
(---背倒是背了,但是答的時候沒有注意大前提……無繼承類型的話,是編譯時報錯……轉換失敗才是上面這兩種……)

25.智能指針說一下


26.shared_ptr作為函數(shù)的參數(shù)傳遞時,會增加引用計數(shù)嗎?
√(值傳遞會調用shared_ptr的拷貝構造,引用計數(shù)會加,但是引用傳遞就不會)

27.如果是我用拷貝的方式來傳遞,他是在什么時候把加一給減掉了?
√(函數(shù)執(zhí)行完,局部變量生命周期結束時,拷貝的那個shared_ptr對象自己的析構調用時減1

28.Unique指針,可以寫一個函數(shù),它的返回值是unique指針嗎?
X(我說要分情況,如果一個函數(shù)里局部變量的unique指針,不能這樣返回,如果全局的就可以)
(---這里應該是完全沒答到點上。函數(shù)返回值直接用unique_ptr是恰當?shù)挠梅ǎR時對象直接通過移動語義傳遞獨占所有權。)

------數(shù)據(jù)結構篇-----
29.說一下棧和隊列,應用場景
√(函數(shù)調用,回溯算法//BFS,F(xiàn)IFO策略)

30.如果在C++里自己實現(xiàn)隊列(不用STL),有那些方式?
√(鏈表隊列,數(shù)組用循環(huán)隊列)

31.用數(shù)組的方式來實現(xiàn)的缺點是什么?
?(會有空間的浪費,隊列最大長度也有限)

32.現(xiàn)在我把隊列改造成一個帶優(yōu)先級的優(yōu)先隊列,我現(xiàn)在我向里邊插入一個元素,它大概的流程是怎樣的?
X (這里當作成了OS里的那個多級隊列,直接超級大爆,后面面試官甚至提醒了我堆排序也沒喚起記憶)

33.計算哈希值有哪些常用方法
(說了MD5碼,SHA256,簡單的話就取模)

34.遇到沖突怎么解決?
√(鏈地址,開放地址法)

35.鏈地址法怎樣來解決哈希沖突。而且使用這種方法,最后查找的時候是怎樣來查找?
√(指針數(shù)組,取模后找對應槽位的鏈表進行遍歷,順便提了一下鏈地址如果長了,負載因子高了也需要動態(tài)擴容并調整哈希函數(shù))

36.用哈希表實現(xiàn)的容器?


37.紅黑樹相比于二叉平衡樹的優(yōu)點?
√(只說了平衡的嚴格程度,插入和刪除效率也更高,雖然同為O(logn)但紅黑樹所需要的旋轉更少)

-----根據(jù)項目問八股環(huán)節(jié)---------
38.“從操作系統(tǒng)層面考慮序列化,中間大概發(fā)生那些流程,把內存的數(shù)據(jù)轉換成硬盤中的數(shù)據(jù)?”
X (文件IO忘了,只說了轉換為流文件再寫入磁盤)

39.這個過程它會涉及到操作系統(tǒng)里邊用戶態(tài)和內核態(tài)的切換嗎?
X(一開始說了不能,爆了,下面面試官再問的時候才說能)

40.用戶態(tài)和內核態(tài)就是他設計出來的主要目的是什么?
A:內核態(tài)可以訪問調度各種資源數(shù)據(jù),包括外圍設備,用戶態(tài)只能訪問分配的資源。

41.游戲的存檔IO這一步,可以在主線程進行嗎?他會不會導致游戲就是卡住了,比如你寫的東西很多
A:有可能

42.那你會考慮怎么實現(xiàn)和解決?
A:可以考慮協(xié)程

43.我們先說協(xié)程,它本質上是開了一個新的線程,還是用其他的方式來實現(xiàn)?
√(說了一下協(xié)程的原理)

44.稍微發(fā)散一點,如果我現(xiàn)在很多數(shù)據(jù)量很大的需要寫入到硬盤中,并不一定是游戲存檔。你來寫程序的話,會寫一個多線程的方式的程序,還是寫一個多進程的方式的程序更好一些。
A:認為多線程好一些,會共享內存且線程切換開銷小一些,但是要注意寫入時的保護(感覺是一個開放性問題,還有什么可以說的嗎?)

45.那有哪些線程同步的方式?
A:臨界區(qū),互斥鎖,信號量

46.假設我們用信號量的方式,簡化一下,比如就兩個線程,一個寫的,一個讀的,這個信號量大概是怎樣來操作的?
A:我說可以允許多個讀線程并發(fā),讀與讀之間可以不互斥,但寫線程要和所有其他讀寫線程互斥(感覺答的不對口)

47.UI相關有用到什么設計模式嗎?
A:我回答了UI管理器用了單例,然后一些其他對象觸發(fā)UI邏輯更新時會用到觀察者

------
沒有手撕
------
反問
問了面試官部門現(xiàn)在的工作內容?然后實習生進去一般是做什么?
問了如果Unity轉UE有什么建議還是說工作室會有什么指導?

#??虯I配圖神器#
全部評論
為什么會掛啊,明明感覺幾乎都答出來了啊,到底誰在贏啊
1 回復 分享
發(fā)布于 04-17 18:58 福建

相關推薦

評論
11
68
分享

創(chuàng)作者周榜

更多
??途W(wǎng)
??推髽I(yè)服務