面试预习计划 · 鸣潮客户端开发(A93502)
把「转岗预习计划」按本站的 11 个章节重新分类:每个章节里,本计划要你看什么、
站内对应读哪几页、面试时拿什么开口讲。
原始计划书(含四大项目组岗位全景表、7 天日程、换组理由原文、JD 逐条解码表)在腾讯文档
「预习计划书」;
本页只做分类索引与站内跳转,细节以文档原文为准。
① 总览 —— 目标、全景与日程
预习计划在这一章回答三件事:投哪个岗、我要会什么、这几天怎么排。 对应文档的「一 · 四大项目组 × 岗位全景」「二 · 按方向拆解要会什么」「五 · 分阶段学习计划」「九 · 今日三小时计划」。
| 预习计划里的内容 | 一句话 |
|---|---|
| 岗位全景 + 意愿分级 | aki / sun / moon / haru 四组的岗位与职位 ID,标了投递意愿;本次聚焦 aki 客户端 A93502 |
| 按方向拆解「要会什么」 | A 客户端关卡(首选)· B 客户端系统 & UI(备选)· C 客户端玩法 · D 服务端(低优先) |
| 7 天分阶段计划 | Day1–2 全局地图 · Day3–4 关卡方向 · Day5 系统 UI · Day6 换组理由 + 问答 · Day7 模拟面试 |
| 今日计划(15:00–18:00) | 四块内容:①开放世界玩法底座 ②联机 / 网络 ③打击感 & 镜头 ④工具链 + 五故事串讲 |
| JD 逐条解码 | A93502 每条 JD → 我的哪段经验 → 站内哪一页(原始对照表见文档 9.1) |
② 客户端基础能力 —— 所有模块的公共底座
按方向拆解的 A(客户端关卡)与 B(客户端系统 & UI)都建立在同一层底座上: MVC 三大单例、六个 Tick 阶段、事件回调写法。八大模块里「坠落重生」属于这一层。
| 站内对应 | 为什么读 |
|---|---|
| 框架与分层总纲 · 三大单例 | ModelManager / ControllerHolder / ConfigManager 的取值写法与生命周期差异 |
| 事件系统的三种写法 · 弱引用 | 回调为什么必须写成 private readonly 箭头函数属性 |
| 六个 Tick 阶段 | 写位置用 PrePhysics、读物理结果用 PostPhysics,选错读到上一帧 |
| 坠落重生 · 命令模式专栏 | 这一层的两个可讲实例 |
?)而 Controller 不会(undefined!),
以及事件回调不用 bind、不用匿名箭头的原因。
③ UE 基础能力 —— 大世界与流送
对应文档「三.2 大世界 & 关卡 WorldPartition」与代码预习路线里的「大世界」: Level / Map / SubMap 三级表格、DataLayer、导航网格管线。
| 站内对应 | 为什么读 |
|---|---|
| 地图流送与 DataLayer | WP Cell + 六类 DataLayer 前缀 + 流送源「两盏灯」 |
| 流送假阳性 | IsStreamingCompleted 会假阳性:Cell Activated ≠ 碰撞体已 build 完 |
| 流送与 WP · 代码实现 | 同图无缝传送的物理基础为什么是 DataLayer 换装 |
④ 编辑器专栏 —— 工具链
对应文档「三.5 工具链(UniverseEditor / GM 面板 / Stat)」与代码预习路线里的「工具链 → UniverseEditor\Editor」。
| 站内对应 | 为什么读 |
|---|---|
| 编辑器专栏总览 | 实体模板 / 行为树节点 / 编辑器框架三条线 |
| Scheme 与校验 · 走 gulp 不是 npm | 编辑期 / 运行期两套校验;编辑器产物走 gulp |
| 节点类型总览 | Condition / Repeater / Action 三类行为树节点 |
⑤ 战斗侧 —— 玩法与子弹
对应文档「三.4 玩法(CombatScript / Fight / Qte / Prediction / Talent)」与代码预习路线里的「玩法 / 战斗 → FightInterface」。
| 站内对应 | 为什么读 |
|---|---|
| 战斗侧总览 · 子弹学习路径 | 战斗专业系统与深度学习入口 |
| 关卡子弹功能开发 | 15 位 TypeId 拼装(6+5+3+1),环境怪兜底 9501 |
⑥ 关卡侧系统支持 —— 结算与爬塔
八大模块中的两个「表现 / 数值重」的模块:副本结算与爬塔。
| 站内对应 | 为什么读 |
|---|---|
| 副本结算流程 · 黑屏编排 · 包围盒反算相机 | 三阶段镜头 + MVP 特写 + 全家福;站位序 ≠ UI 成员序 |
| 爬塔 | starMask 位掩码;20532 全量 + 20533 增量驱动局内 HUD |
⑦ 关卡序列专栏 —— Seq 接管与归还
对应文档里的 Seq1 / Seq2 / Seq3 表现,以及「故事 5 · 把跨地图表现做成编辑器参数」。
| 站内对应 | 为什么读 |
|---|---|
| 序列接管骨骼动画 · 收尾归还与链接动画层 | 怎么接管角色骨骼动画,收尾怎么把姿态还回去 |
| 传送 V2 · Seq2 → Seq3 衔接 | 实测耗时:换装 203ms、binding 编译 312ms、落地 ~10ms |
SetAnimationMode 清掉链接动画层;「编辑器里吻合、运行时不吻合」先查资产而不是代码。
⑧ 大项目模块 —— 传送与传送点
对应文档「故事 1 · 同图传送一分钟地形卸载」「故事 3 · 同步瞬移流程重构」,以及代码预习路线里的 「关卡 / 大世界 → LevelPlayFlow / SceneLoading / Interaction」。
| 站内对应 | 为什么读 |
|---|---|
| 传送 · 大项目总览 · 时序 · LoadDone 握手 | 15512 下发 → 遮盖流送 → 14716 / 14717 握手 |
| 同图安全等待 | 收尾从「满 15 秒算完成」改为「地面确认可站」 |
| 重构 · 结构拆分 · 重构 · 流程命令化 | 3526 → 467 行、第二次重构 CL856231 |
| 传送点 | 解锁存档 + 地图标记,23707 请求 |
⑨ 周报 —— 故事与踩坑的原始留档
文档「7.3 五个完整故事」「7.4 反复咬人的坑」的原始留档来源都在周报里
(故事 2 黑屏 13 秒、故事 4 SetActorVisible 实为相机没切)。
| 站内对应 | 为什么读 |
|---|---|
| 周报总览 · 问题留档库 | 按分类筛问题留档 |
| W36 行为树节点留档 | 留档的标准结构:现象 → 时序 → 根因 → 修法 → 验证 |
⑩ 横向专题 —— 高频问答与两条底座链
对应文档「六 · 换组理由 & 高频问答」里的「6.2 技术高频问答」(WP / 流送 / 寻路 / UI / 玩法 / 通用), 以及八大模块反复落到的那两条底座链。
| 站内对应 | 为什么读 |
|---|---|
| 面试问答库 | 全部答案来自真实实现;换组理由按成长 / 能力 / 长期三版本准备 |
| 场景加载命令链 · 19 节点 · 无超时兜底 | executor 全 Init(..., MaxTime),新加的等待节点必须自带超时 |
| 地图流送与 DataLayer | 另一条底座链,传送 / 两种重生都经过 |
| Bug 案例大全 · 开局五问 | 被问「怎么排查问题」「有没有判断错过」时的标准答案 |
| 协议总索引 · 重构与加功能指南 | 协议号的单一事实源;动手前的七步路径 |
⑪ 资料归档
历史方案原文与技能包。讲项目时若需引用早期方案,从这里翻。
| 站内对应 | 为什么读 |
|---|---|
| 历史文档归档 | 找旧方案原文;注意里面的协议号可能过时 |
| xcmskills 技能包 | 开工纪律与八大模块的一句话索引 |