Unity3d面试题
C#
基础
-
面向对象思想的三要素是什么
- 封装 继承 多态
- 详细说明
-
继承和组合的区别是什么
- 继承是面向对象三大基本特征之一(继承,封装,多态),继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为
- 组合是通过对现有对象进行拼装即组合产生新的具有更复杂的功能
- 详细说明
-
什么是多态
- 多态是同一个行为具有多个不同表现形式或形态的能力
- 详细说明
-
重载的返回值需要相同吗?
- 重载的返回值类型可以相同也可以不同
-
重写和重载分别是什么
- 重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变
- 重载(overloading) 是在一个类里面,方法名字相同,而参数不同。返回类型可以相同也可以不同。
- 详细说明
-
接口和抽象类有什么区别,什么时候使用接口,什么时候使用抽象类
- 接口和抽象类的概念不一样。接口是对动作的抽象,抽象类是对根源的抽象。
- 详细说明
-
tcp和udp有什么区别
-
深拷贝和浅拷贝的区别
- 深拷贝:复制基本类型的属性;引用类型的属性复制,复制栈中的变量 和 变量指向堆内存中的对象的指针和堆内存中的对象。
- 浅拷贝:复制基本类型的属性;引用类型的属性复制,复制栈中的变量 和 变量指向堆内存中的对象的指针,不复制堆内存中的对象。
-
值类型和引用类型的区别
- 值类型存储在栈内存或堆内存之中,而引用类型只能放堆内存里。
- 详细说明
-
string 是值类型还是引用类型
- 引用类型
-
如何判断两个string类型相等
- ==
-
{1,null,2} 长度为? {1,2,null}长度为?
- {1,null,2} 长度 3
- {1,2,null} 长度 3
数据结构
- 数据结构都有哪些
- Array,ArrayList,List,LinkedList,Queue,Stack,Dictionary<K,T>
- Dictionary 底层是如何实现的