首页 / 面试预习计划

面试预习计划 · 鸣潮客户端开发(A93502)

把「转岗预习计划」按本站的 11 个章节重新分类:每个章节里,本计划要你看什么、 站内对应读哪几页、面试时拿什么开口讲。
原始计划书(含四大项目组岗位全景表、7 天日程、换组理由原文、JD 逐条解码表)在腾讯文档 「预习计划书」; 本页只做分类索引与站内跳转,细节以文档原文为准。

目标与用法 目标岗位:aki 鸣潮 · 客户端开发(职位 ID A93502)。先走 路线 A · 面试速成 搭骨架,再按下面 11 个章节逐块补齐。 每节末尾的「面试要点」是可以直接开口讲的那句话。

① 总览 —— 目标、全景与日程

预习计划在这一章回答三件事:投哪个岗、我要会什么、这几天怎么排。 对应文档的「一 · 四大项目组 × 岗位全景」「二 · 按方向拆解要会什么」「五 · 分阶段学习计划」「九 · 今日三小时计划」。

预习计划里的内容一句话
岗位全景 + 意愿分级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,选错读到上一帧
坠落重生 · 命令模式专栏这一层的两个可讲实例
面试要点 讲 MVC 为什么 Model 可空(?)而 Controller 不会(undefined!), 以及事件回调不用 bind、不用匿名箭头的原因。

③ UE 基础能力 —— 大世界与流送

对应文档「三.2 大世界 & 关卡 WorldPartition」与代码预习路线里的「大世界」: Level / Map / SubMap 三级表格、DataLayer、导航网格管线。

站内对应为什么读
地图流送与 DataLayerWP Cell + 六类 DataLayer 前缀 + 流送源「两盏灯」
流送假阳性IsStreamingCompleted 会假阳性:Cell Activated ≠ 碰撞体已 build 完
流送与 WP · 代码实现同图无缝传送的物理基础为什么是 DataLayer 换装
面试要点 WP 流送假阳性、DataLayer 不走协议(服务器只下发子关卡名字列表,拼名字与开关全在客户端)。

④ 编辑器专栏 —— 工具链

对应文档「三.5 工具链(UniverseEditor / GM 面板 / Stat)」与代码预习路线里的「工具链 → UniverseEditor\Editor」。

站内对应为什么读
编辑器专栏总览实体模板 / 行为树节点 / 编辑器框架三条线
Scheme 与校验 · 走 gulp 不是 npm编辑期 / 运行期两套校验;编辑器产物走 gulp
节点类型总览Condition / Repeater / Action 三类行为树节点
面试要点 编辑期校验和运行期校验用的是不同 scheme;给策划用的节点(Condition 等待副本集合 / Repeater 循环 / Action 移除增益)各讲一个。

⑤ 战斗侧 —— 玩法与子弹

对应文档「三.4 玩法(CombatScript / Fight / Qte / Prediction / Talent)」与代码预习路线里的「玩法 / 战斗 → FightInterface」。

站内对应为什么读
战斗侧总览 · 子弹学习路径战斗专业系统与深度学习入口
关卡子弹功能开发15 位 TypeId 拼装(6+5+3+1),环境怪兜底 9501
面试要点 讲关卡子弹的 TypeId 位段设计与兜底规则——属于「给策划做的配置工具」这一类。

⑥ 关卡侧系统支持 —— 结算与爬塔

八大模块中的两个「表现 / 数值重」的模块:副本结算与爬塔。

站内对应为什么读
副本结算流程 · 黑屏编排 · 包围盒反算相机三阶段镜头 + 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 请求
面试要点 传送是唯一要同时协调服务器 / WP 流送 / 表现 / 输入四方的模块; 「地面没就绪就解锁移动 → 穿地下坠」是必讲的故事。

⑨ 周报 —— 故事与踩坑的原始留档

文档「7.3 五个完整故事」「7.4 反复咬人的坑」的原始留档来源都在周报里 (故事 2 黑屏 13 秒、故事 4 SetActorVisible 实为相机没切)。

站内对应为什么读
周报总览 · 问题留档库按分类筛问题留档
W36 行为树节点留档留档的标准结构:现象 → 时序 → 根因 → 修法 → 验证
面试要点 故事按「背景 → 现象 → 定位 → 根因 → 解法 → 沉淀」六段讲,背结构不背文字。

⑩ 横向专题 —— 高频问答与两条底座链

对应文档「六 · 换组理由 & 高频问答」里的「6.2 技术高频问答」(WP / 流送 / 寻路 / UI / 玩法 / 通用), 以及八大模块反复落到的那两条底座链。

站内对应为什么读
面试问答库全部答案来自真实实现;换组理由按成长 / 能力 / 长期三版本准备
场景加载命令链 · 19 节点 · 无超时兜底executor 全 Init(..., MaxTime),新加的等待节点必须自带超时
地图流送与 DataLayer另一条底座链,传送 / 两种重生都经过
Bug 案例大全 · 开局五问被问「怎么排查问题」「有没有判断错过」时的标准答案
协议总索引 · 重构与加功能指南协议号的单一事实源;动手前的七步路径
面试要点 换组理由避开禁忌清单;被问「怎么定位问题」直接答开局五问—— 先问必现/偶现、前置条件、固定时长、现象还是结论、能不能缩小范围。

⑪ 资料归档

历史方案原文与技能包。讲项目时若需引用早期方案,从这里翻。

站内对应为什么读
历史文档归档找旧方案原文;注意里面的协议号可能过时
xcmskills 技能包开工纪律与八大模块的一句话索引
面试要点 需要报协议号时以 协议总索引 为准,不要引用归档里的旧号。