Unity 面试题杂项
发表于|更新于|TechnologyUnity面试
|浏览量:
序列化是什么?常见的序列化方式有哪些?什么时候我们会用到序列化?
(数据持久化相关)
网络游戏开发中,网络传输数据的基本流程是什么?
TCP 协议和 UDP 协议的区别
TCP 协议的可靠性是如何达到的?
(网络开发)
文章作者: Aki_CCLing
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Secret Garden!
相关推荐

2024-01-05
Unity 学习路线
内容参考:课程内容及架构 : 唐老狮 唐老狮的 B 站空间内容整理、面试题整理 : 人间自有韬哥在 人间自有韬哥在的博客盘子 ssa : 盘子 ssa/个人学习笔记litfire : 2024 年 Unity 面试题和日常问题总结 CSharp目录传送门 : CSharp 知识目录 CSharp 入门文章传送门 : CSharp 入门 知识点主要内容包括变量、常量、转义字符、类型转换、异常捕获、运算符、条件分支语句、循环语句 CSharp 基础文章传送门 : CSharp 基础主要包括枚举、数组、值类型和引用类型、函数(ref 和 out、参数、重载、递归)、结构体、冒泡排序、递归排序 CSharp 核心文章传送门 : CSharp 核心 主要包括枚举、面向对象(封装、继承、多态) 封装:类和对象、成员变量、成员方法、构造函数、析构函数、成员属性、索引器、静态成员、静态类和静态构造函数、拓展方法、运算符重载 继承:里氏替换原则、继承中的构造函数、万物之父和装箱拆箱、密封类 多态:Vob、抽象类和抽象方法、接口、密封方法 以及七大原则 CSharp 进阶文章传送门...

2024-08-06
Unity 面试题 - CSharp 相关 Part 1
🟡: 代表个人还有一些理解上的问题🟢: 代表自己面试中被问到过🔴: 代表问题内容未完成 List请说明 C# 中的 List 是如何扩容的C#中的 List 是一个动态数组,其容量可以根据需要动态扩展。初始容量:List在创建时可以指定初始容量(capacity),如果没有指定,则初始容量默认为 0。 自动扩容:当添加元素导致当前容量不足时,List会自动扩容。扩容时,List会分配一个新的数组,并将现有元素复制到新数组中。 扩容倍数:扩容时,新数组的容量通常是旧容量的两倍。这种倍增策略有助于减少频繁分配内存和数据复制的开销。 1234567891011121314151617181920212223242526272829303132using System;using System.Collections.Generic;class Program{ static void Main() { // 创建一个初始容量为2的List List<int> numbers = new...

2024-08-07
Unity 面试题 - CSharp 相关 Part 2
请问什么是线程安全?如何在 C#中实现线程安全操作?C#中属性(Property)和字段(Field)的区别是什么?请解释一下 C#中的异步编程模型(Async/Await),它是用来做什么的?请问七大排序算法一般指哪七种排序算法?你一般常用的排序算法是哪种?请简单描述它的排序原理 请简单描述斐波那契数列的基本规则是什么请简单描述 A 星寻路算法的基本原理抽象类中的虚函数和抽象函数,是否必须在子类中重写?当我们使用里式替换原则,用父类容器装载子类对象时我们通过该父类容器调用其中的一个虚函数,执行的逻辑是父类中的还是子类中的逻辑呢? 我们在游戏开发时,想要获取系统时间,应该如何获取?C#使用 var 声明临时变量相比用指定变量类型声明临时变量,在最终执行时是否会增加性能消耗?int a = 10;int b = a;b = 20;我们知道,上述代码 b 改为 20 后,a 还是 10。(值类型的特点)我们是否可以简单修改以上代码,让 b 变成 20 后,a 跟着一起变。请说出修改方案 我们可以使用...

2024-08-06
Unity 面试题 - Lua 相关
热更新流程简述获取对比文件:从远程服务器下载一个用于对比的文件,该文件记录了当前可用资源的版本号或哈希值等信息。 对比本地资源和远程资源:将下载的对比文件与本地保存的对比文件进行比较,以确定本地资源和远程资源之间的差异。根据比较结果,确定需要更新的资源和需要移除的资源。 资源更新和移除:下载远程服务器上与本地资源不同的更新文件,并覆盖本地对应的资源文件,或者直接将更新的资源文件添加到本地资源目录。根据对比结果,删除本地不再需要的资源文件。 更新对比文件:将下载的远程对比文件替换本地保存的对比文件,以保持本地对比文件与服务器端一致,为下一次热更新做准备。 在 Unity 中 AssetBundle 的压缩方式有不压缩、LZMA、LZ4 三种,请问 LZMA 和 LZ4 有什么区别?🟡 Lua 面向对象的三大特性Lua 如何实现面向对象的三大特性 封装:可以通过 table 进行实现。在 Lua 中,我们可以将对象的属性和方法放入一个 table 中,然后对该 table 进行操作,从而达到封装的效果。 1234567891011121314151617Object =...

2024-08-06
Unity 面试题 - Unity 相关 Part 1
🟡: 代表个人还有一些理解上的问题🟢: 代表自己面试中被问到过🔴: 代表问题内容未完成 Unity 工作原理 & 脚本基础Unity 引擎中哪些功能使用了 C#的反射功能?至少说出一点通过反射,Unity 能够动态地访问和操作代码中的元数据,实现了很多自动化和灵活的功能,使得开发者在使用 Unity 进行游戏开发时能够更加方便和高效。 Inspector 窗口中显示的内容:Unity 通过反射来显示和编辑脚本中定义的字段和属性。在 Inspector 窗口中显示的内容是通过反射自动生成的,开发者不需要手动编写 Inspector 窗口的代码。 预设体文件:预设体(Prefabs)中的字段和属性值也通过反射进行存储和恢复。这使得在编辑器中可以方便地保存和加载复杂的对象状态。 场景文件:场景文件中对象的序列化和反序列化过程也依赖于反射。通过反射,Unity 可以在场景文件中保存对象的状态,并在加载场景时恢复这些状态。 Unity 中的各种特性(Attributes):Unity...

2024-08-07
Unity 面试题 - Unity 相关 Part 2
🟡: 代表个人还有一些理解上的问题🟢: 代表自己面试中被问到过🔴: 代表问题内容未完成 Unity 3D 数学Unity 场景中有两个点连成了一条线,想要旋转这条线,应该怎么做?首先,将两点相减得到一条向量,然后将该向量乘以所需的旋转四元数。 123456789101112131415161718192021using UnityEngine;public class LineRotation : MonoBehaviour{ public Transform point1; public Transform point2; public Quaternion rotationQuaternion; void Update() { // 计算两点的向量 Vector3 lineVector = point2.position - point1.position; // 对向量进行旋转 Vector3 rotatedLineVector =...
评论
公告
一个ACGN爱好者的Blog,有问题与我交流可在Bilibili 留言 / 私信,谢谢你的关注。