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-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 跟着一起变。请说出修改方案 我们可以使用 C#中的迭代器来做什么?至少说出两点面向对象...

2024-06-18
Unity 面试题 & 日常问题
原文:https://blog.csdn.net/qq_47926835/article/details/129259412 C#什么是面向对象,和面向过程的区别面向对象:当解决一个问题时,把事物抽象成对象的概念,看这个问题中有哪些对象,给这些对象赋一些属性和方法,让每个对象去执行自己的方法,最终解决问题 面向过程:当解决一个问题时,把事件拆封成一个个函数和数据,然后按照一定的顺序,依次执行完这些方法(过程),等方法执行完毕,事情也解决。 面向过程性能比面向对象要高,但是没有面向对象易于维护、易于复用、易于扩展 五大基本原则单一职责原则:一个类的功能要单一,不能太复杂。就像一个人一样,分配的工作不能多,不然虽然很忙碌,但是效率并不高开放封闭原则:一个模块在扩展性方面应该是开放的,而在更改性方面应该是封闭的。例如一个模块,原先只有服务端功能,但是现在要加入客户端功能,那么在设计之初,就应当把服务端和客户端分开,公用的部分抽象出来,从而在不修改服务端的代码前提下,添加客户端代码。里式替换原则:子类应当可以替换父类并出现在父类能出现的任何地方。例如参加年会,公司所有的员工应该都要可...

2024-03-07
Unity - 数据持久化 - 二进制
任务 1-1:数据持久化 2 进制—概述知识回顾Unity 数据持久化系列第四部分 PlayerPrefs XML JSON 2 进制 什么是数据持久化?数据持久化就是将内存中的数据模型,转换为存储模型,以及将存储模型转换为内存中的数据模型的统称。 说人话:将游戏数据存储到硬盘,硬盘中数据读取到游戏中,也就是传统意义上的存盘。 如何理解不同后缀的文件文件后缀名决定了文件的格式不同的软件可以根据后缀名用来判断文件的类型,并且在打开文件时以特定的读取规则去解析它文件后缀名是人为定的规则,可以有无数种,可以自定义。 2 进制是什么?2 进制是计算技术中广泛采用的一种数制。2 进制数据是用 0 和 1 两个数码来表示的数。它的基数为 2,进位规则是“逢二进一”。 计算机中存储的数据本质上都是 2 进制数的存储,在计算机中位(bit)是最小的存储单位。1 位就是一个 0 或者一个 1。 也就是说一个文件的数据本质上都是由 n 个 0 和 1 组合而成的,通过不同的解析规则最终呈现在我们的眼前。 学习 2 进制读写数据的原因之前我们学过的 xml 和 json 都是用特定的字符串组合规则来...

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

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 = rotationQuatern...
评论
公告
一个ACGN爱好者的Blog,有问题与我交流可在Bilibili 留言 / 私信,谢谢你的关注。



