网易互娱 游戏研发 面经
一面10.16 1.5h C++
1、拷贝构造函数什么时候调用?知不知道移动构造函数?
2、C++多态实现原理;多继承中虚指针、虚函数表问题(不会)。
3、一个空类的内存大小?类里面有函数时?类里面有虚函数时?
4、STL中各种容器的实现原理介绍?红黑树有什么性质,它的插入、删除实现过程(他希望介绍涂色、旋转的过程)?介绍自己知道的树,DST、AVL树、B树、红黑树等?哈希表解决冲突的方法?什么时候用map什么时候用unordered_map?怎么用两个栈实现一个队列?
5、网络编程了不了解?说说epoll和select的区别?介绍Socket网络编程?
6、说说虚拟内存实现原理?C++的内存模型介绍?函数递归过程栈的变化?进程和线程的区别,同一进程中的多线程共享哪些东西?
7、介绍自己知道的各种排序算法?说说他们的时间复杂度和空间复杂度(快排空间复杂度是O(logN))?
8、多线程同步编程题,开三个线程,线程A打印3n,线程B打印3n+1,线程C打印3n+2,控制三个线程的同步,顺序打印数字(1 2 3 4 5...)
9、编程题,有三小问。已经定义一个双向链表。
第一问:是顺序打印链表值,并中间接“->”输出;
第二问:反转双向链表;
第三问:给一个值x,将链表中小于x的节点排前面,大于x的节点排后面,小于、大于这两部分中各节点的相对位置保持不变。
面试官人非常好,答不出来的问题也没有直接说就算了继续问下面的,而是不断提示引导,比如上面说的快排的空间复杂度一开始我也没答上来,面试官就从快速排序执行过程慢慢提示,说这个过程有没有什么地方需要开辟新空间等等。
感觉面的不是很好,本来就不抱希望了,但是下午接到网易电话,说一面通过,但是上海人比较满了,然后问我能不能接受广州,我说可以,他说接下来会安排二面。
10.24二面50min
1、实验室里项目一般用到哪些技术?介绍你项目里面用到的ROS框架,你们是怎么用的?
2、介绍你简历上提到的发表的论文,你的论文创新点是什么?
3、1000w玩家找出积分top1000的?实时更新1000w玩家游戏排名?
4、12枚硬币,其中有一枚跟别的质量不同,用一个无法码的天平,怎样用最少次数称量找出那枚硬币?
5、类似梦幻西游游戏中,一个人物需要找最近的NPC,有8个NPC分布在地图的各处,考虑为二维平面,知道这8个NPC和自己的坐标,怎样设计游戏能够找到最近的NPC,不要求出距离再将八个值进行比较?开放思路
6、使用TCP协议的游戏,如果网线断了,服务器能知道连接断了吗?那怎么让服务器知道?
7、平时玩哪些游戏?说说你对网易游戏和腾讯游戏的看法?
8、平时看哪些书?技术书籍和其他书籍比如小说都可以。说一个你看书的时候得到的启发。 (我觉得这个问题非常好)
9、拿了哪些Offer?
10、从你自己研究生导师的角度给自己一个评价?
11、你觉得自己是一个幸运的人吗?说说你自己觉得的幸运和不幸运?
12、你有什么要问我的吗?
#网易互娱##面经##游戏研发工程师##校招#