騰娛互動 C++后端開發(fā) 社招 一面
- 一個類里面被const修飾的成員函數(shù),可以訪問哪些數(shù)據(jù)?可以訪問const的成員變量嗎?可以訪問別的const修飾的成員函數(shù)嗎?
- MySQL為什么用B+樹?B+樹的樹高比較矮,有什么好處?B+樹的查詢效率真的比紅黑樹高嗎?
- 說說C++程序在運行的時候的內(nèi)存布局?vector里面存儲的元素會被放在哪塊地方(堆?棧?)
- 進程間通信的方式有哪些?共享內(nèi)存用過嗎?
- 說說動態(tài)鏈接庫和靜態(tài)鏈接庫的區(qū)別?(只回答出dll可以減小exe的大小,lib會包含到exe里面)
- 你知道recv()接口在對端已經(jīng)關(guān)閉的情況下會返回什么錯誤嗎?
- 你在Linux中常用的命令有哪些?awk用過嗎?sed用過嗎?tcpdump怎么查某個指定的ip地址?grep用過嗎?grep里面 -i 參數(shù) 什么意思?grep怎么全字匹配?
- 用過哪些在Linux上面查日志的命令呢?用VSCode來搜索是不夠用的,比如說我們的項目現(xiàn)在的一個文件夾下面有很多日志,而且每個日志文件里面都有10w+條日志,你覺得用什么Linux命令來查找比較好呢?
- 平時用過gdb嗎?程序一般在哪些情況下會發(fā)生core dump?(說了兩個 數(shù)組越界訪問、野指針 空懸指針, 算術(shù)計算 除以 0 這個沒說出來)
- 如果當前哪個服務(wù)器發(fā)現(xiàn)很卡,然后你ssh到這個服務(wù)器后,找到了某個進程的CPU占用率很高,然后你該怎么進一步去找出這個進程里面到底是發(fā)生了什么事情從而導致CPU占用率很高?
- 說說玩家角色在跨服務(wù)器的時候,原來的服務(wù)器和目標服務(wù)器之間需要溝通哪些數(shù)據(jù)?要做哪些操作?
- 你知道玩家的客戶端具體是和哪個服務(wù)端進程建立TCP連接的嗎?比如說現(xiàn)在有網(wǎng)關(guān)服務(wù)器、登錄服務(wù)器、場景服務(wù)器,雖然玩家的玩法邏輯都是在場景服務(wù)器上運行的,但是玩家的客戶端真的就是和場景服直接建立了TCP連接嗎?玩家假如跨越不同的場景服的時候難道要重新建立TCP連接嗎?
- 你上一家的游戲服務(wù)端支不支持熱重啟?有了解過熱重啟該怎么實現(xiàn)嗎?
- 算法口述:假如現(xiàn)在有一個鏈表,你需要刪除這個鏈表的中間節(jié)點,但是你不知道頭節(jié)點,有什么辦法?
- 算法口述:現(xiàn)在有海量數(shù)據(jù),你得找出前K大的數(shù)據(jù),除了你說的把這些全都push到priority_queue然后再pop出K個之外,還有別的辦法嗎?
了解情況
服務(wù)端純C++,沒有其他語言,跑在Linux上,Linux發(fā)行版是centos 6,很老的環(huán)境了,C++也是98版本,沒有引入什么新特性。9點上班9點下班,一個月里面可能會有2 3 次得需要周六在家里遠程解決問題。
當天反饋:涼了。。。我對Linux上各種操作命令相關(guān)的問題回答得不好。
難頂,好難找工作,而且C++實在是太少崗位了,剛畢業(yè)的應(yīng)屆生們都更卷,我是干了3年的,感覺最近這種行情確實感覺是有點兒沒希望了,轉(zhuǎn)行不知道做啥。可能真的要去送外賣了。
說到底,我也沒啥能耐,空漲這3年工作經(jīng)驗,想要面試C++服務(wù)端、游戲服務(wù)端開發(fā)、游戲服務(wù)端后臺開發(fā)的同學們可以在下面留言,我會盡我所知進行回答,同時會理性勸退(這不是我在過河拆橋,而且這一行確實太卷太累了)
#面經(jīng)##C++##你都收到了哪些公司的感謝信?##互聯(lián)網(wǎng)沒坑了,還能去哪里?##??徒鈶n鋪#