4.10 4399一面面经 25春招C++游戏开发工程师
之前海投打开4399官网,结果没有暑期实习,但想着打都打开了,就投递了。
这是我 腾子之外第一个约面的公司
===
一面25min
面试官反馈很好,很认真
1. 聊项目
第一个项目 聊天服务器
reactor 和 proactor 区别
epoll原理,为什么会有高并发呢
select,poll,epoll区别;如何快速处理的呢?
边缘触发和水平触发的区别 (EPOLLONESHOT,我要放置多个线程处理同一个文件描述符(假如又发生了IO呢))
线程数量怎么确定的?会动态涨吗,比如任务特别多的时候?
有压测过吗?(500QPS)
聊细节,1W个连接能保持吗?(答得很迷,答现象就行,面试官没有为难)
第二个项目 日志器
怎么写的 (双缓冲区)
数据怎么同步的
智能切换缓冲区什么意思 ,效率怎么测的
双缓冲区会卡住吗,日志来的太多太快怎么处理 (阻塞)
有日志级别吗,怎么做的,在不同文件吗,就是head不一样? (不同的宏函数:fatal_log,info_log)
文件有错误,或者磁盘写满,日志落不了地如何处理?
2.发了个结构体,问32位机器下的 size
class A{
public:
int f1;
static int f2;
int func1();
virtual int func2();
};
sizeof(A)
(虚函数指针刚开始没答,面试官提示了)
64位机器下呢?(再次提示,有内存对齐)
3. Linux 系统 用什么命令检查有哪些连接?有哪些命令可以检查网络聊天状态,端口没有监听怎么办?
(不常用,用的时候会查)
4. 讲一下套接字网络服务器从启动到关闭会执行哪些调用(关闭答的不清楚)
5. 服务器崩了的情况 (JSON {} 匹配,压测粘包)
会直接挂掉吗?(不会)
6. 服务器解析的JSON吗 (我现在用Protobuf)
二者有啥区别,一个是二进制的一个是JSON是吧?
Protobuf的压缩原理清楚吗?(看过int的重新编码)
包是固定的吗? (K-L-V,key后续可以拓展其他协议)
7. 有没有用过内联函数?
8. 有什么想问的?
(我实习入职,会做什么?)
先做简单的业务,服务器开发的话,实现玩法战斗流程,活动什么时候开,伤害计算,protocbuf
慢慢熟悉上手
过了,4399 二面是hr面
#牛客AI配图神器#
这是我 腾子之外第一个约面的公司
===
一面25min
面试官反馈很好,很认真
1. 聊项目
第一个项目 聊天服务器
reactor 和 proactor 区别
epoll原理,为什么会有高并发呢
select,poll,epoll区别;如何快速处理的呢?
边缘触发和水平触发的区别 (EPOLLONESHOT,我要放置多个线程处理同一个文件描述符(假如又发生了IO呢))
线程数量怎么确定的?会动态涨吗,比如任务特别多的时候?
有压测过吗?(500QPS)
聊细节,1W个连接能保持吗?(答得很迷,答现象就行,面试官没有为难)
第二个项目 日志器
怎么写的 (双缓冲区)
数据怎么同步的
智能切换缓冲区什么意思 ,效率怎么测的
双缓冲区会卡住吗,日志来的太多太快怎么处理 (阻塞)
有日志级别吗,怎么做的,在不同文件吗,就是head不一样? (不同的宏函数:fatal_log,info_log)
文件有错误,或者磁盘写满,日志落不了地如何处理?
2.发了个结构体,问32位机器下的 size
class A{
public:
int f1;
static int f2;
int func1();
virtual int func2();
};
sizeof(A)
(虚函数指针刚开始没答,面试官提示了)
64位机器下呢?(再次提示,有内存对齐)
3. Linux 系统 用什么命令检查有哪些连接?有哪些命令可以检查网络聊天状态,端口没有监听怎么办?
(不常用,用的时候会查)
4. 讲一下套接字网络服务器从启动到关闭会执行哪些调用(关闭答的不清楚)
5. 服务器崩了的情况 (JSON {} 匹配,压测粘包)
会直接挂掉吗?(不会)
6. 服务器解析的JSON吗 (我现在用Protobuf)
二者有啥区别,一个是二进制的一个是JSON是吧?
Protobuf的压缩原理清楚吗?(看过int的重新编码)
包是固定的吗? (K-L-V,key后续可以拓展其他协议)
7. 有没有用过内联函数?
8. 有什么想问的?
(我实习入职,会做什么?)
先做简单的业务,服务器开发的话,实现玩法战斗流程,活动什么时候开,伤害计算,protocbuf
慢慢熟悉上手
过了,4399 二面是hr面
全部评论
相关推荐
点赞 评论 收藏
分享