网易游戏面经
经历了春招暑期实习颗粒无收,慢慢积累了相关经验,终于拿到了网易游戏的游戏研发offer。之前的一次次跌倒终究都不会是没用的,无数次失败的面试最终在这一刻得到收货,在此感谢牛客网,也感谢无数在牛客网分享面经的朋友们。
先说说事先的准备吧。由于网易游戏研发岗要求上明确的一个是语言(cpp/ Python),另一个就是数据结构算法,操作系统,计算机网络相关知识,还有图形学算法等。我个人除了py和图形学没怎么接触过外,主攻c 和数据结构算法,剩下的东西打好基础,差不多就可以上战场了。
这次的招聘流程有线上和线下两种安排,我可能由于在广州因此走了线下面试的流程。
代码测试:一面以前会有一个代码测试的环节,每个人发一张试卷,上面有一道代码题,实现有溢出判定的strcpy函数,做的时候注意两个判定,一个是源和目的内存段重叠问题,可能需要从后往前复制避免重叠,再一个是注意溢出,超出内存的部分要截断。
一面:(时间有点久了可能尽量回忆)
1. c 如何实现多态- 多态分静态动态,静态多态是函数重载,动态多态是使用了虚函数
2. 说说虚函数如何实现多态- 虚函数表,子类重写父类的虚函数会替换虚函数表项的对应函数指针
3. 虚函数放哪- 放在类的最前面的位置,有一个指向虚函数表的指针
4. 多继承的虚函数表怎么放?-一个在上另一个在下面,按照继承顺序
5. 说说虚继承- 如果b,c是a的子类,d继承b,c,那么d中a会被构造两次,造成数据冗余。使用虚继承则a只会被构造一次
6. const关键字的作用以及和defined的区别
7. 手撕代码层次遍历-用队列辅助,根节点入队,出队访问,如果有左右节点则入队,直到队列为空
8. topK问题-数据很多怎么找?我说用归并算法,类似外部排序的思路去做
9. 如果数据很多,k比较小呢?用一个k大小的小根堆,如果比堆顶小就加入堆,然后用这个最小堆转换一个大根堆找到当前最大的数,把这个数剔除,再维护k大小的最小堆
10. 说出所有稳定排序
11. 讲解一下前面代码测试的思路
12. 排名实时更新,你排在几万名的位置,怎么快速查到自己的排名-(这个感觉回答的不太好。。。回答了一个二分查找的思路,但有一些坑要注意)
13. 学过图形学吗-没接触过
——————又想起来一些,补充一下
14. 了解epoll吗,为什么epoll会比较快,epoll的原理
15. linux文件最大有多大-(回答的不太符合面试官想要的答案,又提示了虚拟内存)>虚拟内存原理
16.单链表原地排序
一面结束。坐等了大概半个小时,hr小姐姐通知二面。
二面:
1.老问题,快速找到自己在排行榜的排名
2. 游戏中人物有视野,怎样实现把视野中的人显示出来视野外的不显示(不太记得了)
3. 聊了下研究生时期的论文算法,大概讲了一下这个算法的用途目的还有基本思想
4. 闲聊,对网易的看法,对其他游戏公司的看法等等
5. 期望的工作地点,薪资待遇等
就这些了。希望对大家有帮助。
#面经##秋招##游戏研发工程师#
先说说事先的准备吧。由于网易游戏研发岗要求上明确的一个是语言(cpp/ Python),另一个就是数据结构算法,操作系统,计算机网络相关知识,还有图形学算法等。我个人除了py和图形学没怎么接触过外,主攻c 和数据结构算法,剩下的东西打好基础,差不多就可以上战场了。
这次的招聘流程有线上和线下两种安排,我可能由于在广州因此走了线下面试的流程。
代码测试:一面以前会有一个代码测试的环节,每个人发一张试卷,上面有一道代码题,实现有溢出判定的strcpy函数,做的时候注意两个判定,一个是源和目的内存段重叠问题,可能需要从后往前复制避免重叠,再一个是注意溢出,超出内存的部分要截断。
一面:(时间有点久了可能尽量回忆)
1. c 如何实现多态- 多态分静态动态,静态多态是函数重载,动态多态是使用了虚函数
2. 说说虚函数如何实现多态- 虚函数表,子类重写父类的虚函数会替换虚函数表项的对应函数指针
3. 虚函数放哪- 放在类的最前面的位置,有一个指向虚函数表的指针
4. 多继承的虚函数表怎么放?-一个在上另一个在下面,按照继承顺序
5. 说说虚继承- 如果b,c是a的子类,d继承b,c,那么d中a会被构造两次,造成数据冗余。使用虚继承则a只会被构造一次
6. const关键字的作用以及和defined的区别
7. 手撕代码层次遍历-用队列辅助,根节点入队,出队访问,如果有左右节点则入队,直到队列为空
8. topK问题-数据很多怎么找?我说用归并算法,类似外部排序的思路去做
9. 如果数据很多,k比较小呢?用一个k大小的小根堆,如果比堆顶小就加入堆,然后用这个最小堆转换一个大根堆找到当前最大的数,把这个数剔除,再维护k大小的最小堆
10. 说出所有稳定排序
11. 讲解一下前面代码测试的思路
12. 排名实时更新,你排在几万名的位置,怎么快速查到自己的排名-(这个感觉回答的不太好。。。回答了一个二分查找的思路,但有一些坑要注意)
13. 学过图形学吗-没接触过
——————又想起来一些,补充一下
14. 了解epoll吗,为什么epoll会比较快,epoll的原理
15. linux文件最大有多大-(回答的不太符合面试官想要的答案,又提示了虚拟内存)>虚拟内存原理
16.单链表原地排序
一面结束。坐等了大概半个小时,hr小姐姐通知二面。
二面:
1.老问题,快速找到自己在排行榜的排名
2. 游戏中人物有视野,怎样实现把视野中的人显示出来视野外的不显示(不太记得了)
3. 聊了下研究生时期的论文算法,大概讲了一下这个算法的用途目的还有基本思想
4. 闲聊,对网易的看法,对其他游戏公司的看法等等
5. 期望的工作地点,薪资待遇等
就这些了。希望对大家有帮助。
#面经##秋招##游戏研发工程师#