职位题库

游戏客户端开发工程师(UE5)面试题库

面向游戏客户端开发工程师(UE5)相关面试,围绕Unreal Engine、内存管理、TArray、容器、Tick等主题展开练习,结合题目考察点、回答思路、参考答案和常见误区,梳理知识要点并练习清晰表达。

5 道题目建议用时 15 分钟专项面试练习

全部题目 5 道题

01

UObject 的生命周期和普通 C++ 对象有什么区别?为什么 UObject 不建议直接使用 new 和 delete?

考察候选人对 Unreal 对象模型的理解,包括 UObject 的创建方式、生命周期阶段以及 GC 对其生命周期的介入,区分其与普通 C++ 对象在作用域、new/delete、智能指针管理上的差异。
02

Unreal Engine 的垃圾回收是如何判断 UObject 是否仍然存活的?UPROPERTY 在其中起什么作用?

考察候选人对 UE 垃圾回收机制的理解,包括可达性分析、根对象、UPROPERTY 引用追踪,以及 AddToRoot 和弱引用的使用场景。
03

Unreal Engine 中为什么要区分 Game Thread、Render Thread 和 RHI Thread?跨线程访问对象时需要注意什么?

考察候选人对 UE 多线程架构的理解,包括游戏逻辑、渲染命令生成和底层图形 API 执行的职责划分,以及跨线程访问对象的安全实践。
04

UWorld::Tick 到 Actor Tick 的调用链大致是什么?Tick Group 和 Tick 依赖如何影响执行顺序?

考察候选人对 UE 帧更新流程的理解,包括 Tick Manager 的调度机制、Tick Group 的划分以及 Tick 依赖的建立方式。
05

TArray 的内存扩容和元素失效问题如何处理?RemoveAt 和 RemoveAtSwap 有什么区别?

考察候选人对 TArray 连续内存特性的理解,包括扩容导致的元素失效、Reserve 的作用、删除元素时顺序与效率的权衡,以及高频场景下的稳定 ID 方案。
返回面试题库