腾娱面经

面了很多次腾娱,干脆直接汇总在这一篇。

三角洲

一面30min。二面40min。二面挂。主要都是项目拷打和实习。无八股算法

UE的GC

UE的Gameplay框架

反射如何处理C++与蓝图之间的转换

UE智能指针

Lyra的如何做输入还有资源的多平台适配

Lyra的UI框架

手游常用的渲染管线

单例模式的缺陷

事件消息中心的解耦

代号二杠三

主要是八股拷打,二面挂。

设计一个洗牌算法

移动构造赋值的实现、应用场景

move的源码实现,与foward的区别

如何防止移动构造赋值时分配新的内存、被移动对象是否移动以后被回收

C++11以后string的建议实现

C++17 std::string_view

C++20 std::span

C++ std::allocator

forward应用场景、源码实现

模板特化、实例化的概念与区别

模板元编程实现类型列表

线程池和对象池的设计实现

PCB的组成

进程与线程

快排

堆栈实现

哈希表原理

模板方法

原型模式

UE反射

UE RPC的实现

共享指针实现

弱指针实现

Lambda表达式捕获方式,this是否默认捕获

inline的作用,.h文件的成员函数不写inline会怎么样

如何防范栈溢出攻击

未知组

主要拷打实习产出,一面挂。

值传递和引用传递

数组和链表的区别

定长数组扩容优化

如何解决网络波动情况下,UE的FastArray按位同步出错的问题

雪中悍刀行

二面挂

一面(45min)

GameState和GameMode,PlayerController和PlayerState

实习产出拷打

实习有个改源码的产出,说一下

【直接打开引擎改给他看】

UE的UMG和Slate的关系是?

属性同步的原理

RPC

ProtoBuf有哪些优势?

如果游戏在某个场景下突然卡顿,你怎么排查?

UE的智能指针

了解过WeakPtr的具体原理吗

【没有,但是SharedPtr我了解过】

SharedPtr呢?

【懒得动嘴了,手撕了简易版的default_deleter,控制块和MakeShared,一边写一边讲给他听】

项目拷打

手撕:

给定字符串数组,把元素拼接到一个字符串里面,但是每个元素由','分隔开

判断链表是否有环(写一半不让写了,说太麻烦)

二面(60min)

压力面,深入拷打然后还出了一些陷阱题。

“类的默认构造函数是什么样的”

“一般是浅拷贝”

“那要是成员变量里有个string,不就有深拷贝了吗,你这理解不行啊”

【你™也没说成员变量里有什么啊】

这种对话反复出现,到最后我不知道为什么情绪一下子上头了吼了对面两句,挂了也是正常的事。

逆战未来

想要会做gp的。看不上我,简历都没看,拖着问了40多分钟,没了。

只能说大厂的✌就是✌,面试个外包摄像头不开,上来就是一句你觉得你实习做过什么有价值的东西,就知道又是个没看简历的主。果不其然,想要一个商业项目里做过gp的。那你要不想想能在中大厂商业项目里有gp产出的实习生为什么要来你个臭外包公司啊。真跟你分享一下最近的技术收获,你又觉得搞UI,改UI系统源码没水平。那看来贵组外包对实习生很不错嘛,能让实习生做GP战斗。

说了没在商业项目里做过gp,简历上的玩具gp你又看不上,一直追着问gp优化,你™听不懂人话吗。让你给点提示,跟nm个人机一样一直重复“你再想想”。

我想你莫的筹备,面试之前看看简历眼睛是会瞎是吧。看不起别来烦人啊傻逼

魔方在研UE手游

虽然没说是什么项目,但根据背景信息猜测是某个边缘半死不活的二次元FPS游戏。

我不太喜欢多人游戏,加上项目也比较边缘,也拿到了一个单机游戏的offer,就把这个offer拒了。

一面(60min)

实习产出

设计一个资源加载接口,要求判断该资源本地是否存在,存在则本地加载,不存在则向服务器请求?

设计一个图片资源加载接口,解决对于同一个Image对象,可能存在频繁更换序列化资源的问题?

设计一个排行榜系统,考虑如何与服务器商定请求数据,以及轮询请求的时机?

设计一个类三角洲的背包系统,单元格大小一致,但是每个物品占据单元格大小不一致,怎么设计方便背包物品的快速排序、以及如果要在拖动物品时根据物品大小和背包状况有不同表现时该怎么更好的优化?

用图形代理模式最好。然后数据表记一下每个物品的占据的单元格大小,以左上角为每个物品的锚点最好

我看你之前都是做端游,那手游中,每个手机的屏幕尺寸大小不同,所以需要动态调整UI大小和渲染优化,怎么做?

幽默,除了你家谁会用UE做手游,咋地我面你家还得默认我在你家实习过是吧

UE的内容本地化方案了解多少

FText+StringTable

指针和引用

帧同步和状态同步

MOBA用帧同步还是?MMO呢?

二面(20min)

属性同步

FastArray

PushModel

设计一个子弹对象池,从哪些方面考虑子弹对象池大小

GC

GAS中GE三种时间效果

三面(30min)

实习产出

高帧率下,让一个UI跟随鼠标移动会有UI跟不上鼠标的问题如何解决?

聊天框因为聊天文本的大小不同,所以每条聊天消息的高度不同,那么如何动态计算每次渲染聊天文本时滑动条的长度?

UE的富文本只支持修改文字大小、颜色、字体和正斜等,如果想实现MarkDown里面的删除线效果怎么做

派生一个自定义的富文本类,重写富文本装配器的SetText函数,检测特定标签,然后加一张横线的图片就行。至于图片的长度要动态调整。这个可以看看单个横线图片可以覆盖几个字,(跟美术商量一下,原始的横线图片刚好1个字最好)然后写一个UI动态材质,用TextureCoordinate管理这张图片,在Shader里,乘法代表这个图片被平铺渲染多少次,可以暴露一个float或者int的动态参数,代表当前标签内有几个字或者渲染的像素宽高,分解提取TextureCoordinate的R通道,根据参数去做乘法,动态平铺到水平方向(其实就是根据文字的宽度动态在水平方向上复制横线图片)

国际通用的英文文本显示方案中,如果每一行末尾的那个单词超出了本行的显示范围,就会被渲染到下一行,UE里也是这样。但是如果玩家的某一条消息是中英混杂的,例如“嘻嘻aaaaaaaaaaaaaaa”,那么所有的'a'都会被判定成一个单词,被渲染到第二行,第一行只有“嘻嘻”这两个字,看着非常不美观。现在希望后面的'a'能正常在第一行显示,填充完第一行以后再换行,这个怎么做

UE的文本更新方案是:调用SetText -> WidgetTree标记脏数据触发更新 -> 文本装配器解析文本,主要是把所有标点符号标记在一个BreakCandites数组中 -> TextLayout中的FlowLineLayOut函数进行流式渲染,主要是遍历BreakCandites把文本分割,然后计算每个分割块中的文本像素大小,与高度和宽度边界对比。那一堆a里面就是因为没有标点符号才会被TextLayout判定成一个单词。所以办法是:继承UE的富文本装配器接口,重写这个接口的SetText函数,这个接口函数会对文本进行分行处理,在这里用Slate的FontMeasureService,从每一行的第一个字符开始逐字符截取子串,计算这个字串的像素宽度是否超过换行宽度(换行宽度通常是文本块的Size.X),如果大于换行宽度就在那个字符那里插入一个无内容的符号(空格、零宽字符都可以),这样FlowLineLayOut就会在这个符号那里换行了

全部评论
问的真难
3 回复 分享
发布于 2025-09-02 02:56 美国
还会问你的游戏经历,像三角洲这种如果玩过战地会很加分
2 回复 分享
发布于 2025-09-20 03:40 广东
进了吗
点赞 回复 分享
发布于 2025-09-17 03:18 广东
我看腾娱没开秋招,我找了一个hr聊天,说可以给我提前面试,目前一二三面都过了,约了周三的hr面 是成都天美的王者荣耀项目组
1 回复 分享
发布于 2025-10-13 14:38 北京
佬, 腾娱面试失败会有邮件通知么.
点赞 回复 分享
发布于 02-15 20:04 湖北
腾娱雪中悍刀行项目组,一模一样的代码题呢!
点赞 回复 分享
发布于 2025-12-16 16:01 广东
代号二杠三项目组居然还在
点赞 回复 分享
发布于 2025-11-14 10:42 广东
佬腾娱有笔试吗
点赞 回复 分享
发布于 2025-10-03 17:00 天津
是根据简历问的吗?
点赞 回复 分享
发布于 2025-08-22 16:09 广东

相关推荐

1、自我介绍2、Agent项目是实习项目还是个人项目?有没有上线?3、拷打实习(10min)4、大模型微调,你的训练数据集是如何构建的?数据量有多大?5、在构建数据集的过程中,遇到了哪些挑战?花了多长时间?6、你之前的实习经历偏后端工程,你未来的职业规划更倾向于纯后端开发,还是希望从事与AI/大模型结合的工作?7、详细讲一下Golang中Channel的概念和作用,它是否是并发安全的?8、Channel和传统的锁(Mutex)在实现并发控制时有什么区别?各自的适用场景是什么?9、讲一下GMP模型10、当P的本地队列为空或者不为空时,它会怎么去调度G(协程)?11、Redis支持哪些数据结构12、为什么Redis的速度这么快13、如何实现一个类似淘宝搜索框的实时商品名称模糊搜索功能?14、实时输入联想与输入完成后点击搜索在技术实现上有什么本质区别?15、实时搜索通常使用什么网络协议(如WebSocket)?你了解或有使用过吗?讲一下16、请详细说明微信扫码登录的完整流程和背后发生的原理17、在微服务架构中,服务发现和负载均衡是如何实现的?18、服务注册中心(如Nacos, Consul)是如何工作的?服务实例如何注册和保活(如通过心跳机制)?19、讲一下Agent中的“长短期记忆”20、什么样的信息应该放在长期记忆,什么样的信息放在短期记忆?21、当对话轮数很多,上下文窗口不足时,有哪些处理策略?(如截断、压缩)22、如果要进行记忆压缩,通常有哪些方法?23、了解过Agent的设计范式吗?有哪些?24、你设计的Agent是怎么实现ReAct模式的?详细讲讲25、手撕:实现一个并发任务处理器:给定一个包含100个任务ID的列表,要求控制最大并发数为3,模拟并发调用某个外部接口(如打印ID)26、反问
查看24道真题和解析
点赞 评论 收藏
分享
评论
16
36
分享

创作者周榜

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