去蓝港在线面试Unity3D的笔试题。难吗?知道答案的在评论里写出来分享
前一阵子去蓝港面试unity3d程序,在前台登记以后被领到一个吧台前面填2张个人信息表,之后有人送来笔试题,做了1个小时,感觉挺难的。之后被带到下面面试,面试的是一个年龄稍大的(可能是项目经理或者技术总监),和另一个较为年轻的unity主程,人都比较随和,面试过程没有感觉压抑,想说什么就说什么。除了问一些技术问题,就是下面面试题的一个拓展,还问了有没有玩过蓝港的游戏,看我的手机是windowsphone的,就问了我之前有没有把自己做的东西发布到自己wp手机上。虽然自己技术还很欠缺,但是去蓝港面试一回还是很有收获的。下面是这次的笔试题,拿出来分享,希望大家遇到自己会的能把答案在评论里贴出来,和大家一起分享探讨。
1、请简述值类型与引用类型的区别。
值类型传递的是值本身,引用类型传递的是地址。
2、C#中所有引用类型的基类是什么?
object
3、请简述ArrayList和List<int>之间的主要区别。
LIST是接口类,ArrayList类实现了这个接口,可以这样用:List a=new ArrayList();
4、请简述GC(垃圾收集)产生的原因,并描述如何避免。
5、请描述interface和抽象类之间的不同。
网上很多
6、下列代码在运行中,会产生几个临时对象?
string a=new string(“abc”);
a=(a.ToUpperCase()+“123”).SubString(0,2);
7、下列代码在运行中会发生什么问题?如何避免?
List<int> Is=new List<int>(new int[]{1,2,3,4,5});
foreach(int n in Is)
{
Debug.Log(n*n);
Is.Remove(n);
}
foreach会产生大量临时对象 直接 Is.Clear()多好
8、请简述sealed关键字用在类声明时与函数声明时的作用。
作为类别的时候 不能有子类 作为函数的修饰符的时候 在子类里不能重写函数
9、请简述private,public,protected,internal的区别。
private:私有成员,在类的内部才可以访问。
public:公共成员,完全公开,没有访问限制。
protected:保护成员,该类内部和继承中可以访问。
internal:当前程序集内可以访问。
10、请简述反射的实现原理。
11、请简述.Net与Mono之间的关系。
mono是.net的一个工具,.net只能在windows平台下跑,mono可以跨平台,可以运行于Linux,FreeBSD,Unix,OS X和Solaris
12、请简述Unity3D支持的3种脚本语言的名称。
C#、JS、BOO
13、Unity3D是否支持写成多线程程序?如果支持的话要注意什么?
支持:如果同时你要处理很多事情或者与Unity的对象互动小可以用thread,否则使用coroutine。
注意:C#中有lock这个关键字,以确保只有一个线程可以在特定时间内访问特定的对象
14、Unity3D中的协程(coroutine)和C#线程之间的区别是什么?
Unity3d没有多线程的概念,不过unity也给我们提供了StartCoroutine(协同程序)和LoadLevelAsync(异步加载关卡)后台加载场景的方法。 StartCoroutine为什么叫协同程序呢,所谓协同,就是当你在StartCoroutine的函数体里处理一段代码时,利用yield语句等待执行结果,这期间不影响主程序的继续执行,可以协同工作。而LoadLevelAsync则允许你在后台加载新资源和场景,所以再利用协同,你就可以前台用loading条或动画提示玩家游戏未卡死,同时后台协同处理加载的事宜asynchronous[e ɪˈ s ɪŋ kr ə n ə s] .synchronous同步。
15、请说出Unity3D中勇于记录节点空间几何信息的组件名称,及其父类名称。
transform,父类component
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数据,请举出三种方法。
1.可以把assets目录和Library目录一起迁移
2.导出包
3.用Unity带的assets Server功能
29、请简述MeshCollider和其他Collider的一个主要不同点。
30、当一个细小的高速运动的物体(如子弹)撞向另一个较大的物体时,可能出现什么
情况?如何避免?
31、请简述OnEnable,Aawake和Start在运行时的发生顺序。哪些可能在同一个对象的生
命期中发生。
32、请简述OnBecameVisible及OnBecameInvisible的发生时机,以及这一对回调方法的
意义。
当renderer(渲染器)在任何相机上都不可见时调用:OnBecameInvisible
当renderer(渲染器)在任何相机上可见时调用:OnBecameVisible
33、请简述Unity3D如何获知场景中需要加载的数据。
34、请简述MeshRenderer中material和sharedmaterial的区别。
认认真真一字一句看到这里,点“推荐”、评论的都能找到一份满意的高薪unity3d工作。*^◎^*
去蓝港在线面试Unity3D的笔试题。难吗?知道答案的在评论里写出来分享的更多相关文章
- 关于面试总结-python笔试题
关于面试总结4-python笔试题 前言 现在面试测试岗位,一般会要求熟悉一门语言(python/java),为了考验求职者的基本功,一般会出2个笔试题,这些题目一般不难,主要考察基本功. 要是给你一 ...
- 阿里2015在线研发project师笔试题(部分)
今天lz去阿里的在线笔试打了一把酱油,因为lz的水平有限,时间太他么紧张了.以下把记下来的题给大家分享一下.选择题总共20道,前十题截了图,后面感觉太费时就没有再截了,凭记忆记下了两道.附加题都记录下 ...
- 关于面试总结5-python笔试题(递归)
前言 本篇继续收集一些常见的python笔试题,以基础知识为主,递归是面试最喜欢考的一个问题,不管是做开发还是测试,都无法避免考递归.本篇结合实际案例,讲下几种关于递归的场景. 计算n的阶乘 计算n! ...
- 关于面试总结4-python笔试题
前言 现在面试测试岗位,一般会要求熟悉一门语言(python/java),为了考验求职者的基本功,一般会出2个笔试题,这些题目一般不难,主要考察基本功. 要是给你一台电脑,在编辑器里面边写边调试,没多 ...
- 关于面试总结-python笔试题(递归)
前言 本篇继续收集一些常见的python笔试题,以基础知识为主,递归是面试最喜欢考的一个问题,不管是做开发还是测试,都无法避免考递归.本篇结合实际案例,讲下几种关于递归的场景. 计算n的阶乘 计算n! ...
- Oracle笔试题库 附参考答案
1. 下列不属于ORACLE的逻辑结构的是(C) 区 段 数据文件 表空间 2. 下面哪个用户不是ORACLE缺省安装后就存在的用户(A) A . SYSDBA B. SYSTEM C. SCOTT ...
- 2014-04-17-网易有道-研发类-笔试题&參考答案
一套卷子,共10道小题,3道编程大题 一.填空&选择 1.选择:给了一个递归求Fibonacci的代码,问算法复杂度 指数复杂度 2.选择:忘记了,应该不难 3.选择:给你52张除掉大小王的扑 ...
- Linux 运维笔试题(一)答案
答案: 1. ftp:21 远程连接telnet端口:23 smtp:25 rsync:873 SNMP:161 RPC(Remote Procedure Call,远程过程调用) ...
- Android开发面试经——2.常见Android基础笔试题
标签: androidAndroid基础Android面试题Android笔试题 2015-03-12 15:04 3361人阅读 评论(3) 收藏 举报 分类: Android开发(29) 版 ...
随机推荐
- 启动报错:java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
如果你是maven项目,tomcat在发布项目的时候没有同时发布maven依赖所添加的jar包,你需要设置一下eclipse:项目 —> 属性 -> Deployment Assembly ...
- C#学习笔记(十六):Attribute
Attribute可以为类或方法添加一些附加的信息,我们可以看看MSDN对Attribute的描述: 公共语言运行时允许你添加类似关键字的描述声明,叫做attributes, 它对程序中的元素进行标注 ...
- FOR XML PATH的用法
USE [ChangHongWMS612]GO/****** Object: StoredProcedure [dbo].[st_WMS_SelStockInBillList] Script Date ...
- python登录csdn并自动评论下载资源脚本
功能 1.自动登录csdn 2.查找未评论的资源并自动评论 用到的库 1.python自带的requests,获取以及发送网页数据 2.python自带的time,用作休眠,csdn资源一段时间内只允 ...
- Java数据库编程(JDBC)
一.使用Java对数据库的操作步骤: 1.根据应用程序的数据库类型,加载相应的驱动: 2.连接到数据库,得到Connection对象: 3.通过Connection创建Statement对象: 4.使 ...
- 在Java中super和this的区别
摘要:在Java中我们会时常用到super及this的用法,现在我主要来区分一下super.和this.及superL()及this()之间的区别,来对它们的认识和了解: 1.this的用法在Java ...
- CTF
今天发现了一个神奇的领域CTF……感觉打开了新世界的大门 http://ctf.idf.cn/里面各种有趣的题目0.0
- Autofac实例生命周期
1.默认,每次请求都会返回一个实例 builder.RegisterType<X>().InstancePerDependency(); 2.Per Lifetime Scope:这个作用 ...
- c3p0详细配置
c3p0详细配置 官方文档 : http://www.mchange.com/projects/c3p0/index.html <c3p0-config> <default-conf ...
- VS DLL 复制本地
1.引用一个DLL,需要指定路径,复制本地的意思是 把这个DLL复制到exe的Debug目录(调试的时候). 2.复制到本地的动作是在生成的时候执行的,清理的时候会删除. 3.从外部引用一个DLL,不 ...