Unity知识点详解面试题大全

本文详细介绍了Unity开发中的关键知识点,包括值类型与引用类型的差异、C#的基础概念如引用类型的基类、ArrayList与List的区别、垃圾回收机制、接口与抽象类的比较,以及Unity3D的脚本语言、多线程、协程、组件系统、四元数、向量操作等专业术语。此外,还讨论了Unity在移动设备上的应用、资源管理、碰撞检测和LOD技术等,帮助开发者准备Unity相关的面试。
摘要由CSDN通过智能技术生成

1. 请简述值类型与引用类型的区别
答:区别: 1)值类型存储在内存栈中,引用类型数据存储在内存堆中,而内存单元中存放的是堆中存放的地址。 2)值类型存取快,引用类型存取慢。 3)值类型表示实际数据,引用类型表示指向存储在内存堆中的数据的指针和引用。 4)栈的内存是自动释放的,堆内存是.NET中会由GC来自动释放。 5)值类型继承自System.ValueType,引用类型继承自System.Object。
2.C#中所有引用类型的基类是什么
答:引用类型的基类是System.Object 值类型的基类是System.ValueType 同时,值类型也隐式继承自System.Object  
3.请简述ArrayList和List的主要区别
答:ArrayList存在不安全类型‘(ArrayList会把所有插入其中的数据都当做Object来处理) 装箱拆箱的操作(费时) List是接口,ArrayList是一个实现了该接口的类,可以被实例化。
4.请简述GC(垃圾回收)产生的原因,并描述如何避免?
答:GC回收堆上的内存 避免:1)减少new产生对象的次数 2)使用公用的对象(静态成员) 3)将String换为StringBuilder   
5.请描述Interface与抽象类之间的不同
答:抽象类表示该类中可能已经有一些方法的具体定义,但接口就是公公只能定义各个方法的界面 ,不能具体的实现代码在成员方法中。 类是子类用来继承的,当父类已经有实际功能的方法时该方法在子类中可以不必实现,直接引用父类的方法,子类也可以重写该父类的方法。 实现接口的时候必须要实现接口中所有的方法,不能遗漏任何一个。 
6.下列代码在运行中会产生几个临时对象?

    string a = new string("abc");
    a = (a.ToUpper() +"123").Substring(0, 2);       

答:其实在C#中第一行是会出错的(Java中倒是可行)。应该这样初始化: string b = new string(new char[]{‘a’,’b’,’c’});   
7.下列代码在运行中会发生什么问题?如何避免?

 List ls = new List(new int[] { 1, 2, 3, 4, 5 });           
 foreach (int item in ls){           
     Console.WriteLine(item * item);           
 } 

答:会产生运行时错误,因为foreach是只读的。不能一边遍历一边修改。   
8.请简述关键字Sealed用在类声明和函数声明时的作用
答:类声明时可防止其他类继承此类,在方法中声明则可防止派生类重写此方法。   
9.请简述private,public,protected,internal的区别
答: public:对任何类和成员都公开,无限制访问 private:仅对该类公开 protected:对该类和其派生类公开 internal:只能在包含该类的程序集中访问该类 protected internal:protected + internal   
10.反射的实现原理?   
答:反射个人认为,就是得到程序集中的属性和方法。 实现步骤:
1)导入using System.Reflection;
2)Assembly.Load(“程序集”)加载程序集,返回类型是一个Assembly
3)foreach (Type type in assembly.GetTypes()) { string t = type.Name;} 得到程序集中所有类名
4)Type type = assembly.GetType(“程序集.类名”);获取当前类的类型
5)Activator.CreateInstance(type); 创建此类型实例
6)MethodInfo mInfo = type.GetMethod(“方法名”);获取当前方法
11. .Net与Mono的关系?
答:M

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值