面的网易互娱杭州的游戏研发,之前笔试只做了两道多一点,以为收不到面试邀请了,没想到前几天躺在床上给我来了一个惊喜,希望网易还能再给我一次惊喜。
P.S.面试官小哥哥的声音贼酥,我一个男的都有点心动了。
1. 自我介绍
2. 介绍项目(这里可能会针对你的项目问一些问题,当时是问了我unity怎么实现鼠标对物体的拖动)
3. C++map的底层实现(红黑树)?为什么要用红黑树(讲了一下插入删除搜索的时间复杂度)?和hash表有什么区别,各自的优劣(hash表搜索插入删除操作都为常数时间复杂度,对空间要求更高,面试官问我还有吗,我当时有点懵没有憋出来)
4. C++的多态(重载,重写)
5. 右值引用(提了一嘴转移语义,结果记得不清楚没说好,有点尴尬)
6. C++编译过程中的动态链接和静态链接有什么区别?动态链接的流程是怎样的
7. TCP/UDP的区别
8. TCP靠什么保证可靠性
9. TCP的拥塞控制
10. 游戏大厅中tcp连接的I/O复用是怎样的(网络编程接触得比较少,这里没答上来)
11. 图形学怎么实现阴影(回答不会)
12. 渲染管线
13. 写过着色器吗?具体实现过什么功能?
14. 进程和线程的区别
15. 进程间的通讯方式?线程间的通讯方式?
16. 手搓代码:实现一个环形缓冲区。写完后问如果这个缓冲区用于多线程需要做些什么(只回答了一个加互斥锁)
17. 手搓代码:给定一个数组t一个整数m,要求从从数组中选出一串数字使得它们的和为m且乘积最大,如果无解输出-1(背包问题,一开始讲思路的时候说了dp,结果写的时候写成了递归,面试官问dp应该怎么做,结果只剩两分钟了没想起来。。。)
18. 反问环节:怎么学习游戏开发
总结:总的来说面试题都挺基础的,比较遗憾的是可能有些题自己不知道答案,但是有一点自己的思路(比如阴影那里)。所以大家遇到自己不会的题的时候可以大胆讲一下自己的思路,这样面试官也能看出来你的思考。
全部评论
(10) 回帖