Unity面试题(含答案)
个人感觉非常有必要在面试之前大体看一下 并且也建议大家看一下 在应聘之前做好准备
我的个人经历:在面试的时候遇到的题,大多这里都有,事后超后悔。 所以自己整理了一下 方便下次面试
还有就是要清晰的做好自我定位,不要因为接连面试失败而轻易否认自己从而降低薪资要求,具体的薪资可以参照你在技术水平处于什么阶段和你所在的城市决定,打个比方一线城市如果你是p2普通技术阶段(如下图的深绿色的部分是必须会的)一般公司12k左右,然后shader,性能优化或者算法其中一项或多项比较好可以酌情在增加几k,或者你的技术比较熟练经验丰富快要达到p3也可以增加薪资要求,主要还是看技术水平,现场表现。然后要准备充分给自己底气。
//U3D p2水平(深绿色)
面试就以往项目的详细说明(包含负责的功能模块等)这里自己心里大体过一遍做好心里建设。
- 说一下你以往做过的项目:
- 负责的功能模块:
- 开发遇到的难点和解决方式:
下面分模块记录了面试中常遇见的问题,分模块是为了方便记忆和为了面试的时候能过快速找到记忆点。
语言基础:
1.结构体和类有何区别?
结构体是一种值类型,而类是引用类型。那么结构体就是当成值来使用的,类则通过引用来对实际数据操作
2.值类型和引用类型有何区别?
1.值类型的数据存储在内存的栈中;引用类型的数据存储在内存的堆中,引用类型的变量持有的是数据的引用,
2.值类型存取速度快,引用类型存取速度慢。
3.值类型表示实际数据,引用类型表示指向存储在内存堆中的数据的指针或引用
4.值类型继承自System.ValueType,引用类型继承自System.Object
5.栈的内存分配是自动释放;而堆在.NET中会有GC来释放
6.值类型的变量直接存放实际的数据,而引用类型的变量存放的则是数据的地址,即对象的引用。
2.Heap与Stack有何区别?
1.heap是堆,stack是栈。
2.stack的空间由操作系统自动分配和释放,
heap的空间是手动申请和释放的,heap常用new关键字来分配。
3.stack空间有限,heap的空间是很大的自由区。
2.请简述ArrayList和List的主要区别?
List是接口,ArrayList是一个实现了该接口的类,可以被实例化
ArrayList存在不安全类型(ArrayList会把所有插入其中的数据都当做Object来处理)
装箱拆箱的操作(费时)
2.请简述装箱拆箱
装箱 就是把“值类型”转换成“引用类型”(Object);
拆箱 就是把“引用类型”转换成“值类型”;
3.请简述sealed关键字用在类声明时与函数声明时的作用
sealed修饰的类为密封类,类声明时可防止其他类继承此类,在方法中声明则可防止派生类重写此方法。
4.请简述private,public,protected,internal的区别
public:对任何类和成员都公开,无限制访问
private:仅对该类公开
protected:对该类和其派生类公开
internal:只能在包含该类的程序集中访问该类
5.请描述Interface与抽象类之间的不同