avatar
文章
161
标签
37
分类
21
主页
文章
笔记
时间轴
项目
研发手记
更多
  • 搜索
  • 学习路线
  • 简历
  • 工具
  • 音乐
  • 视频
  • 感悟
  • 站点档案
  • 友链
  • GitHub
  • B站
岁迹腾娱 返回首页
主页
文章
笔记
时间轴
项目
研发手记
更多
  • 搜索
  • 学习路线
  • 简历
  • 工具
  • 音乐
  • 视频
  • 感悟
  • 站点档案
  • 友链
  • GitHub
  • B站

腾娱

发表于2026-06-27|更新于2026-06-27|面试准备
|浏览量:
文章作者: 岁迹
文章链接: https://lifeatlas.cn/imported-notes/%E9%9D%A2%E8%AF%95%E9%A2%98%E6%A8%A1%E6%8B%9F-%E8%85%BE%E5%A8%B1/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 岁迹!
笔记面试题模拟
cover of previous post
上一篇
速诺科技面试
Unity常见的动态资源加载Unity常用的插件DoTween 热更新的底层原理包括常用的热更新矿建,ILRunTime,华佗,XLua,ToLua 常用的开源框架UGF GF 工厂模式事件和委托的区别委托(delegate)和事件(event)在 C# 中关系非常密切,事件是建立在委托基础上的一种封装机制。委托本质上是一种类型安全的方法引用,它允许程序把方法当作数据来存储和传递。通过委托,可以在运行时决定调用哪个方法,而不是在代码中提前写死调用逻辑。同时,一个委托还可以引用多个方法,当委托被调用时,这些方法会按照顺序依次执行,因此委托常被用于实现回调机制或通知机制。 但是,如果一个委托被公开给外部使用,外部代码就可以随意操作这个委托,例如重新赋值、清空委托、或者直接调用委托。这会导致类的内部行为可能被外部破坏,使程序的控制权变得混乱。为了解决这个问题,C# 引入了事件(event)。 事件实际上是对委托的一种安全封装。使用事件后,外部代码只能对事件进行订阅(+=)或取消订阅(-=),而不能直接调用事件,也不能重新赋值或清空事件。只有声明事件的类内部才可以触发...
cover of next post
下一篇
游戏精酿GameAle笔试题
GameAle - U3D客户端(重庆)笔试题一:删除链表的倒数第 N 个结点 1234567891011121314151617181920212223242526272829303132333435363738394041/** * Definition for singly-linked list. * public class ListNode { * public int val; * public ListNode next; * public ListNode(int val=0, ListNode next=null) { * this.val = val; * this.next = next; * } * } */public class Solution { public ListNode RemoveNthFromEnd(ListNode head, int n) { ListNode cur = head; ...
相关推荐
cover
2026-06-27
面试题
你在项目中提到使用单例模式和观察者模式,能否具体说明它们的应用场景? 在2D类银中使用单例模式管理全局系统,如音效管理器,技能管理器,确保全局唯一实例以及方便各处调用。观察者模式则是用于解除模块间的耦合程度,比如当玩家的血量发生变化时,UI系统会根据事件自动更新血条,而不需要直接引用玩家对象。 追问:单例模式如何避免线程安全问题?观察者模式与Unity事件系统有和异同? 可以通过加锁或者静态构造函数实现。观察者模式更加灵活,可以自定义事件参数,Unity事件适合编辑器的可视化配置 维度 观察者模式(经典) Unity 事件系统 实现方式 通常通过接口定义(如 Observer/Subject),手动维护订阅列表。 基于 UnityEvent 类,可视化配置(Inspector 中可直接绑定)。 类型安全 编译期类型检查严格(需显式定义事件参数类型)。 支持泛型 UnityEvent<T>,但通过反射实现,部分错误可能在运行时暴露。 使用场景 通用设计模式,适用于任何编程语言 / 框架。 深度集成 Unity 生态,支持与组...
cover
2026-06-27
多益
cover
2026-06-27
八股文
C#相关1.值类型和引用类型值类型:bool,float,int,double,struct,enum 引用类型:string ,class,object,delegate,array,interface 区别: 值类型存储再栈上,引用类型存储在堆上。相应的栈上的值类型存储快,堆上的引用类型存储满 值类型存储的为真实的值也就是实际数据,引用类型指向的是内存堆中的指针和引用 值类型在使用后自动释放,引用类型使用GC来释放 值类型的继承是System.ValueType ,System.ValueType继承于System.Object,引用类型继承System.Object 值类型在栈中存储的是直接的值,引用类型数据本身实在堆中,栈中存放的是一个引用的地址 底层: 引用类型在实例化时,先在栈内开辟空间,用于存储堆中对象的地址,然后在堆内开辟空间,存储引用对象。 而值类型直接在栈中开辟空间存储对象。值类型也有引用地址,但都在栈内的同一空间。 在参数对象进入方法体内,实则是在栈中开辟了新的临时空间。(也就是参数对象的副本)栈内值类型的修改,由于栈中地址不同,所以值类型不...
cover
2026-06-27
梦加网络
简单描述C#中的闭包?以及写一段闭包代码Unity中几种常用的资源加载的方式以及应用场景
cover
2026-06-27
peropero面试
基础差(主要是拷打八股文)1.协程原理以及底层实现Unity协程核心本质都是迭代器 + 状态调度。 总结:Unity 协程的底层本质上就是“迭代器 + 状态机调度”机制。它依赖 C# 的 IEnumerator 接口和 yield return 语法实现,当我们通过 StartCoroutine() 开启一个协程时,Unity 并不会创建新线程,而是把这个协程注册到主线程的调度系统中执行。编译器会把带有 yield return 的协程函数自动转换成一个状态机类,这个类会保存协程执行时的上下文信息,比如当前执行到哪一步、局部变量的值以及当前等待条件等。当协程运行到 yield return 时,会先暂停当前执行,并把等待信息返回给 Unity;之后 Unity 在合适的时机继续调用这个迭代器的 MoveNext() 方法,使协程从上一次暂停的位置继续往下执行,直到函数执行结束或再次遇到新的 yield return。因此,协程本质上仍然是在主线程中分段执行的函数,它能够把逻辑拆分到多个帧里完成,但不能真正解决耗时计算造成的主线程阻塞问题。 2. 调度器的 “心跳” 作用协程不会自...
cover
2026-06-27
多乐游戏
多乐游戏一面(技术面)1.自我介绍2.Lua热更新Lua热更新一般是结合AssetBundle来实现资源和代码的热更新。 首先是代码层面,会把需要热更的逻辑用Lua编写,再把lua脚本打包成AB包,游戏启动时先加载基础的C#核心框架,然后通过Lua虚拟机加载Lua代码;如果后续有代码更新,就从服务器拉取新的LuaAB包,替换本地的旧包,重启游戏或者重载Lua虚拟机就能生效,不用重新安装整个游戏。 资源热更新也就是类似的,把UI贴图,场景资源这些打成AB包,标记好版本号,客户端对比服务器版本,下载更新后的AB包替换本地资源,就能实现资源的热替换。 3.AB包和Lua脚本一般放在那里1.在本地测试的阶段一般放在Unity项目的StreamingAssets目录下,这个目录的内容会被打进安装包,游戏刚启动就可以从这里读取初始的Lua代码和AB包。 2.正式上线后更新的LuaAB包会下载到PersistentDataPath目录,这个是游戏在设备上的可读写目录,重启游戏会优先加载这个目录的新包,会覆盖旧逻辑 4.如何比较两个包的差异,来从资源服务器下载呢?通过比较资源包的版本号也就是MD...
avatar
岁迹
记录游戏客户端开发、Unity 项目、个人 App 岁迹的开发过程。
文章
161
标签
37
分类
21
GitHub
公告
记录游戏客户端开发、项目复盘和个人成长。
最新文章
AI方案12026-08-27
FirstChargeModel.lua2026-08-27
Model 如何读取服务器数据、协议是什么、View 的 Data 包含什么2026-08-27
移动与视角框架2026-08-27
ActivityModel2026-08-27
© 2025 - 2026 By 岁迹框架 Hexo 7.3.0|主题 Butterfly 5.5.5
鄂ICP备2026033623号