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#中的迭代器来做什么?至少说出两点
面向对象的七大原则分别是什么?并选择其中一个原则说明它的意思
为什么单例模式在游戏开发中很常用?至少说出 3 个优点
工厂模式在游戏开发中一般用来做什么?
观察者设计模式在游戏开发中有什么作用?
递归函数是什么?请用一句话总结
在编写递归函数时,最需要关注的两点是什么?请说出你自己的理解
C#中如何在函数中返回多个返回值?(至少说出 3 种方法)
二分查找(折半查找)的原理是什么?
在游戏开发中,我们可以利用数据结构中的树参与哪些功能的制作?(至少说出 3 点)
父类中定义了一个静态成员属性,有两个子类都继承该父类,请问打印结果是什么?为什么
泛型父类中定义了一个静态成员属性,有两个子类都继承该泛型父类,请问打印结果是什么?为什么
使用 C#制作游戏存档功能,请问有几种做法?(至少说出三种)
C#中是否可以通过反射获取到类内部的私有成员?
在制作游戏存档功能时
C#中反射主要可以发挥出哪些作用(至少说出三点)
float f = 10.4;
int i = f / 2;
Console.WriteLine(i);
请问上面这段代码的打印结果是多少?
在 C#当中,我们想要用一个字典容器存储场景中的所有敌对对象
比如 怪物、Boss、可被攻击的场景物件等等
应该如何存储
在 C#中,给你一个数字,表示有 n 秒
请问如何在不改变这个数字的前提下
将它转换成格式为 小时分__秒
假设游戏中有一个怪物管理器管理所有怪物,那么在开发时,为了避免内存泄漏,我们需要注意什么?
C#类中的函数是否占用内存空间?
C#函数中一般会声明一些临时变量,当函数被加载内存中后所占的内存空间是否包含函数中的这些临时变量?
为什么要为缓存池中的单个池子设置对象上限?
任务系统中,某任务是要采集某一种植物 n 株后才能完成。
说一说制作思路
有两个泛型类,他们是父子关系
public Father<Father<int>> Test()
{
return new Son<Son<int>>();
}
这个写法是否正确?
数据结构中的树,一般会在游戏开发中用来处理什么?至少说出 3 点
游戏开发中逻辑与表现如何分离?非 UI 系统
C#中在字符串前面加一个@符号或者$符号有什么作用
C#中提供了序列化和反序列化 2 进制数据的公共类 BinaryFormatter
为什么我们一般还要自己去实现序列化和反序列化 2 进制数据的方法?
异或加密的原理是什么?请简要说明
这个函数是判断一个整数是不是 2 的 n 次方。请问 if 语句中应该如何书写
有 1000 瓶水其中一瓶是有毒的,喝下后 24 小时后才死,现在用小白鼠来测试哪一瓶有毒。最少需要用多 少只小白鼠才能测出哪一瓶是有毒的水(需要在 24 小时后出结果,不能用几天时间来测试)
int[,] strArray = new int[3, 4]这个语句创建了多少个 int 对象?
string[,] strArray = new string[3, 4]这个语句创建了多少个 string 对象?
为什么我们要尽量避免装箱拆箱?避免装箱拆箱的方案有哪些?
单机游戏中,我们如何避免玩家利用修改器修改客户端数据?(至少说出 2 点方案)
网络游戏中,我们如何避免外挂的产生?(至少说出 2 点方案)
value1 和 value2 谁先初始化
1 | public class Main1 |
C#中数值在调用 ToString()方法时,若传入字符串参数,有哪些格式转换规则?(至少说出 3 点)
C#中 ulong 类型可以表示最大的整数为多少?
C#中的 BigInteger 类对于我们来说有什么意义?
C#中如何把 int 数组转换为 string 数组?(请至少说出 2 种方式)
为什么我们使用单例模式更多,而几乎不使用静态类?
C#中常用的命名规范有哪些?(至少说出 3 种)
在 Unity 中使用 C#的 foreach 是否会带来额外内存和性能开销?
在游戏开发中的日志系统一般会配合 C#中的什么一起使用?用于记录报错信息
对于一个 ARPG 游戏来说,如何设计技能配置表,请简要描述
(比如:大概需要配置几张表,分别配置什么信息)
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Secret Garden!
评论