第一部分
1.请简述值类型与引用类型的区别
2.C# 中所有引用类型的基类是什么
3.请简述 ArrayList 和 List 的主要区别
4.请简述 GC (垃圾回收)产生的原因,并描述如何避免?
5.请描述 Interface 与抽象类之间的不同
6.下列代码在运行中会产生几个临时对象?
7.下列代码在运行中会发生什么问题?如何避免?
8.请简述关键字 Sealed 用在类声明和函数声明时的作用
9.请简述 private , public , protected , internal 的区别
10.反射的实现原理?
11..Net 与 Mono 的关系?
12.简述 Unity3D 支持的作为脚本的语言的名称
13.Unity3D 是否支持写成多线程程序?如果支持的话需要注意什么?
14.Unity3D 的协程和 C# 线程之间的区别是什么?
15.U3D 中用于记录节点空间几何信息的组件名称,及其父类名称
16.简述四元数的作用,四元数对欧拉角的优点?
17.向量的点乘、叉乘以及归一化的意义?
18.矩阵相乘的意义及注意点
19.为何大家都在移动设备上寻求 U3D 原生 GUI 的替代方案
20.请简述如何在不同分辨率下保持 UI 的一致性
21.为什么 dynamic font 在 unicode 环境下优于 static font
22.Render 的作用?描述 MeshRender 和 SkinnedMeshRender 的关系与不同
23.简述 SkinnedMesh 的实现原理
24.在场景中放置多个 Camera 并同时处于活动状态会发生什么?
25.Prefab 的作用?如何在移动环境的设备下恰当地使用它?
26.如何销毁一个 UnityEngine.Object 及其子类
27.为什么 Unity3D 中会发生在组件上出现数据丢失的情况?
28.如何安全的在不同工程间安全地迁移 asset 数据?三种方法
29.MeshCollider 和其他 Collider 的一个主要不同点?
30.当一个细小的高速物体撞向另一个较大的物体时,会出现什么情况?如何避免?
31.OnEnable 、 Awake 、 Start 运行时的发生顺序?哪些可能在同一个对象周期中反复的发生?
32.请简述 OnBecameVisible 及 OnBecameInvisible 的发生时机,以及这一对回调函数的意义?
33.Unity3D 如何获知场景中需要加载的数据?
34.MeshRender 中 material 和 sharedmaterial 的区别?
答案区:
第一部分
1.请简述值类型与引用类型的区别
答:区别: 1. 值类型存储在内存栈中,引用类型数据存储在内存堆中,而内存单元中存放的是堆中存放的地址。 2. 值类型存取快,引用类型存取慢。 3. 值类型表示实际数据,引用类型表示指向存储在内存堆中的数据的指针和引用。 4. 栈的内存是自动释放的,堆内存是 .NET 中会由 GC 来自动释放。 5. 值类型继承自 System.ValueType, 引用类型继承自 System.Object 。
可参考