unity3d面试题大全

Unity游戏开发应用广泛,覆盖行业包括8大热门行业的数十个开发岗位,如VR/AR工程师、Unity3d开发、U3D客户端工程师等。

所以,也吸引了很多人开始学unity3d游戏开发,学完了unity3d游戏开发,却对即将到来的面试没有信心?面试通关要点你值得拥有,都是你想要的福利哟~

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.请简述关键字Sealed用在类声明和函数声明时的作用?

答:类声明时加Sealed可防止其他类继承此类,在方法中声明则可防止派生类重写此方法。 

7.请简述private,public,protected,internal的区别?

答:public:对任何类和成员都公开,无限制访问 private:仅对该类公开 protected:对该类和其派生类公开 internal:只能在包含该类的程序集中访问该类 protected internal:protected + internal

8. 反射的实现原理?

答:反射的定义:审查元数据并收集关于它的类型信息的能力。

反射,就是得到程序集中的属性和方法。

实现步骤:

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("方法名");获取当前方法 7)mInfo.Invoke(null,方法参数)。

9. .Net与Mono的关系?

答:Mono官网主页 Mono is a software platform designed to allow developers to easily create cross platform applications. Sponsored by Xamarin, Mono is an open source implementation of Microsoft‘s .NET Framework based on the ECMA standards for C# and the Common Language Runtime. mono是.net的一个开源跨平台工具,就类似java虚拟机,java本身不是跨平台语言,但运行在虚拟机上就能够实现了跨平台。.net只能在windows下运行,mono可以实现跨平台跑, 可以运行于linux,Unix,Mac OS等。   

10.Unity3D是否支持写成多线程程序?如果支持的话需要注意什么?

答:unity支持多线程,仅能从主线程中访问Unity3D的组件,对象和Unity3D系统调用 支持:如果同时你要处理很多事情或者与Unity的对象互动小可以用thread,否则使用coroutine。

注意:C#中有lock这个关键字,以确保只有一个线程可以在特定时间内访问特定的对象。 

原文地址:https://www.cnblogs.com/unity--3d/p/9082486.html

时间: 2024-11-10 01:16:03

unity3d面试题大全的相关文章

node.js面试题大全-侧重后端应用与对Node核心的理解

Node是搞后端的,不应该被被归为前端,更不应该用前端的观点去理解,去面试node开发人员.所以这份面试题大全,更侧重后端应用与对Node核心的理解. github地址: https://github.com/jimuyouyou/node-interview-questions 注: 这人本人历时一星期完成的小作品,github里面对一些关键代码还有js源文件.直接node filename.js就可查看效果. 第一个版本,写的匆忙,能力有限,欢迎拍砖补充!后面持续更新会及时发布到github

JAVA面试题大全(高级)

1.Java中的异常处理机制的简单原理和应用. 当Java程序违反了Java的语义规则时,Java虚拟机就会将发生的错误表示为一个异常.违反语义规则包括2种情况.一种是Java类库内置的语义检查.例如数组下标越界,会引发IndexOutOfBoundsException;访问null的对象时会引发NullPointerException.另一种情况就是Java允许程序员扩展这种语义检查,程序员可以创建自己的异常,并自由选择在何时用throw关键字引发异常.所有的异常都是java.lang.Tho

java面试题大全-基础方面

Java基础方面: 1.作用域public,private,protected,以及不写时的区别答:区别如下:作用域           当前类       同一package  子孙类       其他packagepublic            √              √                  √             √protected        √              √                  √             ×friendly

Linux运维必会的MySQL企业面试题大全 推荐

Linux运维必会的MySQL企业面试题大全 推荐 (1)基础笔试命令考察 1.开启MySQL服务 /etc/init.d/mysqld startservice mysqld startsystemctl  start mysqld 2.检测端口是否运行 lsof -i :3306netstat -lntup |grep 3306 3.为MySQL设置密码或者修改密码 设置密码 mysql -uroot -ppassword -e "set passowrd for root = passow

java程序员面试题大全含答案(2018--2019)

java程序员面试题大全含答案(2018--2019) 1.10道经典java面试题_实习生必问! 2.15个Java线程并发面试题和答案 3.15个高级Java多线程面试题及回答 4.2018年java分布式相关最新面试题 5.2018最新java技术面试题与答案 6.4个Spring常见面试题及答案解析 7.css面试题及答案 8.HR常问面试题总结(上) 9.HR常问面试题总结(下) 10.html面试题及答案 11.java中String类的面试题大全含答案 12.java二叉树算法面试

ajax面试题大全

ajax面试题大全 1.Ajax的最大的特点是什么 2.ajax的缺点 3.ajax请求时,如何解释json数据 4.ajax请求的时候get 和post方式的区别 5.什么是Ajax和JSON,它们的优缺点 6.简述ajax 的过程 7.解释jsonp的原理,以及为什么不是真正的ajax 原文地址:https://www.cnblogs.com/javamianshiti/p/10922306.html

《Java面试全解析》1000道面试题大全详解(转)

<Java面试全解析>1000道 面试题大全详解 本人是 2009 年参加编程工作的,一路上在技术公司摸爬滚打,前几年一直在上海,待过的公司有 360 和游久游戏,因为自己家庭的原因,放弃了阿里钉钉团队的 offer 回到了西安. 从 2015 年四月开始在一家上市公司担任研发经理的职位,至今也快 5 年了,一路上见了很多也面试了很多人技术人,大部分面试的结果很令我沮丧,这也是我出这本书的原因之一,帮助更多的人搞懂技术最核心的知识. 为了写好这个专栏内容,我先后拜访了一二十家互联网公司,与不同

Unity常见面试题大全

1.       [C#语言基础]请简述拆箱和装箱. 答: 装箱操作: 值类型隐式转换为object类型或由此值类型实现的任何接口类型的过程. 1.在堆中开辟内存空间. 2.将值类型的数据复制到堆中. 3.返回堆中新分配对象的地址. 拆箱操作: object类型显示转换为值类型或从接口类型到实现该接口值类型的过程. 1.判断给定类型是否是装箱时的类型. 2.返回已装箱实例中属于原值类型字段的地址. 2.        [.NET(C#)] attribute,property,markup,ta

java面试题大全

java面试笔试题大汇总     第一,谈谈final, finally, finalize的区别. 最常被问到. 第二,Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)? 第三,Static Nested Class 和 Inner Class的不同,说得越多越好(面试题有的很笼统). 第四,&和&&的区别. 这个问得很少. 第五,HashMap和Hashtable的区