cpp选手秋招学习笔记 day12

一、场景题

1.数据库delete truncate drop的区别

delete是行级别删除、truncate会重置自增主键清空数据表、drop是释放存储空间,更彻底地摧毁结构

delete之后自增主键不释放,继续增加

2.mysql执行一条语句经过的组件

连接器、解析器、优化器、执行器------到存储引擎执行

连接器处理和客户端连接

优化器比如去优化索引

3.Inner联结

联结是查两个表匹配的数据,还有左联结和右联结,其中分别代表左右表是主表

默认的联结只返回在两个表严格匹配的交集,左联结和右联结对于主表的都显示,右表匹配不上的用None。

可能会遇到的问题是比如订单如果不能匹配到人就有问题。

4.四种隔离级别分别是什么,innodb的默认隔离级别

读未提交、读提交、可重复读、可串行化

默认可重复读,读未提交是有各种问题,读提交解决了脏读,可重复读解决了不可重复读,可串行化解决了幻读

5.DDL DML DCL

区别是分别是针对库的,操作具体的增删改查,控制用户权限

6.分库分表的自增主键的解决

使用snowflake,使用中心数据库或Redis,使用uuid

snowflake的问题是如果时间回退可能出现重复主键,uuid的问题是需要的空间大,资源浪费

二、langchain相关

主要是和api相关的知识

1.在调用api引入上下文的一种方式是使用消息

消息是模型对话的基本单元,包括四种:系统、用户、ai、tool

可以使用json或者SystemMessage这些去调用。

1.python的列表

python是\[\]来表示列表

2.messages=[

SystemMessage("..."),

HumanMessage(),

AIMessage()

,

HumanMessage...]

3.profile是模型的一些相关信息,print

model.profile

4.langsmith是监考和调试调用模型的一个平台,需要申请api,然后在.env去配置,然后每次调用在langsmith能看

5.stream和batch的调用

invoke是阻塞式的完整的调用,stream是流式调用,会像在网页对话一样,返回的是一个迭代器,然后去打印。

batch可以同时传递一个列表的信息,然后返回的response也是多个信息,可以对应打印,批处理。

相关推荐
柳鲲鹏14 小时前
内斗学概论:43、平级内斗
笔记
星恒随风16 小时前
MySQL 从零入门(四):表的增删改查与基础查询详解
linux·服务器·数据库·笔记·mysql
li星野17 小时前
相位补偿学习记录:把被颅骨“打乱“的声波重新对齐
学习
Z21-X17 小时前
云原生运维学习笔记:ECShop全链路容器化部署与Docker底层资源隔离深度剖析
运维·笔记·学习·云原生
red_redemption18 小时前
自由学习记录(230)
学习
晓梦林1 天前
BUUCTF-菜刀流量-MISC-学习笔记
笔记·学习
Godspeed Zhao1 天前
从零开始学AI25——无监督学习之层次聚类
学习·机器学习·聚类
David猪大卫2 天前
【C++修炼】map 和 set 的使用
c语言·开发语言·数据结构·c++·经验分享·笔记·学习
HPtiger2 天前
C++ 入门笔记:从 C 到 C++ 的核心过渡(命名空间、输入输出、缺省参数、重载、引用、内联)
c语言·c++·学习
星恒随风2 天前
MySQL 从零入门(三):表的约束详解
linux·服务器·数据库·笔记·mysql