某公司的U3D笔试题

 

今天这套笔试题感觉做得一般。

随后是二对一的技术面试,但涉及的技术细节相对较少,更多的是对以前工作、项目经历的询问。

然后说今天先到这里,让我等通知。

我还特意问了一下,通知大概要多久,他们说这个得看hr,他们只是给hr传达他们的信息。

当时就觉得差不多挂了、、、

1. 请简述值类型与引用类型的区别

答:

可参考http://www.cnblogs.com/JimmyZhang/archive/2008/01/31/1059383.html

2.C#中所有引用类型的基类是什么

答:

引用类型的基类是System.Object 值类型的基类是System.ValueType

同时,值类型也隐式继承自System.Object

3.请简述ArrayList和List<Int>的主要区别

答:

ArrayList存在不安全类型‘(ArrayList会把所有插入其中的数据都当做Object来处理)

装箱拆箱的操作(费时)

4.请简述GC(垃圾回收)产生的原因,并描述如何避免

:GC回收堆上的内存

避免:1)减少new产生对象的次数

2)使用公用的对象(静态成员)

3)将String换为StringBuilder

5.请描述Interface与抽象类之间的不同

答:

参考http://www.cnblogs.com/seapub/archive/2012/08/08/2628433.html

6.下列代码在运行中会产生几个临时对象?

            string a = new string("abc");
a = (a.ToUpper() + "123").Substring(0, 2);

答:其实在C#中第一行是会出错的(Java中倒是可行)。应该这样初始化:

string b = new string(new char[]{'a','b','c'});

7.下列代码在运行中会发生什么问题?如何避免?

            List<int> ls = new List<int>(new int[] { 1, 2, 3, 4, 5 });
foreach (int item in ls)
{
Console.WriteLine(item * item);
ls.Remove(item);
}

答:会产生运行时错误,因为foreach是只读的。不能一边遍历一边修改。

8.请简述关键字Sealed用在类声明和函数声明时的作用

答:

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

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

答:

public:对任何类和成员都公开,无限制访问

private:仅对该类公开

protected:对该类和其派生类公开

internal:只能在包含该类的程序集中访问该类

protected internal:protected + internal

10.反射的实现原理?

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

参考http://blog.163.com/xuanmingzhiyou@yeah/blog/static/1424776762011612115124188/

11..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.

12.简述Unity3D支持的作为脚本的语言的名称

答:Unity的脚本语言基于Mono的.Net平台上运行,可以使用.NET库,这也为XML、数据库、正则表达式等问题提供了很好的解决方案。

Unity里的脚本都会经过编译,他们的运行速度也很快。这三种语言实际上的功能和运行速度是一样的,区别主要体现在语言特性上。

JavaScript:和网页中常用的JavaScript不一样,它编译后的运行速度很快,语法方面也会有不少区别。

C#

Boo:可以看做是Python语言的变种,又糅合了Ruby和C#的特性,它是静态类型语言

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

答:参考http://www.unity防禁manual.com/3821.html

仅能从主线程中访问Unity3D的组件,对象和Unity3D系统调用

14.Unity3D的协程和C#线程之间的区别是什么?

答:http://blog.csdn.net/kongbu0622/article/details/8775037

多线程程序同时运行多个线程 ,而在任一指定时刻只有一个协程在运行,并且这个正在运行的协同程序只在必要时才被挂起。

除主线程之外的线程无法访问Unity3D的对象、组件、方法。

15.U3D中用于记录节点空间几何信息的组件名称,及其父类名称

答:Transform 父类是 Component

16.简述四元数的作用,四元数对欧拉角的优点?

答:四元数用于表示旋转

相对欧拉角的优点:

1)能进行增量旋转

2)避免万向锁

3)给定方位的表达方式有两种,互为负(欧拉角有无数种表达方式)

17.向量的点乘、叉乘以及归一化的意义?

1)点乘描述了两个向量的相似程度,结果越大两向量越相似,还可表示投影

2)叉乘得到的向量垂直于原来的两个向量

3)标准化向量:用在只关系方向,不关心大小的时候

18.矩阵相乘的意义及注意点

用于表示线性变换:旋转、缩放、投影、平移、仿射

注意矩阵的蠕变:误差的积累

19.为何大家都在移动设备上寻求U3D原生GUI的替代方案

不美观,OnGUI很耗费时间,使用不方便

20.请简述如何在不同分辨率下保持UI的一致性

原生GUI http://unity3d.9ria.com/?p=2587

NGUI http://blog.csdn.net/mfc11/article/details/17681429

21.为什么dynamic font在unicode环境下优于static font

Unicode是国际组织制定的可以容纳世界上所有文字和符号的字符编码方案。

使用动态字体时,Unity将不会预先生成一个与所有字体的字符纹理。当需要支持亚洲语言或者较大的字体的时候,若使用正常纹理,则字体的纹理将非常大。

22.Render的作用?描述MeshRender和SkinnedMeshRender的关系与不同

A renderer is what makes an object appear on the screen。

23.简述SkinnedMesh的实现原理

http://blog.csdn.net/n5/article/details/3105872

24.在场景中放置多个Camera并同时处于活动状态会发生什么

答:

游戏界面可以看到很多摄像机的混合

25.Prefab的作用?如何在移动环境的设备下恰当地使用它?

答:

Prefab在实例化的时候用到,主要用于经常会用到的物体,属性方便修改

http://www.cnblogs.com/88999660/archive/2013/03/15/2961663.html

26.如何销毁一个UnityEngine.Object及其子类

答:

Destory

27.为什么Unity3D中会发生在组件上出现数据丢失的情况?

答:

组件上绑定的对象被删除了

28.如何安全的在不同工程间安全地迁移asset数据?三种

答:

将Assets目录和Library目录一起迁移

导出包

用unity自带的assets Server功能

29.MeshCollider和其他Collider的一个主要不同点?

答:Convex?

30.当一个细小的高速物体撞向另一个较大的物体时,会出现什么情况?如何避免?

穿透(碰撞检测失败)

http://forum.unity3d.com/threads/3353-collision-detection-at-high-speed

31.OnEnable、Awake、Start运行时的发生顺序?哪些可能在同一个对象周期中反复的发生?

Awake -》OnEnable-》Start

OnEnable在同一周期中可以反复地发生

http://answers.unity3d.com/questions/217941/onenable-awake-start-order.html

32.请简述OnBecameVisible及OnBecameInvisible的发生时机,以及这一对回调函数的意义?

当物体是否可见切换之时。

可以用于只需要在物体可见时才进行的计算。

33.Unity3D如何获知场景中需要加载的数据?

题目是获取的意思?

Resource.Load

AssetBundle

34.MeshRender中material和sharedmaterial的区别?

修改sharedMaterial将改变所有物体使用这个材质的外观,并且也改变储存在工程里的材质设置。

不推荐修改由sharedMaterial返回的材质。如果你想修改渲染器的材质,使用material替代。

某公司的U3D笔试题的更多相关文章

  1. 所在实习公司的JS笔试题

    在班上无聊的时候看到了一份JS笔试题(我是电面进去的,没做过这份题~~),开始还觉得蛮简单......后来觉得还是很有意思的,贴出来一起看看. 题目一: if(!("a" in w ...

  2. splunk公司的一道笔试题

    题目要求: 一个游泳馆里有很多储物柜,每个储物柜都有一个ID号,但是老板不喜欢4这个数字,所以ID号里都不能有4,ID号从1开始编号,让你设计所有储物柜的ID号,用程序输出,比如输入  4输出  5输 ...

  3. Android开发面试经——3.常见Java基础笔试题

      Android开发(29)  版权声明:本文为寻梦-finddreams原创文章,请关注:http://blog.csdn.net/finddreams 关注finddreams博客:http:/ ...

  4. 关于完整解答Leo C.W博客中名为“我们公司的ASP.NET 笔试题,你觉得难度如何”的所有题目

    关于完整解答Leo C.W博客中名为“我们公司的ASP.NET 笔试题,你觉得难度如何”的所有题目,请大家鉴定,不足之处,敬请指教! 第1到3题解答如下: public enum QuestionTy ...

  5. java各公司笔试题集1

    IBM笔试题 注:IBM笔试题一小时之内完成,题目全部用英文描述,这里用中文表述 一.名词解释 1.Eclipse 2.J2EE 3.EJB 4.Ajax 5.Web service 二.找出以下代码 ...

  6. 【笔试题】某公司中有N名员工。给定所有员工工资的清单

    排列员工工资顺序(C++map解法) 题目描述:某公司中有N名员工.给定所有员工工资的清单,财务人员要按照特定的顺序排列员工的工资.他按照工资的频次降序排列.即给定清单中所有频次较高的工资将在频次较低 ...

  7. flhs笔试题-回家上机实践

    这是最近参加的一个公司的笔试题,回家上机写了下代码,希望对有需要的小伙伴有用,简单实现字符串和数组在指定位置的插入: package org.flhs; import com.google.commo ...

  8. C/C++ 笔试题

    /////转自http://blog.csdn.net/suxinpingtao51/article/details/8015147#userconsent# 微软亚洲技术中心的面试题!!! 1.进程 ...

  9. 2014 WAP校园招聘笔试题

    2014 WAP校园招聘笔试题 Problem's Link:   http://www.doc88.com/p-6751117015483.html WAP公司笔试题 We are planning ...

随机推荐

  1. 你云我云•兄弟夜谈会 第二季 5G

    0. 概况 时间:2019年1月29日 21:30~23:15 兄弟团:金孝(主持人).肖力.楼炜.张亮.孙杰.熊.世民 主题:5G 1. 5G超简单科普 金孝首先对大家做了超简单5G科普.5G 是第 ...

  2. 7.2.5 多层嵌套的if语句

    7.2.5 多层嵌套的if语句 在编写程序的代码之前要先规划好.首先,要总体设计一下程序. 为方便起见,程序应该使用一个连续的循环让用户能连续输入待测试的 数.这样,测试一个新的数字不必每次都要重新运 ...

  3. 初学爬虫,关于scrapy

    对于anaconda与pycharm,因为在pycharm中一直下不成功tensorflow,所以后来又下了anaconda,pycharm就可以直接使用anaconda的编译器, 一直都很正常,但是 ...

  4. docker-容器,仓库

    ---恢复内容开始--- 前言: 学技术不能该断时间,连续的学习才是最好的学习方式. 00x1: 创建一个容器:docker create -it xxxx 而启动容器就有两种状态了,第一:新容器启动 ...

  5. mysql-xtrabackup备份sh: xtrabackup_56: command not found与error while loading shared libraries: libssl.so.6: cannot open shared object file: No such file or directory

    sh: xtrabackup_56: command not foundinnobackupex: fatal error: no 'mysqld' group in MySQL options解决办 ...

  6. 注解 - Excel 校验工具

    注解类: @Retention(RetentionPolicy.RUNTIME) public @interface ExcelValidate { public boolean ignoreBlan ...

  7. hive 学习

    多表查询 SELECT a.user_uid_type, a.user_uid, c.user_id, c.user_type FROM mytable1 a JOIN mytable2 b ON(a ...

  8. WebView内容自适应

    webview页面自适应 //适应内容大小 start webSetting.setUseWideViewPort(true); webSetting.setLayoutAlgorithm(WebSe ...

  9. Git上传本地代码

    Git  add  .将本地文件上传至缓冲区 git   commit  -m  'project  init'  将代码上传至本地仓库 Git   push   将本地的代码传至线上(码云) git ...

  10. python docker 多进程提供 稳定tensorflow gpu 线上服务

    尝试了太多的python多进程的服务,在tensorflow 的线上GPU服务中总是不理想.tensorlfow serving docker服务这些也有些不便. 今天抽空给大家分享一个成功的经验.失 ...