中级农民
- 积分
- 102
- 大米
- 颗
- 鳄梨
- 个
- 水井
- 尺
- 蓝莓
- 颗
- 萝卜
- 根
- 小米
- 粒
- 学分
- 个
- 注册时间
- 2024-5-6
- 最后登录
- 1970-1-1
|
2020(4-6月) 码农类General 本科 全职@字节跳动 - 内推 - 视频面试 | Pass | 在职跳槽
注册一亩三分地论坛,查看更多干货!
您需要 登录 才可以下载或查看附件。没有帐号?注册账号 
x
多轮面试字节收集到的题库
.
UDP和TCP的区别?HTTP使用哪种协议?
四层协议、七层协议分别是什么?TCP分别工作在哪一层?
. 1point 3acres
一、TCP三次握手过程TCP的ACK包为什么是随机开始?
当TCP接收到连接的另一端点发来的数据时,它会发送一个确认。这个确认可能不会立即发送,而会延迟片刻。TCP使用的ACK是累积的,因此,一个指示字节号N的ACK暗示所有直到N的字节(但不包括N)都已经被接收了。
二、TCP四次挥手过程,哪一方会进入TIMEWAIT?如何解决TIMEWAIT过多?
TIME_WAIT状态存在的理由:.--
1)可靠地实现TCP全双工连接的终止
在进行关闭连接四次挥手协议时,最后的ACK是由主动关闭端发出的,如果这个最终的ACK丢失,服务器将重发最终的FIN,
因此客户端必须维护状态信息允许它重发最终的ACK。如果不维持这个状态信息,那么客户端将响应RST分节,服务器将此分节解释成一个错误(在java中会抛出connection reset的SocketException)。
因而,要实现TCP全双工连接的正常终止,必须处理终止序列四个分节中任何一个分节的丢失情况,主动关闭的客户端必须维持状态信息进入TIME_WAIT状态。
. check 1point3acres for more.
2)允许老的重复分节在网络中消逝
TCP分节可能由于路由器异常而“迷途”,在迷途期间,TCP发送端可能因确认超时而重发这个分节,迷途的分节在路由器修复后也会被送到最终目的地,这个原来的迷途分节就称为lost duplicate。
在关闭一个TCP连接后,马上又重新建立起一个相同的IP地址和端口之间的TCP连接,后一个连接被称为前一个连接的化身(incarnation),那么有可能出现这种情况,前一个连接的迷途重复分组在前一个连接终止后出现,从而被误解成从属于新的化身。. 1point 3 acres
为了避免这个情况,TCP不允许处于TIME_WAIT状态的连接启动一个新的化身,因为TIME_WAIT状态持续2MSL,就可以保证当成功建立一个TCP连接的时候,来自连接先前化身的重复分组已经在网络中消逝。
三、TCP滑动窗口的作用是什么?
(1)滑动窗口允许发送方连续发送多个报文(2)根据对方接收窗口大小限制发送方的发送速率,防止拥塞
TCP三次握手如果第三次超时具体表现是什么
第三次的ACK在网络中丢失,那么Server 端该TCP连接的状态为SYN_RECV,并且会根据 TCP的超时重传机制,会等待3秒、6秒、12秒后重新发送SYN+ACK包,以便Client重新发送ACK包。. .и
而Server重发SYN+ACK包的次数,可以通过设置/proc/sys/net/ipv4/tcp_synack_retries修改,默认值为5..--
如果重发指定次数之后,仍然未收到 client 的ACK应答,那么一段时间后,Server自动关闭这个连接。 |
上一篇: 字节跳动面经下一篇: 字节跳动面试-数据库
|