2022.4.7巨人网络 游戏开发工程师(已offer)
一面(4.7,32分钟)
先自我介绍
开场问十分钟项目
C++:
1.指针和引用的区别
2.内存泄漏是怎么造成的、会造成什么后果
3.智能指针,shared_ptr怎么知道什么时候要delete掉指向的对象
4.vector和数组的区别、vector的push_back和emplace_back的区别
5.其它了解的stl
6.map for循环怎么安全的删除元素
7.uordered_map访问一个元素的时间复杂度,为什么是这个复杂度
8.电脑只有512M内存,能new1G空间吗、malloc 和new的区别
游戏情景题:
1.带有名字(string)、分数(int)的排行榜用什么数据结构存和用什么排序算法
计网:
1.游戏一般用udp还是用tcp,为什么
2.如果使用udp会有丢包和包顺序错误这种情况,怎么解决
二面(4.14, 一个小时左右)
自我介绍+项目
手撕题:
1.简单手撕一下list,构建一个链表,写一下反转链表并输出反转结果
2.实现排行榜功能,并且也要能数据查询(比如通过角色查分数,分数查角色等)