最终面试包:概率索引、背诵卡与模拟题

这不是新的长答案,而是面试当天的导航页。先背“一页卡”,再按职位选择六个主项目中的三个。所有细节都回到对应专题,不在这里重复扩写。

一、按出现概率排序的问答索引

S 级:每轮几乎都会出现

问题先答什么深挖入口
自我介绍四年相关经历;UGC、Gameplay、跨端;两次最高绩效自我介绍
你在 UGC2.0 做了什么页面协议、跨语言链路、制品与自动化三条主线UGC2.0 客户端基建
UGC 客户端架构怎么拆创作模型、编辑器、运行时、交付治理UGC 架构白板稿
TS、C++、Lua 怎么通信请求 transport、Lua 编排、反向状态通知、generation/revisionUGC2.0 客户端基建
四种 UGC 实现方案绿洲、Roblox、UGC1.0/2.0 的端到端链路、扩展成本与故障模式四种方案深挖
你最复杂/最有 ownership 的项目UGC2.0 页面基础设施行为面 STAR
为什么离职/看机会,下一步要什么实时内容平台、复杂系统和技术 owner自我介绍

A 级:项目深挖高概率

问题案例深挖入口
UGC1.0 做了什么地图交付、编辑元件、AI 创作、ASTC、工具UGC1.0 编辑器
地图怎么保存和发布冻结快照、Schema、多文件、打包、审核与版本地图与发布
AI 换色/参考图怎么做异步任务、候选预览、可逆提交、安全和失败恢复AI 换色与 ASTC
Instance 与 Actor 什么关系创作身份与 World 投影分离对象模型
三 VM 为什么需要Edit/Client/Server 的权限、World 和生命周期隔离UGC2.0 客户端基建
ArtifactBuilder 做什么冻结输入、Processor、确定制品、多端安装UGC2.0 交付基建
PVE 客户端怎么拆进局、规则、引导、战斗交互、结算恢复PVE 架构
高密度同步怎么优化Relevancy、Priority、Frequency、Dormancy、状态/事件高密度复制
Gamelet 与 PixUI 什么关系,页面怎么加载应用容器、页面运行时、PFBS、PAK、窗口与消息链Gamelet/PixUI 深挖
PixUI 为什么能跑 React,页面怎样上屏JSX/Preact、H5ES DOM、Yoga、UE 绘制与输入回流PixUI 渲染深挖
WebView/PixUI 怎样与宿主通信平台注入、Gamelet API、PixUI Message、回调与事件宿主通信深挖
为什么客户端做 Web嵌入式运行时、宿主协议、兼容和交付Web 工程

B 级:加分和换方向追问

问题回答焦点深挖入口
SSR/BFF、Coding 三仓怎么治理身份、环境、弱网退出、版本组合和不可变制品Web 跨端深挖
做过哪些工程工具Crash 分单、地图解析、自动化、AI 研发资产工程效能
PPO 关卡 AI 怎么训练样本时序、MiniGame、状态动作奖励和公平评估强化学习 AI
CAE 经历如何迁移拓扑/几何、网格鲁棒性、大数据与 TransCFDCAE 与研究
C++/UE/网络/Lua 基础生命周期、权威、Schema、性能和制品技术基础
失败、冲突、事故、绩效、带人一个问题只讲一个 STAR行为面

二、一页背诵卡

自我介绍:90 秒骨架

定位:近四年游戏客户端相关经历,UE/C++/Lua 为主,补 TS/PixUI/Python
主线1:UGC1.0,地图交付 + 编辑元件 + AI/ASTC + 长期治理
主线2:PVP/PVE,物品交互 + Ability + 新手/时间线 + 网络与恢复
主线3:Web/UGC2.0,页面协议 + TS/C++/Lua + 制品/多端/自动化
背景:CAE C++/几何网格 + PPO 游戏 AI + TransCFD
结果:连续两个考核周期最高绩效,数字只讲可证明口径
目标:高级客户端/UGC 基建,承担跨模块技术 owner

六个主项目:每个只背五个词

项目业务边界核心机制难题反思
UGC1 地图交付用户内容可保存发布编辑快照 vs 线上版本Schema、Manifest、压缩上传、状态机连续保存/弱网/旧图发布面向不可变快照
UGC1 AI 与编辑降低创作门槛页面不是状态权威异步任务、事务、元件契约模式泄漏/失败恢复一套模型、能力裁剪
UGC2 页面基建多页面跨语言编辑器TS/C++/Lua 生命周期pageId、generation、revision、ACK迟到/乱序/重复消息生命周期进入协议
PVP/PVE多人玩法完整会话客户端表现 vs 服务端权威状态机、Ability、复制、恢复引导竞态/高密度对象状态与事件分离
Web 跨端高频页面与 CodingWeb 页面 vs 原生宿主JSB、SSR/BFF、能力检测、制品502 退出/WebView/音视频原生保留逃生通道
PPO/CAE算法与工程底座研究模型 vs 生产系统同步采样、网格、Transformer样本错配/数值鲁棒指标必须限定场景

十个行为题:一句话路由

问题案例必说判断
OwnershipUGC2 页面基建从需求到上线和维护闭环,不等于所有代码自己写
最复杂问题旧页面消息覆盖新状态按不变量拆成 generation/revision/seq
最大失败UGC 面试表达失败从功能名汇报改为目标、边界、证据
意见冲突Web 是否直连原生把立场改写为约束并做最小验证
时间紧多端制品缩范围,不牺牲数据安全与回滚
线上事故PVE 引导竞态集中幂等归约,不依赖事件顺序
推基建UI 自动化/页面协议首个消费者、适配层、迁移节奏、删旧入口
最高绩效两组可验证贡献绩效是结果,不替代项目证据
技术债PixUI monorepo 迁移绞杀式迁移,每个兼容层有删除条件
带人/标准评审、拆解、工具化明说没有正式人员管理职责

三、六张白板图与三分钟路线

1. UGC1 地图与发布

Editor Model
  -> Freeze Snapshot
  -> Validate / Serialize
  -> Package + Manifest
  -> Upload Artifacts
  -> Review / Publish Version
  -> Download / Verify / Run

三分钟:业务目标 20 秒;数据层与版本 50 秒;发布状态机 60 秒;连续保存/弱网案例 30 秒;个人边界和反思 20 秒。

2. UGC1 编辑与 AI 创作

Input -> Operation State -> Command/Transaction -> Content Model
                    |                              |
              Gizmo/Collision                UI Projection

AI Task -> Candidates -> Reversible Preview -> Commit

三分钟:简易/专家共用模型;元件是一条契约;AI 参考图/换色是异步资产管线;用状态泄漏案例收口。

3. UGC2 页面基础设施

TypeScript Page
  <-> C++ Native Host / Transport
  <-> Lua Domain Service
  <-> Edit / Client / Server VM

Identity: pageId + generation
State:    domain + revision
Request:  seq + ACK + timeout

三分钟:为什么三层;正反向调用;三个版本字段分别解决什么;销毁顺序;个人主线与团队架构边界。

4. PVP/PVE 玩法

Match/Session -> Load -> Rule State
                         ├─ Guide / Task / Timeline
                         ├─ Ability / Item / Interaction
                         ├─ AI / 3C / Presentation
                         └─ Settle / Reconnect / Exit

三分钟:完整生命周期;权威与表现;引导竞态;高密度复制;哪些是直接工作、哪些是源码补课。

5. Web 跨端

Apps -> Shared SDK / Protocol / UI
   -> PixUI or WebView Host
   -> JSB / Native Capability
   -> PFBS / Bundle / CI Artifact

SSR/BFF -> Login / Aggregation / Error Fallback

三分钟:为什么用 Web;宿主通信;弱网与兼容;Coding 三仓;不可变制品和回滚。

Gamelet/PixUI 被追问时,转到 Gamelet 与 PixUI 实现深挖:先区分 Gamelet、PixUI、PFBS、PAK,再讲构建、窗口加载、双向消息和对称销毁。继续追问 JSB 时,转到 WebView 与 PixUI 宿主通信:先区分平台注入、Gamelet API 和 PixUI Message,再讲 callbackId、事件、线程与生命周期。

6. PPO 与 CAE

PPO: State -> Policy -> Action -> Client Step -> Reward -> Buffer
CAE: CAD -> B-Rep -> Mesh -> Quality -> Solver
AI4CFD: NURBS Geometry -> Transformer Decoder -> Cp/Ux/Uy

三分钟:先选 PPO 或 CAE,不要两者都展开;讲一个故障与验证;最后说明能力如何迁移到实时客户端。

四、四轮模拟面试题

这里是试卷,不是标准答案。每题首次作答限制 90 秒,白板题限制 5 分钟。回答后再对照专题,不要边看答案边说。

第一轮:客户端基础,45 分钟

  1. unique_ptr、shared_ptr、弱引用分别解决什么?
  2. UObject 何时可能仍非空但已经不该使用?
  3. GameInstanceSubsystem 和 WorldSubsystem 怎么选?
  4. 复制状态与可靠 RPC 有什么本质差异?
  5. 客户端预测如何避免副作用执行两次?
  6. Lua wrapper 与 UObject 谁拥有谁?
  7. 如何设计带版本迁移的保存协议?
  8. 一次卡顿怎样区分 CPU、GPU、I/O 与资源等待?
  9. WebView 与原生 UI 的选型边界是什么?
  10. 什么叫可回滚的确定制品?

合格标准:每题有原则、机制、失败场景和项目映射,避免只背定义。

第二轮:项目深挖,60 分钟

  1. 用 90 秒说明 UGC2.0 的三条个人主线。
  2. 画 TS -> C++ -> Lua 请求和 Lua -> TS 状态通知。
  3. 页面关闭重开时,如何拒绝旧回调?
  4. UGC1.0 元件为何不是一个 Actor?
  5. 连续保存为什么会失败,如何串行化和恢复?
  6. AI 换色怎样做到预览可逆?
  7. PVE 引导事件顺序问题如何定位?
  8. Replication Graph 开启后为什么带宽仍可能很高?
  9. 502 页面为什么是客户端架构问题?
  10. 指出三项你理解但不是历史 ownership 的模块。

合格标准:先讲个人边界,再讲系统;所有数字能说明口径。

第三轮:系统设计,60 分钟

题目:设计一个支持移动端、PC、多人试玩和脚本扩展的 UGC 客户端。

必须覆盖:

  1. 创作对象模型与稳定身份。
  2. 选择、属性、事务、撤销与历史。
  3. Edit/Client/Server 运行上下文。
  4. 脚本 API、权限、配额与网络权威。
  5. 保存、制品、发布、审核和版本。
  6. 海量对象的渲染、Tick、复制与加载预算。
  7. 弱网、崩溃、旧版本和坏内容的恢复。
  8. 自动化、指标、灰度与迁移路线。

合格标准:先问规模和约束;明确状态权威;至少讲两个失败时序;不靠框架名替代设计。

第四轮:行为面,45 分钟

  1. 为什么你是高级客户端,而不只是功能开发?
  2. 讲一次真正失败。
  3. 讲一次你不同意现有方案。
  4. 讲一次线上事故。
  5. 如何推动没有汇报关系的团队配合?
  6. 怎样证明最高绩效?
  7. 需求很急时砍什么、守什么?
  8. 技术债怎么进入计划而不是一直拖?
  9. 没有正式管理职责,如何证明带动能力?
  10. 为什么选择我们团队,你三年后希望负责什么?

合格标准:每题只讲一个 STAR;Action 占一半;结果不虚构;反思落实到后续行为。

五、卡壳记录表

每轮模拟后只记暴露出的缺口,不因为一个问题继续无限扩写。

日期/轮次原问题卡在哪里缺口类型只补什么再答结果
示例TS/Lua/C++ 怎么通信只说了正向调用时序缺口补反向通知、线程和销毁待复测

缺口类型只允许五种:事实、结构、机制、证据、表达。若已有答案但 90 秒讲不完,问题是表达,不再新增技术内容。

六、面试当天使用顺序

  1. 面试前 30 分钟只读“一页背诵卡”和目标岗位对应的三张白板图。
  2. 自我介绍后主动把面试官引向最强主线:UGC2.0 页面基建或 UGC1.0 地图/AI。
  3. 回答先结论,再画边界,再讲一个失败;面试官没有追问就停止。
  4. 被问到团队模块时,先说“我能按架构回答,但历史 ownership 是……”。
  5. 不知道精确数字时说验证方法和缺口,不临场创造结果。
  6. 面试结束立即记录卡壳点,下一次只修最高频的三个。

七、当前未封口项

  • Fate 定点数物理已有源码和提交证据,可作为算法与底层能力的补充案例,但不替代 UGC 主线;开源组件仍缺公开链接。
  • CAE 数亿级算例缺硬件、峰值内存和基准报告,不主动报性能数字。
  • 两次最高绩效缺具体考核周期与评价原文,不擅自绑定项目。
  • 简历文字仍处于 hold,本轮没有同步最终面试稿;解除 hold 后再做一致性校验。
  • 四轮模拟与卡壳复测必须由本人真实口述后才能标记完成。