cpp选手秋招学习笔记day24-cs144项目总结

"凡事预则立,不预则废"

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还是有差距,要多复盘几次;关于实习的经历不能现想,要提前组织语言。

相关推荐
硅基手札9 小时前
【Linux 内核专栏 19】20 · 嵌入式子系统 — GPIO·pinctrl·clock·regulator
linux·运维·单片机·linux内核·嵌入式开发·调试定位
默|笙9 小时前
【Linux网络】传输层协议TCP(3)滑动窗口、流量控制
linux·网络·tcp/ip
修心光9 小时前
记录一次,jenkins打包异常问题
运维·jenkins
分布式存储与RustFS10 小时前
JuiceFS 接 RustFS 当数据后端:把对象存储挂成本地文件系统
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
xiaoye-duck10 小时前
《C++ 项目:手写大模型接入 SDK》ChatGPT接口设计(中):全量响应实现和测试
网络·c++·语言模型·chatgpt
ManageEngineITSM11 小时前
工单分类怎么设计?类别、子类别与自动分派的实用方法
大数据·服务器·数据库·人工智能·分类·数据挖掘
CANI_PLUS11 小时前
电脑文件共享
运维·服务器
Decay__11 小时前
15_MySQL 数据同步与迁移方案 —— 复制 / DataX / Canal / 异构同步(对标 Oracle GoldenGate)
运维·数据库·sql·mysql·架构
Linux界最忧郁之人11 小时前
华为云ECS&IMS&AS实战|弹性云服务器、私有镜像、弹性伸缩完整实验
linux·运维·服务器·centos·华为云·openstack
后台模板学习11 小时前
GitHub Actions 与 Jenkins 在日志监
运维·github·jenkins