每天一套面试题Day36-八股高频(17)

链接题目来自牛客p8

我的每日一套面试题专栏,每天更新一起打卡

由于课设六级期末都要搞,加之以及背的需要复习,八股近一个月每天数量会视情况而定。

84.请你说说Java中重载和重写的区别。

alt 这里的参数列表不同指的是参数类型,数量,顺序(参数类型的顺序)至少有一项不同。

85.为什么需要四次挥手

四次挥手是由TCP连接的全双工特性和半关闭状态决定的。

  1. 全双工:连接有A->B和B->A两个独立通道,需要各自关闭。
  2. 核心过程:主动关闭方(如客户端)先发FIN关闭自己的发送通道;被动关闭方先回ACK确认,然后在自己数据发送完毕后,再发FIN关闭自己的发送通道;最后主动方回ACK确认。
  3. 为什么是四次:被动方的ACKFIN通常无法合并发送。因为ACK是协议栈立即回复的,而FIN需要等待应用层所有数据发送完毕,两者存在时间差,这就产生了“半关闭”状态。
  4. 对比握手:三次握手时,服务端的SYNACK都是针对连接建立的,可以同时发出,所以能合并。

86.UDP 和 TCP 的应用场景

牛客的图片 alt 由于TCP要做到可靠,有序号,超时重传,ACK,三次握手,四次挥手等,于是实时性不得不妥协。 所以可靠就选TCP,FTP文件传输协议,HTTP,HTTPS,实时就选UDP,比如语音视频游戏等低延时场景。 如果你既想要可靠又想要实时,那么UDP上层再封装,比如QUIC TCP的核心设计目标——提供一对一的、可靠的、基于连接的字节流服务——这个根本目标,同时决定了它必须要有连接建立/释放过程(握手挥手),并且天然无法支持广播/多播。

#面试真题#
每日一套面试真题 文章被收录于专栏

记录刷过的面试真题

全部评论

相关推荐

评论
1
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务