第四章 运算符重载、委托与闭包
**从 C++ 到 C# · 委托与运算符。** C# 运算符重载与 C++ 的关键差异(成对规则、true/false 运算符、转换运算符的两张面孔)、委托的底层多播链表与线程安全、闭包编译器的完整展开过程、循环捕获陷阱与静态 Lambda 优化——C# 表达力的三大支柱,面试必问。
第五章 泛型与集合
**从 C++ 到 C# · 泛型。** reified generics 的 JIT 共享机制(值类型 vs 引用类型为何分开)、六种类型约束的编译器行为、协变逆变的运行时安全检查、三大集合族的内部数据结构全剖析、相等比较器的五层选择机制——校招面试中 C# 最硬核的考点。
第六章 LINQ 与迭代器
**从 C++ 到 C# · LINQ。** 迭代器状态机的编译器展开(yield return 如何变成 IEnumerator 类)、LINQ 的延迟执行与两次遍历陷阱、表达式树与委托的双重身份、SelectMany 与游戏数据扁平化——函数式编程在 C# 中的完整落地。
第七章 异步编程:Task 与 async/await
**从 C++ 到 C# · 异步。** Task 状态机的完整底层展开、SynchronizationContext 如何让代码回到主线程、ConfigureAwait(false) 为什么在 Unity 中是致命的、CancellationToken 的协作式取消——这是 C# 面试中最难也是 Unity 开发中坑最多的一章。
第八章 模式匹配与现代 C#
**从 C++ 到 C# · 模式匹配。** 从 C# 7.0 的 is 类型匹配到 C# 12 的 list patterns,全面剖析模式匹配的 IL 展开、record 的值相等与 with 克隆、Source Generator 的编译期代码生成——这些现代特性正在改变 C# 的编码风格,也是校招面试中越来越频繁出现的新考点。
第九章 CLR 与编译管线
**从 C++ 到 C# · 运行时。** CLR 如何加载 IL 代码并执行——JIT 分层编译的策略与优化、AOT/IL2CPP 在 Unity 中的应用与限制、Mono 与 CoreCLR 的架构差异、程序集加载与元数据反射的内部机制。理解 CLR 不是面试炫技——它是写出零意外性能开销的 C# 代码的基石。
第十章 MonoBehaviour 深入
**Unity 引擎 · 脚本核心。** MonoBehaviour 生命周期全剖析——从 C++ engine 层到 C# 托管层的消息传递链路、序列化与 SerializeReference 的内部机制、Coroutine 的 IEnumerator 驱动原理、与 async/await 的本质区别与选型决策。这是 Unity 客户端开发面试中最基础也是最容易答不全的一章。
第一章 设计原则与 SOLID
**设计模式 · 设计原则与 SOLID。** 从游戏开发中的真实痛点出发,逐一拆解 SRP/OCP/LSP/ISP/DIP 五大原则——每个原则配失败案例与重构代码,再加组合优于继承、KISS/YAGNI/DRY 补充原则,最后以一个'上帝类'的完整重构收尾。
第二章 创建型模式:单例、工厂与对象池
**设计模式 · 创建型模式。** 从游戏开发中'谁创建对象、何时创建、怎么创建'三个核心问题出发,逐一拆解单例、工厂方法、抽象工厂与对象池——每个模式配双重实现(菜鸟版 + 工业版)、变体对比与游戏实战。
第三章 行为型模式(上):事件、命令与状态机
**设计模式 · 行为型模式核心篇。** 游戏开发中出场率最高的三种模式——观察者/事件系统、命令模式(Undo/Redo)、有限状态机(FSM)。每个模式配双重实现、完整游戏场景代码、变体对比(事件总线 vs 消息队列、状态模式 vs 策略模式、FSM vs 行为树)。
Profile Image of the Author
lumivers
Hello, I'm lumivers.
公告
欢迎来到我的博客!
音乐
封面

音乐

暂未播放

0:00 0:00
暂无歌词
分类
标签
站点统计
文章
62
分类
7
标签
231
总字数
144,655
运行时长
0
最后活动
0 天前

目录