UE 面试题库 · 整理版

高级速查索引

01 基础概念与引擎架构

  • 反射由 UHT 如何生成并参与运行时类型、序列化、RPC 和编辑器;哪些 C++ 特性无法反射(难度:★★★☆☆)→ 归属章节:第1章 基础概念与引擎架构
  • GC 的可达性分析、Root Set、Cluster、AddReferencedObjects 分别是什么;何时需要自定义引用收集(难度:★★★☆☆)→ 归属章节:第1章 基础概念与引擎架构
  • FObjectInitializer、CDO、默认子对象和实例化对象的关系;构造函数误用会造成什么问题(难度:★★★☆☆)→ 归属章节:第1章 基础概念与引擎架构
  • 模块启动/卸载、依赖声明、动态加载与热重载的边界;Live Coding 为何不能替代完整重启验证(难度:★★★☆☆)→ 归属章节:第1章 基础概念与引擎架构
  • 什么情况下你会改引擎源码;如何隔离改动、维护升级与建立回归测试(难度:★★★☆☆)→ 归属章节:第1章 基础概念与引擎架构
  • 如何评估修改引擎源码的必要性与风险(难度:★★★☆☆)→ 归属章节:第1章 基础概念与引擎架构

03 蓝图系统

  • Slate、UMG、Common UI 的分层和性能边界;大量动态 UI 如何减少无效刷新(难度:★★★☆☆)→ 归属章节:第3章 蓝图系统

04 渲染管线

  • RDG 解决什么问题;Pass、资源生命周期、Barrier 与异步计算如何推理【热点】(难度:★★★☆☆)→ 归属章节:第4章 渲染管线
  • 如何在 UE 中新增渲染 pass / Global Shader,并确保资源与线程使用正确(难度:★★★☆☆)→ 归属章节:第4章 渲染管线
  • Nanite、Virtual Shadow Maps、Lumen 同时启用时如何定位显存压力和 GPU 瓶颈【热点】(难度:★★★☆☆)→ 归属章节:第4章 渲染管线
  • 解释 Render Thread 与 RHI Thread 的生产消费关系;哪些"看似简单"的渲染 API 调用会跨线程(难度:★★★☆☆)→ 归属章节:第4章 渲染管线
  • Shader 编译农场、DDC、PSO 缓存如何设计为团队/CI 级资产(难度:★★★☆☆)→ 归属章节:第4章 渲染管线
  • 如何评估"自研材质功能"带来的 permutation、烘焙时间、内存与调试成本(难度:★★★☆☆)→ 归属章节:第4章 渲染管线

07 网络多人

  • 帧同步、状态同步、带回滚的预测各适合什么游戏;如何从玩法和网络条件选择(难度:★★★☆☆)→ 归属章节:第7章 网络多人
  • 如何选择帧同步、状态同步和回滚网络(难度:★★★☆☆)→ 归属章节:第7章 网络多人
  • 为 100 人在线动作游戏设计 Interest Management、快照频率、带宽预算和降级策略(难度:★★★☆☆)→ 归属章节:第7章 网络多人
  • 如何设计百人在线动作游戏的网络架构(难度:★★★☆☆)→ 归属章节:第7章 网络多人
  • 如何把确定性、浮点误差、物理模拟和回滚网络放到同一方案中讨论(难度:★★★☆☆)→ 归属章节:第7章 网络多人
  • Iris 复制系统相较传统复制的设计目标;迁移时应关注哪些兼容与观测问题【热点】(难度:★★★☆☆)→ 归属章节:第7章 网络多人
  • 断线重连如何恢复权威状态、临时对象、任务和防重放令牌(难度:★★★☆☆)→ 归属章节:第7章 网络多人
  • 如何设计服务端反作弊:输入验证、状态校验、异常检测、证据与误封申诉(难度:★★★☆☆)→ 归属章节:第7章 网络多人
  • 云端存档的版本演进、冲突合并、篡改防护和离线体验如何取舍(难度:★★★☆☆)→ 归属章节:第7章 网络多人

08 性能优化

  • UE Task Graph、AsyncTask、Task System、线程池适用范围怎样划分;如何处理取消、优先级和 Game Thread 回调(难度:★★★☆☆)→ 归属章节:第8章 性能优化
  • UE 内存分配器和 MemReport 如何帮助识别碎片、峰值与泄漏(难度:★★★☆☆)→ 归属章节:第8章 性能优化
  • 为什么 World Partition 不能自动解决所有内存问题;如何给 Actor、纹理、动画和音频分别建立预算(难度:★★★☆☆)→ 归属章节:第8章 性能优化
  • 如何定义性能预算和性能回归门禁;不同部门如何共同维护(难度:★★★☆☆)→ 归属章节:第8章 性能优化
  • 如何为一个开放世界项目建立性能预算与优化机制(难度:★★★☆☆)→ 归属章节:第8章 性能优化
  • 如何推动性能优化而不破坏内容生产(难度:★★★☆☆)→ 归属章节:第8章 性能优化

10 Gameplay框架

  • 如何设计可扩展的活动、任务和奖励系统(难度:★★★☆☆)→ 归属章节:第10章 Gameplay框架

15 设计模式

  • 如何把一个蓝图原型安全迁移到 C++/数据驱动系统,同时不阻塞策划迭代(难度:★★★☆☆)→ 归属章节:第15章 设计模式
  • 如何拆分一个臃肿的 God Actor;请说明依赖方向、迁移顺序和兼容层(难度:★★★☆☆)→ 归属章节:第15章 设计模式
  • 如何拆解一个臃肿的 God Actor(难度:★★★☆☆)→ 归属章节:第15章 设计模式

17 Lua热更新

  • 热更新在 UE 项目中具体指什么;资源热更、逻辑热更、原生代码更新的边界和风险(难度:★★★☆☆)→ 归属章节:第17章 Lua热更新

19 场景业务

  • 为 100 km² 开放世界设计 World Partition 策略:Runtime Grid、Data Layer、HLOD、流送源如何确定(难度:★★★☆☆)→ 归属章节:第19章 场景业务
  • UE 大项目的 Git LFS / Perforce 方案怎样选择;二进制锁、分支、集成和发布如何治理(难度:★★★☆☆)→ 归属章节:第19章 场景业务
  • 如何建设"提交即验证"的 UE CI:编译、Cook、自动化测试、资源检查、包体与性能基线(难度:★★★☆☆)→ 归属章节:第19章 场景业务
  • 线上崩溃率突然上升,你如何在 24 小时内完成止血、定位、修复和复盘(难度:★★★☆☆)→ 归属章节:第19章 场景业务
  • 在画质、帧率、包体、工期冲突时,如何写一份能促成决策的技术方案(难度:★★★☆☆)→ 归属章节:第19章 场景业务
  • 如何培养团队的代码审查标准,使其覆盖 UObject 生命周期、网络权限、线程安全与性能(难度:★★★☆☆)→ 归属章节:第19章 场景业务
  • 如何治理 UE 大项目的资源、Cook 和补丁(难度:★★★☆☆)→ 归属章节:第19章 场景业务
  • 如何设计线上崩溃与故障治理体系(难度:★★★☆☆)→ 归属章节:第19章 场景业务
  • 如何建设 UE 项目的 CI/CD(难度:★★★☆☆)→ 归属章节:第19章 场景业务
  • 技术负责人如何处理需求、质量与工期冲突(难度:★★★☆☆)→ 归属章节:第19章 场景业务
  • 如何面试和培养 UE 团队成员(难度:★★★☆☆)→ 归属章节:第19章 场景业务