"凡事预则立,不预则废"
1.项目的构成
ByteStream-TcpSender(warp32)-TcpReceiver(unwarp、Reassembler)-ByteStream
2.关于项目中印象最深刻的点
a.项目中SYN和FIN都占用序号为什么
这样可以解决的问题是ACK能确认收到这些字段而不是只是收到数字。如果SYN不占序号,收到ackno不能确定是对第一个字节还是对SYN的确认。
b.流量窗口的实现
如何实现对于流量窗口大小的调整、应用读数据、和窗口的移动
窗口的移动是通过在固定的空间内移动指针,应用读数据通过指针m_first开始读取,
流量窗口大小是在buf里的size,然后用容量减去这个值,这里是ByteStream的按序的内容。
流量窗口的大小太大或者太小可能的影响
太小会造成链路利用率不足,小于带宽*RTT会浪费,太大会造成接受的溢出,且造成拥塞,实际是rwnd和cwnd的更小值
二、华为笔试题9.2前面两个复盘
第一个考察的是BFS
第二个考察的是r进制和10进制数的转换规则
主要是靠公司 halfi=(x%r); x=x/r;
三、秋招常见待准备的问题
1.遇到的最有价值的内容、学到的东西
2.举一个具体的排查错误的例子
3.介绍一下限流方式,具体实现一个限流类
4.介绍一下项目和实习经历
总结:手写TCP的理解对比Webserver还是有差距,要多复盘几次;关于实习的经历不能现想,要提前组织语言。