Unity面试题 每日5题 09

1.拥塞控制和流量控制区别

什么是流量控制?流量控制的目的?

如果发送者发送数据过快,接收者来不及接收,那么就会有分组丢失。为了避免分组丢失,控制发送者的发送速度,使得接收者来得及接收,这就是流量控制。流量控制根本目的是防止分组丢失,它是构成TCP可靠性的一方面。

流量控制

流量控制是作用于接收者的,它是控制发送者的发送速度从而使接收者来得及接收,防止分组丢失的。

拥塞控制

拥塞控制是作用于网络的,它是防止过多的数据注入到网络中,避免出现网络负载过大的情况;常用的方法就是:( 1 )慢开始、拥塞避免( 2 )快重传、快恢复。

2.malloc/free和new/delete的区别
 共同点:都是从堆上申请空间,并且需要用户手动释放。

不同点:

1)malloc和free是函数,new和delete是操作符

2)malloc申请的空间不会初始化,new可以初始化。

3)malloc申请空间要手动计算空间大小,new只需在其后输入空间类型即可。

4)malloc的返回值是void*,new返回空间类型。

5)malloc申请空间失败,返回NULL,new申请失败,抛出异常。

3.动态加载资源的方式?

1.Resources.Load();

2.AssetBundle

4.碰撞器和触发器的区别?

碰撞器有碰撞的效果,IsTrigger=false,可以调用OnCollisionEnter/Stay/Exit函数;

触发器没有碰撞效果,IsTrigger=true,可以调用OnTriggerEnter/Stay/Exit函数。

5.Lua如何实现面向对象?

面向对象特性:封装、继承、多态
Lua中table是非常强大的数据结构,利用table再结合元表metatable,可以方便的在Lua中模拟类,并实现面向对象编程中具有的特性:封装、继承、多态

猜你喜欢

转载自blog.csdn.net/Anyo1n/article/details/126924244