- 最后登录
- 2019-12-2
- 注册时间
- 2012-8-25
- 阅读权限
- 90
- 积分
- 34660
- 纳金币
- 38268
- 精华
- 111
|
前一阵子去蓝港面试unity3d程序,在前台登记以后被领到一个吧台前面填2张个人信息表,之后有人送来笔试题,做了1个小时,感觉挺难的。之后被带到下面面试,面试的是一个年龄稍大的(可能是项目经理或者技术总监),和另一个较为年轻的unity主程,人都比较随和,面试过程没有感觉压抑,想说什么就说什么。除了问一些技术问题,就是下面面试题的一个拓展,还问了有没有玩过蓝港的游戏,看我的手机是windowsphone的,就问了我之前有没有把自己做的东西发布到自己wp手机上。虽然自己技术还很欠缺,但是去蓝港面试一回还是很有收获的。
下面是这次的笔试题,拿出来分享,希望大家遇到自己会的能把答案在评论里贴出来,和大家一起分享探讨 。
1、请简述值类型与引用类型的区别。
2、C#中所有引用类型的基类是什么?
3、请简述ArrayList和List之间的主要区别。
4、请简述GC(垃圾收集)产生的原因,并描述如何避免。
5、请描述interface和抽象类之间的不同。
6、下列代码在运行中,会产生几个临时对象? - string a=new string(“abc”);
- a=(a.ToUpperCase()+“123”).SubString(0,2);
复制代码 7、下列代码在运行中会发生什么问题?如何避免? - List Is=new List(new int[]{1,2,3,4,5});
- foreach(int n in Is)
- {
- Debug.Log(n*n);
- Is.Remove(n);
- }
复制代码 8、请简述sealed关键字用在类声明时与函数声明时的作用。
9、请简述private,public,protected,internal的区别。
10、请简述反射的实现原理。
11、请简述.Net与Mono之间的关系。
12、请简述Unity3D支持的3种脚本语言的名称。
13、Unity3D是否支持写成多线程程序?如果支持的话要注意什么?
14、Unity3D中的协程(coroutine)和C#线程之间的区别是什么?
15、请说出Unity3D中勇于记录节点空间几何信息的组件名称,及其父类名称。
16、请简述四元数的作用以及四元数相对欧拉角的优点。
17、请简述向量的点乘,向量的叉乘以及向量归一化的意义。
18、请简述矩阵相乘的意义以及注意点。
19、请简述为何大家都在移动设备上寻求Unity3D的原生GUI系统的替代方案。
20、请简述如何在不同分辨率下保持UI的一致性。
21、请简述为什么dynamic font在unicode环境下优于static font。
22、请简述Renderer的作用,并描述MeshRenderer与SkinnedMeshRenderer之间的关系
与不同。
23、请简述SkinnedMesh的实现原理。
24、在场景中Prefab的作用,并描述如何在移动设备环境下恰当的使用它。
26、如何销毁一个UnityEngine.Object及其子类。
27、请简述为什么Unity3D中会发生在组建上出现数据丢失的情况(missing)。
28、请简述Unity3D下如何安全的在不同工程间迁移asset数据,请举出三种方法。
29、请简述MeshCollider和其他Collider的一个主要不同点。
30、当一个细小的高速运动的物体(如子弹)撞向另一个较大的物体时,可能出现什么
情况?如何避免?
31、请简述OnEnable,Aawake和Start在运行时的发生顺序。哪些可能在同一个对象的生
命期中发生。
32、请简述OnBecameVisible及OnBecameInvisible的发生时机,以及这一对回调方法的
意义。
33、请简述Unity3D如何获知场景中需要加载的数据。
34、请简述MeshRenderer中material和sharedmaterial的区别。
|
|