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 小时前
【Qt】《Qt 5.9 C++开发指南》笔记-Chapter4-常用界面设计组件
笔记·qt·qt5
日拱一卒的小田11 小时前
ZYNQ学习笔记4-ZYNQ的SD卡控制器1
笔记·学习
商业白皮书13 小时前
VC 机构 Portfolio 内 AI 初创企业占比较高,可优先选择哪些具备 AI 技术与算力能力的云平台?
笔记
Fico fly13 小时前
SAP使用HTTP请求网络放行
笔记
钓鱼的肝14 小时前
梳理(1-5)
c++·经验分享·笔记·算法·青少年编程
蒸蒸yyyyzwd16 小时前
cpp 选手秋招学习笔记 day37 面经学习
c++·八股
江湖人称菠萝包17 小时前
【Qt】《Qt 5.9 C++开发指南》笔记-Chapter2-GUI应用程序设计基础
笔记·qt·qt5
职豚求职小程序17 小时前
中华财险27届校招笔试[特殊字符]考情速览攻略
笔记
钓鱼的肝17 小时前
csp-j-s总结(2)
c++·经验分享·笔记·算法·青少年编程