【吉比特】C++岗-服务端开发一二面
一面 9.12 (45min)
1、自我介绍
2、常见出现的内存泄漏
3、怎么样避免内存泄漏
4、介绍智能指针
5、内存泄漏怎么排查
6、C++的垃圾回收了解过么
7、C++11中右值引用
8、线程局部变量
9、介绍协程
10、为什么使用协程
11、游戏中玩家数据交互怎么同步,使用协程(ab买卖情况,ab买卖一方没有付钱怎么办)
12、字节对齐,好处是什么(对齐后减少换页)
13、基类的构造函数可以调用子类的虚函数么
14、unordered_map和map,unordered_set和set介绍,适用场景
15、了解红黑树么
16、链表如何判断成环
17、索引为什么用B+树
18、redis在游戏服务端的使用场景是什么
19、缓存穿透、缓存雪崩的解决方案
20、TCP和UDP区别
21、游戏服务端更适用于哪种协议,原因
22、select、poll、epoll
23、AOI视野管理怎么做(10000人场景里,玩家只能看到周围最近的100人,有什么方案)(redis按距离排序,取前100人显示)
24、游戏中放技能怎么计算打到了哪些目标(redis按距离排序,取技能半径内的玩家id扣血)
25、逻辑处理要发给服务端处理么
26、怎么保证生成的id是唯一的(加密算法,玩家id+服务器id+时间戳)
27、快排和堆排介绍一下
28、线上怎么排查死锁
29、gdb怎么查看堆栈信息
30、怎么查看linux cpu情况
31、游戏拍卖行中秒杀会出现什么问题
32、超大文件去重,单机装不下(拆分小文件,归并思想)
33、如果拆出来的小文件中没有重复的,再次两个合并后就超出了单机内存怎么办(文件1和文件2自身都没有重复的,但是文件1和文件2合并后才有重复的,怎么优化)
34、懒汉的单例模式有什么需要注意的
35、常用的设计模式
36、为什么做这个项目
37、服务器如何处理超时链接的
38、大量的定时器怎么实现的
二面 9.20(60分钟)
面试官躺在椅子上,声音巨小,跟他说,他让我把声音调大点,到100都听不清说的啥,整场连蒙带猜
1、自我介绍
2、实习收获/问题
3、redis怎么保证多线程访问的安全
4、redis可以多路查询么
5、redis怎么区分哪个请求对应了哪个结果
6、redis对于过来的请求有什么要求
7、右值引用
8、拷贝构造和移动构造
9、智能指针区别
10、模板特化与偏特化
11、多路IO复用
12、红黑树
13、写题给一个ipv4地址每个段转成整数,直接暴力模拟
问:为什么不用位操作
答:不太熟,不会
挂
后面实在听不清了。。。。录音只能听见我的声音