4.10 4399一面面經(jīng) 25春招C++游戲開發(fā)工程師
之前海投打開4399官網(wǎng),結(jié)果沒有暑期實習(xí),但想著打都打開了,就投遞了。
這是我 騰子之外第一個約面的公司
===
一面25min
面試官反饋很好,很認(rèn)真
1. 聊項目
第一個項目 聊天服務(wù)器
reactor 和 proactor 區(qū)別
epoll原理,為什么會有高并發(fā)呢
select,poll,epoll區(qū)別;如何快速處理的呢?
邊緣觸發(fā)和水平觸發(fā)的區(qū)別 (EPOLLONESHOT,我要放置多個線程處理同一個文件描述符(假如又發(fā)生了IO呢))
線程數(shù)量怎么確定的?會動態(tài)漲嗎,比如任務(wù)特別多的時候?
有壓測過嗎?(500QPS)
聊細(xì)節(jié),1W個連接能保持嗎?(答得很迷,答現(xiàn)象就行,面試官沒有為難)
第二個項目 日志器
怎么寫的 (雙緩沖區(qū))
數(shù)據(jù)怎么同步的
智能切換緩沖區(qū)什么意思 ,效率怎么測的
雙緩沖區(qū)會卡住嗎,日志來的太多太快怎么處理 (阻塞)
有日志級別嗎,怎么做的,在不同文件嗎,就是head不一樣? (不同的宏函數(shù):fatal_log,info_log)
文件有錯誤,或者磁盤寫滿,日志落不了地如何處理?
2.發(fā)了個結(jié)構(gòu)體,問32位機(jī)器下的 size
class A{
public:
int f1;
static int f2;
int func1();
virtual int func2();
};
sizeof(A)
(虛函數(shù)指針剛開始沒答,面試官提示了)
64位機(jī)器下呢?(再次提示,有內(nèi)存對齊)
3. Linux 系統(tǒng) 用什么命令檢查有哪些連接?有哪些命令可以檢查網(wǎng)絡(luò)聊天狀態(tài),端口沒有監(jiān)聽怎么辦?
(不常用,用的時候會查)
4. 講一下套接字網(wǎng)絡(luò)服務(wù)器從啟動到關(guān)閉會執(zhí)行哪些調(diào)用(關(guān)閉答的不清楚)
5. 服務(wù)器崩了的情況 (JSON {} 匹配,壓測粘包)
會直接掛掉嗎?(不會)
6. 服務(wù)器解析的JSON嗎 (我現(xiàn)在用Protobuf)
二者有啥區(qū)別,一個是二進(jìn)制的一個是JSON是吧?
Protobuf的壓縮原理清楚嗎?(看過int的重新編碼)
包是固定的嗎? (K-L-V,key后續(xù)可以拓展其他協(xié)議)
7. 有沒有用過內(nèi)聯(lián)函數(shù)?
8. 有什么想問的?
(我實習(xí)入職,會做什么?)
先做簡單的業(yè)務(wù),服務(wù)器開發(fā)的話,實現(xiàn)玩法戰(zhàn)斗流程,活動什么時候開,傷害計算,protocbuf
慢慢熟悉上手
過了,4399 二面是hr面
#??虯I配圖神器#
這是我 騰子之外第一個約面的公司
===
一面25min
面試官反饋很好,很認(rèn)真
1. 聊項目
第一個項目 聊天服務(wù)器
reactor 和 proactor 區(qū)別
epoll原理,為什么會有高并發(fā)呢
select,poll,epoll區(qū)別;如何快速處理的呢?
邊緣觸發(fā)和水平觸發(fā)的區(qū)別 (EPOLLONESHOT,我要放置多個線程處理同一個文件描述符(假如又發(fā)生了IO呢))
線程數(shù)量怎么確定的?會動態(tài)漲嗎,比如任務(wù)特別多的時候?
有壓測過嗎?(500QPS)
聊細(xì)節(jié),1W個連接能保持嗎?(答得很迷,答現(xiàn)象就行,面試官沒有為難)
第二個項目 日志器
怎么寫的 (雙緩沖區(qū))
數(shù)據(jù)怎么同步的
智能切換緩沖區(qū)什么意思 ,效率怎么測的
雙緩沖區(qū)會卡住嗎,日志來的太多太快怎么處理 (阻塞)
有日志級別嗎,怎么做的,在不同文件嗎,就是head不一樣? (不同的宏函數(shù):fatal_log,info_log)
文件有錯誤,或者磁盤寫滿,日志落不了地如何處理?
2.發(fā)了個結(jié)構(gòu)體,問32位機(jī)器下的 size
class A{
public:
int f1;
static int f2;
int func1();
virtual int func2();
};
sizeof(A)
(虛函數(shù)指針剛開始沒答,面試官提示了)
64位機(jī)器下呢?(再次提示,有內(nèi)存對齊)
3. Linux 系統(tǒng) 用什么命令檢查有哪些連接?有哪些命令可以檢查網(wǎng)絡(luò)聊天狀態(tài),端口沒有監(jiān)聽怎么辦?
(不常用,用的時候會查)
4. 講一下套接字網(wǎng)絡(luò)服務(wù)器從啟動到關(guān)閉會執(zhí)行哪些調(diào)用(關(guān)閉答的不清楚)
5. 服務(wù)器崩了的情況 (JSON {} 匹配,壓測粘包)
會直接掛掉嗎?(不會)
6. 服務(wù)器解析的JSON嗎 (我現(xiàn)在用Protobuf)
二者有啥區(qū)別,一個是二進(jìn)制的一個是JSON是吧?
Protobuf的壓縮原理清楚嗎?(看過int的重新編碼)
包是固定的嗎? (K-L-V,key后續(xù)可以拓展其他協(xié)議)
7. 有沒有用過內(nèi)聯(lián)函數(shù)?
8. 有什么想問的?
(我實習(xí)入職,會做什么?)
先做簡單的業(yè)務(wù),服務(wù)器開發(fā)的話,實現(xiàn)玩法戰(zhàn)斗流程,活動什么時候開,傷害計算,protocbuf
慢慢熟悉上手
過了,4399 二面是hr面
全部評論
相關(guān)推薦
點(diǎn)贊 評論 收藏
分享
點(diǎn)贊 評論 收藏
分享
點(diǎn)贊 評論 收藏
分享