啥也不说,先放图:
相信视频面试前,大家都会和面试官进行以下对话:
- step1, 你:面试官您好,能听见么?
- step2, 面:你好同学,我能听见,你能听到我么?
- step3, 你:能听到。
- step4, 面:好的,接下来面试正式开始。。。
其实这就是一个大家最常使用三次握手的例子之一。
可以看出,三次握手的目的简单来说就是确保通信双方能够正常交流。
那么怎样才可以保证正常交流呢?
- 通信双方的发送、接收能力都正常
再回过头来看上面的例子:
- step1, 你:面试官您好,能听见么(seq=x)?(第一次握手)
- step2, 面:你好同学,我能听见(ack=x+1),你能听到我么(seq=y)? (第二次握手)
- step3, 你:能听到(seq=x+1, ack=y+1)。 (第三次握手)
- step4, 面:好的,接下来面试正式开始 (数据传送)。。。
第一次握手后,服务端知道,客户端的发送能力是正常的。
第二次握手后,客户端知道,服务端的发送能力,接收能力是正常的。
此时,客户端的接收能力还不知道正常与否,所以还需要第三次握手,让服务端确定客户端的接收能力是正常的。
面试问到三次握手,直接把这个例子举出来,保证面试官眼前一亮