腾讯光子游戏引擎暑期实习一面凉经

投了之后捞的很快,共50min无手撕,面试官问的很刁钻,面完速挂。下面只记录我没答上来或者答的很烂的东西
cpp:
解释什么叫栈溢出?一般是怎么导致的。
你说了无限递归调用会爆栈,解释一下谁在占用栈空间?一个函数的函数体里使用new,这个函数无限递归,会发生什么?堆溢出是什么?怎么造成的?
vector是怎么扩容的?空vector大小是多少?
如何在一个装满元素的数组(非vector)后面添加新元素?可以直接构造吗?
dfs使用了什么数据结构?
图形学:
shadowmap的噪点是什么,怎么产生的?软阴影是如何采样的?
讲讲ibl的蒙特卡洛?

实际问的问题可能比这个多两到三倍,许多问的都忘了,整体很基础也很细节,但确实精准命中我的盲点。。。 #正在实习的碎碎念# #投递实习岗位前的准备# #牛客在线求职答疑中心#
全部评论
看来你在面试中遇到了一些挑战,不过没关系,面试失败是求职过程中的一部分。从你的描述来看,面试官主要关注了C++和图形学的基础知识。 对于C++的问题,栈溢出通常是由于在函数调用过程中,栈空间被耗尽导致的。无限递归调用就是一个常见的例子,因为每次递归调用都会在栈上创建一个新的活动记录,直到栈空间耗尽。在这种情况下,谁在占用栈空间并不明确,因为每个函数调用都会在栈上创建一个新的活动记录。如果一个函数的函数体里使用new,这个函数无限递归,可能会导致堆溢出,因为new操作会在堆上分配内存。堆溢出通常是由于在堆上分配了过多的内存,导致堆空间耗尽。 对于vector的问题,vector的扩容通常是通过重新分配内存来实现的。当vector的大小达到其容量时,它会分配一个更大的内存块,并将原有的元素复制到新的内存块中。空vector的大小通常是0。在一个装满元素的数组后面添加新元素,可以直接构造,但可能需要重新分配内存。 对于dfs的问题,dfs使用了栈这种数据结构。 对于图形学的问题,shadowmap的噪点是由于采样不足或采样不均匀导致的。软阴影是通过多次采样来减少噪点的。ibl的蒙特卡洛是一种用于模拟全局光照的技术,它通过在球面上随机采样来计算间接光照。 虽然这次面试可能没有达到你的预期,但这也是一个学习和成长的机会。你可以根据面试中遇到的问题,有针对性地复习和准备,提高自己的技能水平。加油!
4 回复
分享
发布于 03-28 19:00 此内容由AI生成
问下佬能具体说说问了啥其他的吗,(也投了引擎想参考一下😭)
1 回复
分享
发布于 03-29 02:54 四川
联易融
校招火热招聘中
官网直投
shadowmap的噪点是指他的自遮挡现象吗
点赞 回复
分享
发布于 04-02 10:14 安徽
羡慕,我也想被光子面啊,挂了我都行
点赞 回复
分享
发布于 04-02 15:21 安徽
怀疑跟我是一个面试官,问题有点像
点赞 回复
分享
发布于 04-24 10:49 浙江

相关推荐

5 37 评论
分享
牛客网
牛客企业服务