数字天空UE客户端实习笔经
本来约了面试,但是HR临时说老板要调整HC,暂缓面试。按照近年的行情,应该是挂了。所以就把笔经写出来吧。如果后续有面试再更新面经
一、选择题
1、单位向量a、b和y的交叉混合积
不会,但是猜对了。答案是a⋅(b×y)
2、盒子里有12个球,5红7蓝,不放回取两次,问两次取到的颜色不一样的概率
很简单的概率问题,5*7*2/12*11=35/66
3、UE中的异步加载资产是用哪种UE智能指针实现?
之前做项目遇到过,异步加载是通过软引用实现的。所以是TSoftPtr
还有一道太简单了没印象
二、问答题
1、如何防止新实例化的UObject被自动GC
UE的GC是通过维护一棵对象引用树实现的。首先把所有对象标记为“不可到达”,然后遍历对象引用树,把树上的对象标记为“可到达”,然后再清除仍然标记为不可到达的对象
所以有三种办法:1、使用AddToRoot函数,把对象加入到对象引用树的根节点
2、使用UPROPERTY宏修饰
3、让这个对象被其他对象引用
(例如,Actor不会被自动GC,因为它是由World的Spawn函数生成,而World会有个数组保存所有Actor,所以Actor被引用)
2、Gameplay框架
这个看大钊的文章和官方文档,随便答吧
3、有一个长度为n的数组,里面的元素为1到n的n-1个数字,其中缺了一个数,怎么找出来
先计算等差为1的前n项和,然后计算这个数组的数字之和,两者的差值就是缺的那个数
4、设计一个回旋镖系统
这个见仁见智,随便答吧
不过今年真难啊,面试都不给就挂了