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

點(diǎn)贊 評(píng)論 收藏
分享