腾云摘星UE客户端实习一面凉经

不清楚是不是秋招。HR直接加wx说要面试。猜测是我在鹅招聘官网投的,没关掉子公司推荐就被捞了。项目组是The Finals国服

全程55min

部分问题问的有点深而且连续性很强,所以括号里贴出我的一部分答案。没括号的就是不会的。

讲了一会实习产出,对面的评价是很标准的商业项目实现

如何实现一个生命周期与GameMode一致的子系统

【GameMode基类里面维护一个SubsystemCollection。初始化里用反射获取,结束阶段再释放掉】

学过强化学习吗?知道怎么用强化学习驱动AI吗?

说一下UE的反射

【说了一下类型系统的组成与意义,UHT的行为。

.gen.h中的内容:一些默认函数的声明或者警用。与蓝图交互用的Thunk处理。

.gen.cpp中的内容:一些默认函数的默认实现。类型对象、Outer和Package构造注册。静态全局结构体变量收集并初始化信息,例如该类的Outer和Package的构造函数的函数指针、用类型萃取判断该类是否为抽象类以及成员函数的数量等信息】

既然C++和蓝图之间的交互需要thunk,UE反射的Thunk具体做了什么。从蓝图调用C++函数,中间的具体步骤是什么

CDO的生成怎么实现的看过吗

UE的GC怎么做的

【GC和TryGC的区别、四种避免GC的标记位和如何写入根集,从根集出发标记可达对象。最后释放不可达对象】

大世界场景下GC怎么优化?【簇和新老生代】

除了这些以外还有呢?

如何使得UObject不会被UE的GC影响到

【一是AddToRoot。二是使用UPROPERTY宏让UHT注意到。三是让其被UE管理的UObject引用,例如Actor其实就不需要考虑被误GC】

换成原生C++类呢?

【我没太懂他到底要问什么,按道理说根本就不会参与到GC里去。但他后来又说一般是挂在单例下管理】

UE的属性同步怎么做的

【客户端和服务器的Connection->ActorChannel负责给Actor同步->其中RepState的Changlist维护了一个环形数组存储历史值(这里提了一嘴RepLayout,但我觉得没必要细说)。服务端的NetDriver会Tick执行历史值和当前值的对比,不同就会触发同步】

既然是每帧对比历史值,大量Actor的同步怎么优化

【一是可以用PushModel,由程序员根据需要主动同步。二是用ReplicationGraph,自定义同步策略】

那它们各自的应用场景是?看过ReplicationGraph的实现吗?

我看你之前有个小Demo用的还是原生的DS架构,但是和动画有关的网络同步,如果用DS架构都向服务器请求的话会受网络影响,这种情况该怎么办。

【用预测回滚】

用预测回滚的话,服务器和客户端还是会受网络影响出现延迟,会导致动画卡顿或者瞬间播放的问题。

【延迟补偿机制】

用延迟补偿是吧,说一下。

【我的理解是在PlayerController和Character的运动方面添加对应的修正参数,例如允许的误差值、某一运动参数的历史缓存,使用这些参数来让一些判定更容易或者更难达成,进而缓解因为网络波动带来的表现问题】

那如果你来优化,你怎么做?

反问评价:没达到他们这个岗位应该有的技术认知

#面试问题记录#
全部评论
我测,问这么难?感觉像初级社招一样
1 回复 分享
发布于 08-25 16:43 广东
好难
点赞 回复 分享
发布于 08-27 14:51 美国
太恐怖了
点赞 回复 分享
发布于 08-24 20:15 上海
下次会赢的
点赞 回复 分享
发布于 08-24 09:06 浙江
man,怎么还在问强化学习的啊
点赞 回复 分享
发布于 08-24 02:54 浙江
怎么感觉都没问计基,全是UE八股
点赞 回复 分享
发布于 08-23 23:45 湖北
我去,问的好难
点赞 回复 分享
发布于 08-23 19:27 广东
好深啊,一个实习怎么感觉跟招资深一样
点赞 回复 分享
发布于 08-23 14:39 浙江
点赞 回复 分享
发布于 08-23 12:44 湖南

相关推荐

头像
12-11 12:20
已编辑
门头沟学院 游戏前端
大厂求职失败帖子(前情提要):https://www.nowcoder.com/share/jump/1765176110465-----------------------------------------------------------------------------------------------------------------------------一、秋招回顾:从“准备春招”到“米哈游OC”简而言之,秋招只投御三家(米猪鹅),鹅和猪挂麻了,米在9.21号笔试后再无消息。我以为自己秋招彻底寄了,已经开始准备春招。没想到这场笔试埋了个伏笔,时隔2个月竟发来面试通知,命运的齿轮开始扭转!以下乃面试心路历程:- 收到面试通知:我连腾讯、网易都挂了,米能过?发面试来羞辱我的是吧?要不要拒了?算了还是参加一下。- 一面通过:知足了,能过一面就已经很厉害了,后面还有更难的二面呢,不要抱有幻想。- 二面通过:我最后发挥那么差都过了?骗我的吧?那得好好准备三面了。- 三面通过:又被diss了一波引擎经验,但其他部分良好,到HRBP面应该没问题,估计又要排序挂了(雷火PTSD)。- 收到OC:我他喵无敌了!-----------------------------------------------------------------------------------------------------------------------------二、复盘米哈游面试:八股的重要性与“思维深度”米哈游极其重视八股(尤其是C++基础),游戏开发相关经验不重要。同样是八股,有的人表现好,有的人表现差,重点在于“思维深度”。例如,你学习lambda表达式的时候,有没有死抠它的每一个细节(例如值捕获和引用捕获一个对象时的差异)?以至于,无论面试官如何问你它的特性,你都能举一反三,像呼吸一样自然?其次,游戏开发经验肯定是加分项,但深度大于广度,简单地会用游戏引擎没有任何意义,要能说出底层的各种机制原理,例如碰撞、渲染、Update。相比之下,腾讯和网易更关注引擎机制与实际使用经验。我不禁想问,这真的合理吗?在求职环境卷到极致的今天,很多人原本做 AI、做后端,只是因为热爱才转向游戏开发,重新学一套完全陌生的技术栈。于是技术栈“重构”了,机会却没有变多。再加上部分项目组偏好实习转正,路径更窄。说实话能够拿到米的offer,我觉得是个起点。平台给到了,之后要靠自己磨技能、做项目、交付价值。在我心目中,米的难度远高于另外两家,心里有团怒火在告诉自己:我要证明鹅和猪是短见,你们不会看人。-----------------------------------------------------------------------------------------------------------------------------三、得失之间:每一场失败都是向前的力回看整个秋招,我能从绝望走到今天,很大程度上靠的是:- 及时复盘每一场面试;- 死盯短板,不让同样的坑踩第二遍;- 持续保持自我审视与自我更新。坦诚地讲,如果不是前期那些大厂面试暴露出来了短板,我也不可能有机会走到这一步。越后面的面试我越发深刻地感受到了自己的进步,机会确实是留给有准备的人的。-----------------------------------------------------------------------------------------------------------------------------四、关于学历与学校之前我以为学历只影响“能不能进面试”,对面试本身没啥帮助。现在直觉告诉我并非如此:- 好学校会让面试官更愿意给你尝试空间,不轻易为难你;- 更容易让大厂相信你可以凭借扎实基础快速成长,不需要特别多的实战案底;- 在排序时更有优势。这不是偏见,是行业现实。-----------------------------------------------------------------------------------------------------------------------------五、给游戏客户端求职者的一点心里话首先说一句,all in这个岗位的同学们,你们辛苦了!互联网有BAT大厂,我们有米猪鹅,听起来一一对应,然而真的如此吗?后端、算法岗位比比皆是,你进不了BAT,进得了美团、京东、快手等一系列大厂。即便是BAT内部,挂了还能反复打捞,项目组换来换去,面试机会不停,机会多太多了。反观游戏客户端,真正的大厂屈指可数,米和猪你挂了就挂了,没有第二次机会,只有鹅还能多捞你几次。而顶尖的项目组又只有那几个,你还要注意规避很坑的项目组。况且现在连鹅更加注重实习转正了,我们的机会就更少了。游戏客户端真是有福了!学另一套技术,跟传统互联网生殖隔离,在机会少得可怜的鱼塘里寻找出路。若非兴趣浓厚,否则轻易不建议来此方向,容错率太低,慎重慎重!-----------------------------------------------------------------------------------------------------------------------------六、小结:坚持与复盘,比盲目焦虑更有用我的经历乍一看还有点传奇,没大厂实习,游戏开发又学得晚,就一个双九bg看得过去(看我上个帖子,就知道有多绝望了),最后结局竟也还不错?这不是什么“暑期实习拿大厂offer,秋招逆风翻盘化身offer收割机”的爽文路线。但要说我的优点,那也是有的,那就是保持自我审视、反省、进步,总结失败教训,对症下药,这就是我最大的优势。秋招没拿到理想offer的朋友们:别灰心,坚持是成功的第一要义!请做到:1. 复盘每一场面试;2. 保证下一次一定比上一次更强;3. 做一个足够复杂的项目,补上工程能力这块短板。大厂或许没有想象中那么遥不可及。战线被拉长确实让人焦虑,但进步是在悄悄积累的。当你准备好之后,大厂也没有理由再把你刷掉。
软件开发投递记录
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
12-10 15:23
腾娱 游戏客户端 0 本科其他
点赞 评论 收藏
分享
评论
9
24
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务