12.05 初试
12.12 复试
12.19HR面
12.21 offer
通过参加腾讯客户端开发公开课,得到实习面试的机会,12.02投递的游戏客户端开发的简历,12.04就有光子的面试官给我电话说考虑游戏引擎吗?(内心os:什么我还能去搞引擎?)赶紧回答考虑的然后就约了第二天下午的面试。
实习无笔试
1.自我介绍,硕士研究方向介绍
2.导师做的项目的介绍。
3.为什么选择图形
4.C++多态:虚表指针存在什么地方?(犹豫了很很久,回答了一个在对象里边。面试官挺好给我补充了说存在对象空间的前几个字节,学到了!)
5.智能指针了解吗?讲一下shared_ptr?如何解决循环引用的问题(还好前一天晚上刷了牛客的面经全回答出来了,感谢各位大佬们的面经分享!)
6.stl map是如何实现的?为什么要使用红黑树?红黑树有什么特点?(讲了一下红黑树与AVL)
7.C++ 堆内存与栈内存之间的区别是什么?
8.了解并行编程吗?线程与进程的区别是什么?线程之间的通信方式有哪些?(看过C++并行编程这本书,小case)
9.讲一下PBR的原理。(讲了一下微表面理论,以及组成BRDF几项有哪些以及含义)
10.了解path tracing吗?讲一下重要性采样是怎么做的。(当时只想到了PDF与CDF两个名词,以及cdf是pdf的积分,其他的不知道)
11.虚幻引擎中的深度缓冲进行过什么优化?(回答了inverse-Z)为什么要使用inverseZ?(远处需要更大的精度,float越靠近0,精度越高)
12.earlyZ做了什么工作,原理是什么?为什么深度测试要放在像素着色器之后而不能放在之前呢?(我回答了alpha测试,结果面试官说不是。。我支支吾吾半天没答上来,面试官说是因为像素着色器也有可能改变深度缓冲,啊?可是alpha测试不就是会改变深度缓冲吗)
13.看过哪些书?学过哪些与图形相关的课程?
面试官说如果一面过了的话,需要我准备一个30min的PPT,然后二面是群面,很多面试官面我一个人(内心os:我就面一个实习岗就要来这么猛的吗,算了好好准备PPT吧)
花了半个小时讲PPT,包括本科硕士经历中的获奖、社会实践、项目、实习 balabala~
讲完关掉PPT之后,然后看腾讯会议,猜我看到了什么?10个面试官!!没错10个头像!!10个!至于吗,我的人生的第一次面试,还是实习岗,就要面对这么大阵仗吗?牛客上的人都没给我讲实习要来这么多面试官啊5555
然后就是被各个面试官挨个问问题(每问一个问题,就有十多秒的停顿,给我整尴尬了,看来大家都不是很情愿问问题),所有问题都是基于我做的虚幻的项目(硕士的研究东西都是基于虚幻的)。
然后只有一个面试官问了我一个专业上的问题:我看你学过dx12,那么现代图形API(dx,vulkan)与以前的图形API,例如OpenGL有什么区别呢?(回答了可供控制的东西更多了,多线程之类的balabla),又问:现代图形API中为什么要设置Pipeline State呢,有什么用?我回答了程序员可以更自由的控制。被怼回去了...说OpenGL我也可以用函数控制啊。我又回答了资源生命周期之类的,被说是跑题了不对。又回答了说使图形编程更有逻辑,更好写代码(我自己都不信哈哈哈哈),然后面试官蚌埠住了,说这玩意儿写起来可太痛苦了,最后我回答了一个可复用,他才说这只是其中一点。。。叫我下去再看看,这里边的东西绕得很
然后主面试官问了我一个震惊全场的问题:你是25年毕业的吗?你投的是实习岗吗?我:啊?我投的就是实习啊???。主面试官说:那我搞错了,我以为你秋招的,实习不用准备PPT,也不用群面。。。我:
周末被通知二面过了。
简单聊天,氛围挺轻松的。
12.21拿的offer
虽然说被搞成秋招了但是几场面试腾讯给我的感受都很好,一面面试官在看我有些问题回答不太上来的时候,会很耐心地等我思考,有时候也会给一点提示,实在答不出来的,也会告诉我答案,然后耐心给我讲其中的原理,太nice了!!二面虽然有10个面试官,有一点压力,但是面试官也都很nice,会给我提我做的项目怎么做的更好,哪里可以改进总之,我人生的第一次面试还是很圆满的。
腾仔,我来啦!!
#面经##游戏引擎##腾讯#