首页 > 实习面经 腾讯/网易/米哈游 游戏引擎开发/图形渲染岗
头像
追风筝的小胖子
编辑于 2020-09-12 14:56
+ 关注

实习面经 腾讯/网易/米哈游 游戏引擎开发/图形渲染岗

前言

把之前面试的录音整理一下,也方便这个岗位其他人借鉴一下。有些问题是面试官根据我的项目来问的,所以看到这些问题直接跳过即可。

腾讯实习一面

1.  栈内存和堆内存的区别?为什么要区分?函数里面的变量是哪一种内存?

2.  讲一下函数调用栈的变化过程?

3.  Malloc和new的区别?

4.  以下代码的问题在哪里?

5.  智能指针了解过吗?

6.  虚函数,虚函数表,虚函数表放哪里?虚函数表里面放的是什么东西?

7.  构造函数和析构函数可以是虚函数吗?

8.  Static_cast和dynamic_cast的区别?各自的用途?为什么用dynamic_cast的地方不用Static_cast

9.  STL的vectorlistmapunordered_map。哈希冲突怎么解决?

10.两个栈模拟队列怎么实现?

11.STL里面的sort函数的实现?

12.快排的稳定性和时间复杂度,如何优化快排使得它稳定?

13.操作系统里面物理内存和虚拟内存的概念?

14.线程安全,多线程,线程池有了解吗?

15. Sizeof(MyStruct)是多少?

16.TCP和UDP的区别?

17.为什么要三次握手?两次握手不行吗?

18.如何实现UDP里面一部分消息是可靠的?如何实现包的有序性?

19.知道AB的世界矩阵,如何求A相对于B的矩阵?

20.射线与球体相交检测?

21.判断一个点是否在一个三角形内?

22.迪杰斯特拉算法和A星算法?

23.如下图

24.如下图

25.PBR中漫反射方程1/π的由来?

26.怎么光栅化一个三角形?

27.说一下渲染管线?

28.PBR知道吗?它的一些模型?比如高光模型这些?

29.知道什么是IBL吗?怎么生成cubemap

30.深度测试在PC端和移动端的不同?在什么阶段做,光栅化前还是之后?

31.SSAO的原理?

32.你怎么实现的软光栅,流程?载入的是模型的静态mesh吗?有没有考虑过现在的游戏怎么简化?

33.用过Unity或者UE写过shader吗?现在写的都是离线渲染?有试过shader尝试写效果吗?

34.半透明渲染?

35.头发怎么渲染?

36.阴影的做法?

37.静态光照的烘培技术了解过吗?

38.光线追踪的噪点是怎么解决的?

39.静态阴影和动态阴影怎么混合?

40.光线追踪的抗锯齿怎么解决的?

41.怎么渲染镜子里面的物体?

42.如题:

43.如题,应该用什么算法解决?

44.你觉得离线渲染为什么会有噪点产生?


腾讯实习二面:

1.  平时玩游戏吗?玩过哪些游戏?

2.  你想从事游戏研发主要是因为你喜欢游戏还是你觉得你学的东西在游戏领域可以发挥作用?

3.  C++里面多重继承可能带来哪些问题?

4.  Protected和Private继承的区别,什么时候会用?

5.  解释成员函数的重载、覆盖和隐藏。

6.  C++的多态是如何实现的?

7.  如何用C语言实现多态?

8.  C语言里面函数调用的实现原理?

9.  一个程序有几个栈?线程的栈?

10.计算机系统引入cache的原因?

11.如何写出缓存友好的程序?

12.计算机系统为什么要引入虚拟内存?虚拟内存的原理?

13.操作系统分页管理机制?

14.说一下内存碎片产生的原因?以及优化方法?

15.对比一下数组和链表的优缺点。

16.快速排序是最快的排序算法吗?

17.了解迪杰斯特拉算法吗?作用是什么?描述一下计算步骤。可以求得最优解吗?了解启发式搜索吗?

18.如何评价一个哈希函数的质量?发生冲突如何处理?

19.计算机里面如何计算三角函数?

20.如何求正交矩阵的逆?

21.蒙特卡洛积分?

22.什么是概率密度函数?

23.你实现的光线追踪渲染器是有偏还是无偏的?用的是什么算法?你有没有做过降噪的处理?有没有用过重要性采样?

24.做纹理映射的时候为什么要做透视矫正?以及为什么要做?

25.你的软光栅是如何支持shader的?有没有做过性能优化比如多线程处理?

26.对顶点的法线和位置进行变换的时候有没有区别?可不可以用同一个矩阵?什么时候可以用同一个矩阵?

27.欧拉角、四元数、矩阵描述旋转的优缺点?

28.如何判定圆形和线段是否相交?

网易雷火实习一面:

1.  用OpenGL写过什么功能?

2.  渲染管线知道吗?

3.  知道Alpha BlendAlpha Test吗?Alpha Blend的方式怎么修改?

4.  讲一下法线贴图。你在项目里面是怎么使用的?使用法线贴图的时候,顶点的数据需要多保存什么样的信息?(面试官提示,空间变换要求保存一个额外的信息,不仅需要保存原本顶点的法线,其实还要另外保存一个切线)

5.  三角形的三个顶点如何算法线?

6.  SSAO的做法?如果不是屏幕空间的话可以怎么算AO?有没有办法在屏幕空间也发射类似射线的做法,你知道这种做法吗?(面试官提示:SSR,做水面倒影的)

7.  你之前做的场景东西是怎样的?

8.  做水面的效果你会怎么做?比如水面波动的效果怎么做?(除了顶点变换还可以怎么做?)

9.  为什么用CUDA而不是RTX写光线追踪?

10.知道智能指针吗?他们有什么差别?share_ptr是怎么实现的?

11.有用过mipmapping吗?mipmapping的功能是什么?程序是怎么知道要用哪一层的mipmap

12.贴图的采样方式知道吗?有使用什么采用方式吗?

13.你之前用Unity做过的小游戏内容是什么?

14.你做程序的时候是怎么DEBUG的?做渲染的话,GPU并行的程序你是怎么DEBUG的?(哎,当时RenderDoc都没用过,太菜了)

15.C++的动态库和静态库介绍一下。哪一种性能上比较好?


网易雷火实习二面:

1.  你学了多久渲染?引擎的掌握情况如何?

2.  实时渲染这一块掌握了哪些知识?

3.  PBR能简单介绍一下吗?

4.  PBR的金属度和粗糙度的区别是什么?比如说粗糙度一样,金属度分别为01,他们的表现有什么区别?

5.  HDR里面的tonemapping简单介绍一下。为什么要用tonemapping,不用的话有什么问题?

6.  延迟渲染为什么效率会比较高呢?

7.  美术做了一个普通的场景,突然要改成雪景的效果,现在要做雪的堆积的效果,平的地方有雪的堆积,陡峭的地方无雪,房顶有雪,房子里面没有雪的。如果让程序来做要怎么做?(面试官提示可以用延迟渲染来做)

8.  GBuffer存哪几张贴图?

9.  Shader里面如何计算ddxddy,描述一下这两个函数的原理。

10.有一个场景,有非常多的矩形块,需要写一个函数,输入坐标点,输出这个坐标点位于哪个矩形块。

11.A星寻路了解吗?现实当中人不一定走最近的路线,比如泥泞的路一般不会走,那游戏里面如何改进A星算法使得结果更像人的路线?


网易雷火实习三面:

1.  介绍光线追踪渲染器做了哪些事情?

2.  降噪怎么做?

3.  半透明物体怎么处理的?光线追踪渲染器里面怎么做的这个?

4.  已知镜面反射入射光和法线,求反射光?

5.  空间中一条射线已知起点和方向,球体圆心和半径,如何判断射线是否和球体相交?除了联立方程,有没有更简单的方法?

6.  光线追踪渲染器里面的抗锯齿怎么做的?

7.  了解过NV出的RTX吗?有没有在它们的平台尝试过光线追踪?

8.  光线追踪渲染器使用了什么数据结构组织数据使得求交更快?

9.  描述一下SSAO的原理?

10.光照计算为什么必须在线性空间中进行?伽马校正怎么做?

11.骨骼动画没有了解过是吗?

12.如何实现云海效果?

13.屏幕上的像素点反算出世界空间中的坐标的计算方法?

14.C++的一个很大的二维数组,遍历的时候是行遍历还是列遍历比较快?为什么?

15.i++语句是线程安全的吗?为什么?

16.设计一个动态数组,可以速度很快地删除动态数组中间的某个元素?

17.如何渲染一个瀑布?


米哈游实习一面:

1.   介绍一下光线追踪渲染器的实现?

2.   知道实时光线追踪吗?

3.   光线追踪抗锯齿你怎么实现的?

4.   漫反射材质、金属材质、电介质材质这些材质你是怎么实现的?

5.   讲一下渲染管线的流程。

6.   判断一个点是否在三角形内。

7.   顶点UV插值需要注意什么?

8.   透视正确的插值怎么做呢?

9.   Alpha Test和Alpha Blend的区别。

10. 软件光栅化渲染器的隐藏面剔除怎么做的?

11. 讲一下你对PBR了解多少?

12. 前向渲染和延迟渲染的区别?

13. 延迟渲染有什么缺点?

14. 延迟渲染管线怎么绘制透明物体?

15. 实时渲染里面的阴影通过什么方法来做的?

16. 你说看过《DOOM启示录》,那卡马克发明了一种渲染阴影的算法你知道吗?

17. 你玩过我们公司的游戏吗?

后记

这个岗位的面经相对少一点,希望能帮到有需要的人。

更多模拟面试

全部评论

(11) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐