小赢理财面试题

匿名网友 匿名网友 发布于: 2016-11-18 00:00:00
阅读 129 收藏 0 点赞 0 评论 0

1. TCP和UDP有什么区别?

TCP是面向连接的,数据通讯前需建立一条连接,UDP是无连接的,面向用户数据报文;TCP是有序的,UDP不保证;TCP有流量控制,

丢失重传,数据校验等功能确保可靠性,UDP只负责发送,不管能否成功接收,是不可靠的;TCP对系统资源要求较多,速度相对慢,

UDP简单,实时性高。TCP的连接是一对一的,因此不适合多播和广播的应用,而UDP非常适合。

2. TCP怎么保证报文是有序的?

TCP的连接是逻辑上的,而不是物理上。

TCP发送数据包时为每个数据包分配一个序列号,并将该数据包放入缓冲区,设置超时计数器,在一段时间内等待接收方对这个报文的

确认。若一段时间后仍未收到对该数据包的确认ACK,发送方会重传该数据包。在接收端,例如收到数据包1后对该数据包确认的ACK报文

中确认序号填2,指的是期待下一个序号为2的数据包。若收不到就会一直ACK序号2,直到所有的有序数据全部接受完成,组合交给上层。

总结来说,TCP是通过序列号,确认号以及确认-重传机制来保证报文是有序的。

3. 系统怎么自动分配栈?

堆的增长从低地址到高地址增长,栈的增长从高地址向低地址增长。

函数运行时分配,函数结束时释放,栈中存放函数参数,局部变量,返回值,返回地址。栈的内存分配运算内置于处理器的指令集,

效率相对于堆分配来说很高,但是分配的空间有限。

 

评论列表
文章目录