腾讯游戏客户端实习(天美)
在艰难等待中写面经攒攒人品,
3.9
投简历。
3.14
被天美捞起来。
3.18:一面(30分钟左右)
1.虚函数?(虚指针,虚函数表)说了一下详细过程。
2.用过的STL。(答了vector、map,也讲了下其他的list、set)
3.STL中sort()函数用的是什么排序?
(答的快速排序,面试前看过一面试就忘)
其实应该根据情况用了快速排序、堆排序、插入排序。然后面试官就问看过源码嘛(那自然是没有....
4.快速排序的时间复杂度(nlogn,还说了最坏的情况)
5.基于比较的排序最快时间复杂度?(nlogn)
追问:理由?
答:感觉基于比较找一个数是O(logn),n个数就是nlogn,像二叉树的感觉。
面试官:猜的嘛?
答:嗯!
6.生产者消费者避免锁操作的损耗?
(多线程没怎么了解,就说生产满了才让消费,消费完了才让生产就不用加锁)太憨批了
面试官接着说了想问的是无锁队列:我只能说不了解。
7.数组找出最大和次大。(我说遍历两次???
面试官问:能更快吗?
我想了一下(我居然问数组有序嘛?有序找锤子。)
然后感觉不拖时间了就说:不知道(其实只过了几十秒)
面试官就笑了一下:就放弃啦。(然后继续了)
面完后复盘:平时做题都知道维护两个变量遍历一遍就行了。还是太紧张了,估计想问到topk的被我直接打断了。
8.shared_ptr原理。(追问存在的问题:循环引用(举出例子)(解决:weak_ptr或者不用智能指针,自己释放内存)
9.BVH树的构造。(SAH优化原理,节点包含了什么,遍历过程)
10.SSAO的原理。
11.CSM的原理。
12.点光源阴影。
12.渲染管线。
13.高斯模糊,具体怎么做。(将滤波拆成x,y两个方向分别做一次过滤)
追问:为什么能拆?
答:根据函数性质,算出数据和二维滤波一样的结果。(被说不对,就说不知道了)
14.渲染时提高效率的方法(能说多少说多少)
当时只说了:减少if语句的使用(追问为什么)
unity中的合批。(我说加快了gpu上的速度被指出应该减少的是调用渲染的消耗)
其实还有剔除、lod技术等(面试自然忘了
15.用过什么引擎。(unity,只是用过)
反问:部门 (赛车类
反问:意见 (基础要加强,多实践
本来觉得凉了,结果捞了一手(感谢面试官🙏
3.20 二面(40分钟+)
1.多态(静态和动态)
2.虚函数表的时期和位置(编译期,常量区)
3.菱形继承,最下层子类没有继承虚函数,两个父类继承了他们父类的虚函数,问最下层子类的虚指针数(答的两个,只有继承的两个父类的虚指针,说了一下内存布局)
4.移动语义,move()的作用。
5.问move一个const变量发生什么?
(不会调用移动构造函数,因为const变量不能被更改,会转成拷贝构造函数)
6.写过移动构造函数吗(照着写过,说类似剪切和粘贴,直接转移变量)
7.透视投影和正交投影的区别(透视投影物体大小受远近影响
8.透视投影矩阵的推导(简单说了相似三角形加变换矩阵投影到-1到1,说的有点乱,面试官不是很满意,不过自己确实一下子说不出具体过程)
9.着色时三角形内部如何计算。(三角形重心坐标插值)
10. mipmap的原理,gpu是如何层级选择。(答根据像x,y方向分别采样下一个,估计出对应到纹理贴图的大小再取对数。被说不对,可能想问直接求偏导ddx,ddy?)
11.走样产生的原因(采样率不足
12.知道的反走样算法(msaa,ssaa,smaa,taa)
13.shadowmapping会出现的问题和原因。(查找深度时同一片区域会有同样的深度,实际上深度不同)
14.PCF的原理。
15.光线追踪的原理以及光线何时停下(我的做法是限制了弹射最大次数)
除了到最大弹射次数还有什么情况(反射到了光源
16.光线追踪有没有什么降噪技术(没用,但是知道可以在时间上复用前几帧加权进行降噪)
又问:为什么不用 (因为太菜了😂
17.SSAO如何知道结果是对的。(先说眼睛看出来的👀,后面改口说过程中将环境光遮挡系数着色可视化出来,又问那怎么确定是正确的,我又回答说眼睛看的,角落颜色会更深。后来就算了)
18.用unity做过什么?(说没学多久,做了个地牢的随机生成程序,用animator做了下跳跃、翻滚、攻击)
19.追问地牢生成中的Dlaunay三角网算法怎么写的。(最开始自己是根据性质每两点外接圆不包含别的顶点暴力的,后面果断下了个库)
20.NavMesh看过源码嘛(只了解过,没看过,然后说了下A*)
21.遍历二维数组行遍历和列遍历的区别(行遍历顺序存储,列遍历需要地址变换效率更低。追问还有吗?不知道了)
22.硬盘数据到内存太慢了用什么解决的(说了cache,要再具体点,说不了解,这里不知道该答什么,有可能问题听错了)
反问:意见(基础还行 多实践
反问:具体部门(飞车部门
3.24hr面(30分钟+)
都是常规问题:平时如何学习,考不考研,家在哪,有没有女朋友(没有),有没有什么爱好,实习地点有没有要求,玩过哪些游戏(说了csgo、lol、原神、巫师三、黑魂等,居然说玩的类型不太多,我心里想怕都说了太浪费时间了,就说各类游戏都玩)。
反问:多久出结果 答实习还没正式开始,大概两周左右(估计是还要横向难受
三面全部面试题有点久有些记不全了,列了大部分。
3.29云证+测评
4.1变录用评估
现在大家流程好像大部分都没走,希望能有hc都能早日oc。求给个offer!
4.14
流程结束 寄
#游戏客户端开发实习##Unity Technologies##实习##腾讯##游戏客户端开发工程师#