Featured image of post 腾讯天美/魔方引擎客户端面经(3+1+2+1面)

腾讯天美/魔方引擎客户端面经(3+1+2+1面)

一面 (~40min)

  • 自我介绍
  • 图形学学习经历
  • 图形学学习过程中问题解决方法
  • 图形学以后的规划(最后问的)

  • 面向对象特点
  • 多态实现方法,虚指针、虚页表是否唯一
  • new 与 malloc 区别
  • 几种构造函数
  • 左值与右值区别,右值的好处
  • 几种构造函数
  • 深拷贝和浅拷贝

  • 有哪些绘制模型(BRDF)
  • IMR/TBR/TBDR
  • Deferred Rendering 中 G-buffer 记什么
  • Vulkan 绘制过程
  • 减少 drawcall 的方法

  • 点在三角形内
  • 圆是否与正方形相交(急了,然后寄)

反向:

  • 业界领先学界?(小case中)
  • 基于商业引擎修改(中台+项目中少部分引擎同学)

二面(~50min,这也太难了吧,寄)

  • 自我介绍
  • 上过哪些图形学课程
  • 读过哪些图形学的书

  • 光栅化过程(发生在流水线哪一步)
  • 重心坐标
  • 抗锯齿方法 SSAA/MSAA/TAA (motion vector 计算)/FXAA(重点拷打,非常细节)
  • Deferred Rendering(缺点:透明物体,多种着色方法(GPU 上 为什么不好 if-else))
  • 法线为什么蓝色(被补充:局部空间)
  • Mipmap 意义,原理,实现

  • C++ 指针哪几种,几位
  • new 具体实现(从软件到硬件包括页表,ptmalloc等)(拷打 Windows 环境下内存分配函数,寄)

  • 算法题:vector 中去除指定元素(一开始说了需要附加空间的暴力算法,寄)

  • 喜欢游戏还是图形学
  • 喜欢哪款游戏
  • 玩不玩手游(最近玩《元梦之星》)/ 同学里玩《蛋仔派对》的多不多
  • 大三之后怎么安排
  • 【数据删除】

反问:

  • 为什么都拷打渲染(默认 GAMES 主要渲染,如果简历上有其他方向则不同)
  • 客户端/引擎组里怎么分工(主要看 gameplay)
  • 哪个工作室【数据删除】

三面(~40min,这次挺轻松的)(upd: 寄不懂)

  • 自我介绍
  • 具体科研做了什么

  • Path Tracer 具体流程,其中遇到的困难
  • 流体仿真项目,效率怎么样
  • 上过哪些课程,简要说明
  • 角色动画相关,前向运动学

  • CPC 经历,觉得比较好的题是什么样的(感觉是闲聊)
  • 个人后续安排,包括实习时长

反问:

  • 游戏客户端和引擎岗区别(客户端主 gameplay,引擎很大程度上是工具链开发)
  • 对于新技术跟进速度(基本上两年左右,延迟一代)

三面寄

被天美捞,再一面(~50min)

  • 自我介绍
  • CPC 分工、好题

  • 流水线 Vertex/Fragment Shader 分别做什么
  • 光影算法
  • 流体仿真
  • 科研
  • 玩哪些游戏

反问

  • 知道是第二轮面
  • 被批评浮于纸上,形而上学,实践太少

被魔方捞,一面(好细)

  • 自我介绍

  • new delete 与 malloc
  • 地址空间
  • 指针、引用区别
  • 拷贝构造
  • 智能指针
  • 重写、重载

  • MVP 变换
  • 蒙皮
  • early-z reverse-z z-fighting
  • 几何/着色锯齿
  • 抗锯齿
  • MSAA,采样三角形外
  • TAA subpixel 抖动
  • mipmap ddx ddy 2x2 硬件光栅
  • Defered Rendering 多光
  • VSSM
  • 渲染方程 cos 采样 NEE

反问:

  • 培养一般做光照优化,没有访问项目的权限

二面(~60min,寄,紧张)

  • 个人情况(保研/具体时间)

  • new/malloc
  • 构造函数中必须显式的部分
  • const DEFINE 作用域
  • 拷贝构造函数/运算符
  • template 特例化
  • struct offsetof/alignof
  • 内存对齐的原因
  • 非常多文件中,三个文件需要使用的变量如何防止污染

  • 二维卷积的加速算法(后来查到了 winograd,是这个吗?)
  • 以空格分割的单词倒序
  • 140g 盐用 7g 与 2g 砝码在三步之内分为 50g 与 90g 的方法

  • 抗锯齿,其在信号与系统中的关系(着色锯齿如何消除)
  • Path tracing 抗锯齿 PDF采样 (Lumen 中的做法)
  • 操作系统:多线程读写的问题及解决方法

  • 反问工业界 AI 应用(如果需要优化,有了解底层的必要)
  • 游戏demo 还是 底层demo (看岗位,可以对着 Ubisoft 的标准区分,较细)

遗照

校内宣讲

校内宣讲线下面

Licensed under CC BY-NC-SA 4.0
使用 Hugo 构建
主题 StackJimmy 设计