方向是引擎研发(图形渲染)
两轮面试,写的hr面但也问了技术,问的简单点,技术面问的难
图形学
介绍图形渲染管线,像素处理后面还有什么,深度测试在哪个阶段,三角形交叉怎么办,几何处理的剔除是在什么层级上的,两次面试都问了
Early z是在什么阶段
有哪些空间(世界空间,相机空间之类的
正交和透视区别
光线追踪和路径追踪区别
Mipmap是什么,为了解决什么问题,摩尔纹怎么产生的,如果不给shader采样层级,怎么知道用哪一层
介绍一下gi,知道哪些gi理论
ddgi,光追,路径追踪,sdf(问了下知不知道ssr
介绍一下ddgi,sdf
延时渲染是怎么做的,时间复杂度
Brdf介绍一下,知不知道cook-torrance
辐照度解释一下
怎么计算得到屏幕上某个像素射出去的光线
gpu中if是怎么做的(不知道,说了下gpu上if语句速度相对来说慢一些
C++
介绍一下多态,如何实现的
构造函数析构函数可以声明为虚函数吗
如果没声明析构函数为虚函数会怎么样,析构函数调用顺序
new和malloc的区别,delete和free的区别,平时什么时候用malloc,什么时候用new,还有什么申请内存的方法,比如 int a,这样申请的内存是在哪里
平时遇到内存泄漏,怎么排查的,野指针呢,数组越界呢
Stl,介绍一下vector,如果有指向vector内某一数据的指针会怎么样,查找删除时间复杂度,在头部和尾部删除数据的时间复杂度,链表也问了一遍,还问了链表的内存分布
介绍一下hash表,怎么评判hash函数的好坏
有没有用过智能指针,介绍一下
类型转换,static_cast,dynamic_cast,用dynamic_cast从子类向父类转检测怎么做。如果用static_cast进行父类子类的转换会怎么样
有一个A函数有很多return,怎么在无论从哪里返回的情况下都调用B函数