cpp 选手秋招学习笔记 day38

一、手撕

1.滑动窗口实现

通过 queue 实现,队列中存储的都是没有过期的,每次新请求到来就清理队列

知识点 1 lock_guard〈mutex〉lock(mtx)锁的使用

知识点 2 Now 时间的作用,队列中存储的是之前请求的时间,不是具体请求的编号等

整个类包括 limiter,限流数,window size,窗口时长,unordered_map〈string,deque〈long long〉〉requests;

2.算子矩阵乘法

具体的就是活用共享内存,如果不使用共享内存从全局内存移动数据很多都是重复的,使用共享内存就可以复用一些信息

二、

1.url 包括的内容

这个是之前没有了解过的知识点,包括协议,主机,端口,资源路径,参数,这里主机可以是域名也可以是 IP 地址。

2.TCP 三次握手和四次挥手

今天记忆了一下具体的四次挥手的状态,分别是客户端,FIN 发送之后变成 FINWAIT1 然后服务端变成 closewait,客户端收到 ACK 变成 FINWAIT2,然后服务端关闭发送 FIN 变成 LASTACK,然后客户端收到 ACK 变成 TIMEWAIT,然后服务端收到变成 closed,最后 2msl 之后客户端变成 closed。

3.进程通信的内容

通信方式包括消息队列,管道,信号量,信号,共享内存,mmap 内存映射,套接字,写读文件,这里管道的命名管道的概念,因为可能不是总遇到所以不熟练了,匿名管道只能在父子进程之间使用,而命名管道同一主机的进程都可以。

4.拥塞控制的概念和 TCP 的实现

这里拥塞控制是为了发送端压垮网络,包括慢启动和拥塞避免两个阶段,然后在叙述的时候慢启动是每个 ACK 发送窗口增加,拥塞避免是每个往返时延增加,他们增长的速度分别是指数增长和线性增长。

5.页表

页表存在的意义是虚拟地址到物理地址的转换,多级页表可以节省内存空间,下级没有使用的页表可以不存,然后每级页表有特定的含义。

6.TCP 可靠传输机制有哪些

除了常见的超时重传 快速重传,缓存非按序到达,流量控制拥塞控制,还有数据校验,序号和确认号,后边这两个知道,但是没有第一时间想到,是基本的但是也是实现可靠传输的基础,还有就是三次握手建立连接和四次挥手释放连接。

总结:今天理解了怎么矩阵乘法通过共享内存加速,怎么写一个滑动窗口的实现,然后算子开发的面经复习了,包括最大化利用缓存。

相关推荐
深圳老胡2 小时前
STM32C5A3ZG 网络调试总结:从启动失败到连续 Ping 稳定
笔记·stm32·单片机·代码规范
职豚求职小程序刷题3 小时前
宁德时代社招高岗晋升测评笔试改版了
笔记
CarIise3 小时前
JDBC 与数据库事务核心
数据库·笔记
鬼手点金3 小时前
KV Cache 未必是一次性的:可编辑、可组合的“笔记”
java·人工智能·笔记·学习·自动化·1024程序员节
摇滚侠3 小时前
《On Java 中文版 基础卷》阅读笔记 初始化和清理 08
java·开发语言·笔记
dire_7774 小时前
TH26027A开尔文夹子线缆问题导致同惠TH2822电桥测量不准
笔记
宝绿特塑业再生科技5 小时前
板材收缩率不稳,户外家具装配尺寸为何对不上:从切割尺寸变化到接缝不一的系统性排查与对策
笔记·科技·学习·生活·户外家具·hdpe再生颗粒·hdpe
~城南花已开~5 小时前
Intel E810 SR-IOV VF Spoofcheck 防伪造测试-KVM3
服务器·网络·笔记·学习·ubuntu·etl工程师
hss123456786 小时前
天津婚房装修怎么选:从整装、定制到全案落地的技术决策框架
笔记
职豚求职小程序刷题6 小时前
中国平安社招IQ测评+16PF怎么准备?
笔记