游戏客户端 暑期实习
1.Blinn Phone模型 计算光照强度是怎么做的吗?
2.给出法线,平行光方向,怎么计算平行光强度呢?
3.点乘叉乘区别
4.MSAA抗锯齿的实现原理是什么?
5.MSAA可以在延迟渲染上做吗?
6.MSAA带宽为什么会增加?
7.使用MSAA要避免什么操作?
8.深度测试,模板测试具体是做了什么?
9.法线贴图的作用是什么?法线贴图里面存的数据是什么?在Shader里面怎么用法线计算光照的?
10.阴影贴图,深度值是怎么生成的?
11.阴影抖动是什么问题导致的?
12.阴影粉刺?
13.数组和链表的区别?
14.vector,添加元素到vector超过最大数目后会发生什么?
15.介绍一下红黑树,有哪些数据结构用红黑树实现的
16.智能指针,弱指针,假如共享指针已经释放掉了,弱指针会怎么样呢?
17.共享指针的计数器是怎么实现的?
18.两个共享指针指向一个对象,有几个计数器?
C++并发编程部分(简历上有提到)
19.什么是原子操作?
20.i++是原子操作吗?++i是原子操作吗?
21.线程同步的方法?线程1需要线程2的结果,怎么操作?
22.new和malloc的区别?
23.如果有多层for循环,如何从最里层跳出来。(我说break,然后说只能跳出一层,然后goto,要求列举风险)
24.有20多个bool值数据,如果有一个是true,则满足条件,怎么只判断一次就成立?性能优化
25.多态怎么实现?怎么实现虚函数的?怎么通过指针找到派生类的虚函数?
26.C++怎么实现RTTI?
27.静态类型转换和动态类型转换区别?
我真是个傻子,上次面试有点吓到我了,第一题都没听明白什么意思,听录音才知道我有多么傻
更新,已挂,但不是秒挂,比起上次有进步