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 可靠传输机制有哪些

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

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

相关推荐
yi01124 分钟前
Leetcode 49 用 “身份证‘‘巧解
人工智能·笔记·python·算法·leetcode·哈希表
ouynagda30 分钟前
嵌入式Linux i.MX6ULL系统移植学习笔记
linux·笔记·学习
yi01136 分钟前
DAY22: LeetCode 733:图像渲染——从二维网格开始理解 DFS 和 BFS
数据结构·笔记·python·算法·leetcode·深度优先·宽度优先
sbjdhjd1 小时前
智能体开始“动手”之后:OpenAI越权事件、Anthropic算力资本化与开放权重模型竞逐 | AI与SI行业日报整理(9月29日—10月6日)
大数据·人工智能·经验分享·笔记·ai·chatgpt·开源
上位机妹子1 小时前
从零理解 EF Core:用 Minimal API 给「工作项看板」建模(小白笔记)
笔记
深圳老胡2 小时前
STM32 MCU 国产替代型号简介
笔记·stm32·单片机·代码规范
做cv的小昊3 小时前
【大模型算法自学笔记01】NLP基础知识(1.1 自注意力)
人工智能·笔记·算法·自然语言处理·大模型·llm
深圳老胡4 小时前
STM32 在 VSCode 下 -O0 与 -Os 编译条件的区别
笔记·stm32·单片机·代码规范
陈卫军老师13 小时前
陈卫军语录全集总结:12句话,一条主线
经验分享·笔记
2501_9269783317 小时前
给自指系统接一个外部锚 —— 一个关于「用 AI 观察自己」的方法
人工智能·经验分享·笔记·机器学习·ai写作