美文网首页
2018年面试题总结

2018年面试题总结

作者: FollowYour_784e | 来源:发表于2018-07-10 22:59 被阅读0次

1.ui中的batching 一个红色一个蓝色 怎么合并它们?

batching:批处理    打图集,合并材质

2.2个物体都挂了脚本,从a物体的第一个开始,说下awakw.onenable.start顺序。

3.点乘和叉乘在数学上的体现和是什么类型的值?

点乘计算角度,值是标量,叉乘计算方位,值是向量

4.assetbundle下载下来的是放在哪个文件夹里?

assetbundle下载到persistentDataPath,就说是沙盒目录,可读可写

放在LuaFramework文件夹下。

5.光照模型lambert的内部计算?

lambert,是光照方向和法线向量的点乘

6.法线贴图怎能烘焙?

可以根据原贴图生成一个简单的法线贴图,但是效果很low

一般好的法线贴图都是,根据高模映射烘焙出来的

然后我们游戏中使用低模+高模烘焙的法线贴图,效果跟高模一模一样,性能却提升了N倍

7.moba游戏中血条是怎么在玩家头上现实的?

用的ugui,就一个血条,在画布中,只是让血条ui在画布中跟着世界坐标系的人物一起移动的

8.Unity脚本和lua怎么互相调用?

luainterface是一个提供.net和lua交互的类库.

9.UNITY生命周期

(1) Reset() 组件重设为默认值时(只用于编辑状态)

(2)Awake() 脚本组件载入时 (调用一次)

(3)OnEnable() 是在游戏对象可以调用时调用

(4) Start()第一个Update发生之前 (调用一次)

(5)FixedUpdate() 固定时间调用,常用于物理相关的计算,比如对Rigidbody的操作

(6)Update()大部分游戏行为代码被执行的地方,除了物理代码

(7)LateUpdate() 每帧Update调用之后

(8)OnGUI() 绘制GUI时调用

(9)OnDisable() 当对象设置为不可用时

(10)OnDestroy()组件销毁时调用

10.RECTTRANSFORM下面的所有属性,使用代码控制锚点

obj.transform.GetComponent().SetInsetAndSizeFromParentEdge(RectTransform.Edge.Left, 0, 0); obj.transform.GetComponent().SetInsetAndSizeFromParentEdge(RectTransform.Edge.Top, 0, 0);

11.C#:GC是什么,如何主动使用GC?

c#中的GC全称是garbage collection,也就是我们平日里说的垃圾回收器,用来回收引用类型对象所占用的内存,

啰嗦一句,GC是如何判定对象需要回收那,很简单,只要这个对象和子对象没有有效的引用(值为null时),即判定是垃圾,回收

另外:System命名空间有GC类,让编程人员控制垃圾回收器

Sysytem.GC.Collection();

12.数据结构是什么?

数据结构是在整个计算机科学与技术领域上广泛被使用的术语。它用来反映一个数据的内部构成,即一个数据由那些成分数据构成,以什么方式构成,呈什么结构。数据结构有逻辑上的数据结构和物理上的数据结构之分。逻辑上的数据结构反映成分数据之间的逻辑关系,而物理上的数据结构反映成分数据在计算机内部的存储安排。数据结构是数据存在的形式。 数据结构是信息的一种组织方式,其目的是为了提高算法的效率,它通常与一组算法的集合相对应,通过这组算法集合可以对数据结构中的数据进行某种操作。

13.结构体是什么?

其实结构体也是一种数据类型,只不过在这种数据类型中又包含了几个基本的数据类型;

14.进程和线程?

什么是进程(Process):普通的解释就是,进程是程序的一次执行,而什么是线程(Thread),线程可以理解为进程中的执行的一段程序片段

15.网络TCP UDP HTTP

16.LUA实现面向对象原理

17.精灵移动造成网格刷新怎么解决

18.为什么用LUA来做热更新

19.UNITY:UI上实现特效。

20.多线程跟协程的区别?

协程和线程的区别是:协程避免了无意义的调度,由此可以提高性能,但也因此,程序员必须自己承担调度的责任,同时,协程也失去了标准线程使用多CPU的能力。

21.多个物体在空中无规则运动怎么实现?

22.不使用foreach遍历字典

(1)var iter = spawners.Keys.GetEnumerator();

            while (iter.MoveNext())

            {

            var key = iter.Current;

            }

(2) var enumerator = dic.GetEnumerator();

        while (enumerator.MoveNext())

        {

            Debug.Log("while " + enumerator.Current.Key + " " + enumerator.Current.Value);

       }

23.lua和C#交互原理

1.C#调用lua,使用LuaInterface,LuaInterface是用于实现Lua和CLR的混合编程的库。

2.lua调用C#,反射和非反射。

1.反射,通过反射得到C#中的类和方法,然后通过lua语法控制C#

2.非反射,cstolua提供了一个框架,帮助我们把C#脚本生成一个_Wrap文件,ulua在启动时会加载这些_Wrap文件,使每一个C#的类对应一个lua中的userdata,然后再在lua中调用C#类时,就可以直接通过userdata的引用拿到相应的C#类和对象,大大提高了效率。

24.require,dofile,dostring区别

require,参数是路径,会在package.loaded中查找该lua是否已经加载,没找到的话,载入文件并执行代码块,对于相同的文件只执行一次

  dofile,会吧参数的lua文件直接执行,不考虑是否加载过,所以同一个文件会被执行多次

  dostring,等于dofile

相关文章

  • Java面试题汇总

    Java面试题总结 Java面试题总结一Java面试题总结二

  • iOS经典面试题总结--内存管理

    iOS经典面试题总结--内存管理 iOS经典面试题总结--内存管理

  • iOS RunLoop 总结以及相关面试题解答

    iOS RunLoop 总结以及相关面试题解答 iOS RunLoop 总结以及相关面试题解答

  • Paper Collection - InInterview

    ios 面试题 经典(比较全) 根据重点总结(总结的题还是比较多的,有答案) sunnyxx的面试题 很全的面试题目

  • JavaScript面试题整理(1)

    做面试题就是要做经典的面试题,通过这些具有代表性的面试题来学习与总结,从而掌握相同类型的题目。 对于面试题的总结与...

  • 2020年,精选大厂的iOS面试题总结(一)

    iOS面试题目录(一) 精选大厂的iOS面试题总结(一)精选大厂的iOS面试题总结(二) 1. iOS内存管理机制...

  • 面试题

    关注的面试题文集 Android面试题整理 Android工程师面试题大全 Android 面试题总结之Andro...

  • 面试题转载

    iOS面试了20几家总结出来的面试题iOS面试了20几家总结出来的面试题(二)

  • Handler面试题总结

    面试题总结 Handler是一个比较重要的东西,所以把网上发的Handler中的面试题总结了一下,这些面试题没问题...

  • java script 1

    1 史上最全的Javascript面试题总结 史上最全的Javascript面试题总结 1 未声明和未定义? 未声...

网友评论

      本文标题:2018年面试题总结

      本文链接:https://www.haomeiwen.com/subject/oyfcpftx.html