美文网首页Unity探路营
Unity面试题精选(5)

Unity面试题精选(5)

作者: 洪智 | 来源:发表于2021-01-07 19:05 被阅读0次

    洪流学堂,让你快人几步。

    整理了一些Unity面试题目,希望可以帮助到你。

    面试官:数组和List两者效率之间哪个好?

    答:

    数组: 数组在C#中是最早出现的。它在内存中是连续的存储的,所以索引速度很快,而且赋值与修改元素也很简单。可以利用偏移地址访问元素,时间复杂度为O(1);删除时间复杂度为O(n),数组没有添加数据选项。

    List:基于数组,时间复杂度相同,插入为O(n);不过在数据少量的时候跟数组差不多,数据庞大的时候效率会低于数组。

    面试官:哈希表与字典的区别?

    答:

    字典:内部用了Hashtable作为存储结构。

    • 如果我们试图找到一个不存在的键,它将返回 / 抛出异常。
    • 它比哈希表更快,因为没有装箱和拆箱,尤其是值类型。
    • 仅公共静态成员是线程安全的。
    • 字典是一种通用类型,这意味着我们可以将其与任何数据类型一起使用(创建时,必须同时指定键和值的数据类型)。
    • Dictionay 是 Hashtable 的类型安全实现, Keys和Values是强类型的。Dictionary遍历输出的顺序,就是加入的顺序。

    哈希表:

    • 如果我们尝试查找不存在的键,则返回 null。
    • 它比字典慢,因为它需要装箱和拆箱。
    • 哈希表中的所有成员都是线程安全的。
    • 哈希表不是通用类型。
    • Hashtable 是松散类型的数据结构,我们可以添加任何类型的键和值。
    • HashTable是经过优化的,访问下标的对象先散列过,所以内部是无序散列的。

    面试官:值类型和引用类型的区别?

    答:

    • 值类型存取快,引用类型存取慢。
    • 值类型表示的是数据,引用类型表示的是指向存储在内存堆中的数据的指针和引用。
    • 值类型继承自System.ValueType,引用类型继承自System.Object。
    • 值类型根据声明位置不同堆和栈中都有可能存储,引用类型分配在堆中。

    面试官:什么是序列化?

    答:

    序列化是通过将对象转换为字节流,从而存储对象或将对象传输到内存,数据库或文件的过程。主要用途是保存对象的状态,包括对象的数据,以便能够在需要是重建对象。反向过程称为反序列化。

    面试官:委托是什么,event关键字有什么用?

    答:

    委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递,这种将方法动态地赋给参数的做法,可以避免在程序中大量使用If-Else(Switch)语句,同时使得程序具有更好的可扩展性。

    event关键字的作用,为了限制委托的调用条件,使之只能在外部进行,-=、+=操作不能调用,但可以在类内部调用。

    扩展阅读

    关注洪流学堂服务号,免费领取本系列所有内容


    我是大智,你的技术探路者,下次见!

    别走!点赞收藏哦!

    好,你可以走了。

    相关文章

      网友评论

        本文标题:Unity面试题精选(5)

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