cpp选手备战秋招学习笔记day17

一、场景题

1.优化和使用limit语句

有limit10 和limit 10000,10的用法

select * from User where id>10 limit 10

select *from User where id>10 limit 10000,10

直接用第二种会扫描10000+10的结果

可以的优化是使用 offset 10000、使用覆盖索引避免回表查询一些内容、使用游标的分页、使用子查询

2.slow_query_log的意义

分析性能瓶颈、分析慢查询的日志、检查没有被用到的索引、优化索引查询的设计

二、Redis实战相关

1.CPU阻塞的操作

从四个角度去看Redis的操作,和客户端的互动,包括网络IO和增删改查,后者会阻塞;和磁盘的互动,包括写AOF日志和RDB存储,同步写AOF会阻塞;主从实例的传送,从库清空数据库重写;切片集群沟通哈希槽,信息沟通。

非关键操作:某些操作可以不必等待执行结束,可以返回,比如删除操作、清空数据库操作;而对于读和同步写是关键操作。

解决阻塞的方式是对于非关键操作(不需要把结果反馈给调用方)可以让子进程去操作,然后先返回,比如删除操作,对于读取操作必须阻塞。

2.Redis和CPU之间的影响

不只是cpu快redis就快,对于多核cpu,如果每次redis实例都是在不同的核,因为不同的核不共享l1、l2缓存,所以要重新读取,命中率低,因此有redis和物理核绑定的问题。

三、agent相关内容

1.多模态的agent分成多种,第一种是解耦的单独的比如图片模型去处理,然后输出给文字模型;最近的gemini是直接在训练的时候使用的是多模态的数据。

2.无论模型的上下文窗口增长的多大,仍然会有注意力稀释的问题,这一点和人是一样的,虽然可以关注很多东西,但是如果想要产生真知灼见就需要定位在真正重要的事情上。

昨日回顾:

1.多agent的必要性:解决上下文稀释,避免塞入过多内容;解决角色分离,更专业;解决角色和思维模式的冲突,避免出现既作为选手又当裁判的对抗。

2.agent的三要素,角色、协议和拓扑。

协议包括自然语言的自我思考的语言和与其他agent沟通的schema的结构化的语言,agent之间通信的协议存在的有A2A。

3.编译的过程

预处理、编译、汇编、链接

链接静态链接是在编译期间把库代码编译,链接,而动态链接是运行时加载,更小更可扩展。

4.两种map、unordered_map的区别是后者才是O(1)的

总结:Redis的相关的内容是从不影响可用性的角度提高性能,然后对于多核的cpu也是因为切换会影响性能。

agent相关的主要就是通信协议这个很有印象,想到了在学计网的时候比喻协议就好像人和人之间的语言。

相关推荐
谢白羽29 分钟前
SGLang模型加载过程笔记
笔记·llm·论文·agent·vllm·大模型部署·sglang
AAA代码批发商1 小时前
Days 32 Linux 多线程:线程分离属性、多进程 vs 多线程、线程同步互斥锁、信号量
linux·笔记
陈天伟教授1 小时前
【30天学会机械制图 第15 天】项目四 学会看零件图 任务1 学习零件的基本表达方法 (1)
学习·工程制图·机械制图
从零开始的嵌入式之旅1 小时前
day31
linux·c语言·经验分享·笔记·嵌入式硬件
小张帅三代1 小时前
yolo基础学习笔记
笔记·学习·yolo
zttbee1 小时前
vue学习(白话功能版)
前端·vue.js·学习·前端框架
北风toto1 小时前
UML(统一建模语言)详细笔记
笔记·uml·软件设计师
ouynagda1 小时前
Linux 进程与线程学习笔记
linux·笔记·学习