网易互娱 暑期实习 游戏研发工程师 一面面经
全程五十多分钟
因为记得不太清楚了,以下问题,在5以后不一定是按顺序来的,也不一定能记起所有题目
1.自我介绍,说说最近干了啥(这里惊了一下,因为没准备,就说能说的了)
2.手撸链表反转,写到看出意图了面试官就说停了
3.给定所有顶点的信息,求场景中独立的网格的数量(这个题目我当时说并查集,复杂度是nlogn,面试官说有没有O(N)的办法,结果没想出来,后面去查了发现并查集就是线性复杂度)
4.说说shared_ptr,它的签名以及大致实现思路,在引用计数怎么存这个问题上面卡了一下,还是让面试官提示了一点才解了
5.说说右值引用,有啥用,和左值有啥区别
6.vector内存是如何实现的(乘2,多扯了一句内存池)
7.说说内存池(没答好内存池的好处,比正常的new有啥优势)
8.模板特化、偏特化?(否)
9.渲染管线知道不(回答否)
10.讲讲GPU?线程之间执行的代码可以不一样吗?GPU执行代码的最小单位是什么?(最后一小问否)
11.如何将游戏内的坐标映射到屏幕坐标?
12.update和fixedupdate区别?(否)
13.sort的签名,以及为什么能适应不同容器?(答得不太行)
14.前后端你怎么看,比较喜欢哪个?
15.线程调度算法有哪些
16.栈大小?能调整吗,怎么调整(不会)?什么时候会爆栈?一个进程有多少个栈?
17.说说socket,顺便讲下以前做的一个后端项目,用的TCP还是UDP?对第三方网络库了解不?
18.说下半包、粘包,怎么处理?
19.我说我前阵子想写一个斗地主AI,于是被问写的咋样了hhh,答案是还没思路
20.四元数和矩阵?
最后问我有什么想问的,我问面试啥时候出结果,面试官说最多一周
还请教了第3题O(n)的实现是怎样的,
面试官不严肃,挺友好的,可以不用太紧张(我发现很多面试官都挺友好的),思考的时候要把紧张的情绪尽量排除,正常发挥就好了
另外其实有的问题我是根据自己的知识大胆猜测回答的,回答的时候还加上了"吧"、"应该"等字眼,结果面试官给的反馈似乎说明没问题,所以回答还是要联系基础知识哈
然后我可能比较多嘴,说了一些补充的东西,然后面试官会从我说的补充信息提问,其实这也算是一个引导问题、展示自己知识面的方法吧(我当时并没有刻意这么做,只是复盘以后发现了这个细节)