一面 (~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 的标准区分,较细)