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也是多个信息,可以对应打印,批处理。

相关推荐
Answer1st4 分钟前
【HAL库】嵌入式思路(一)
笔记
AOI小白新手上路6 分钟前
深度学习模块缝合方法论 · 人物蒸馏笔记
人工智能·笔记·深度学习
oradh15 分钟前
Oracle固定执行计划的方法----SQL Profie(三)
数据库·sql·oracle
个 人 练 习 生22 分钟前
C++:模板初阶详解
开发语言·c++·经验分享·学习
辣知26 分钟前
辣知·化智69 西周青铜器何尊的宅兹中国
学习
AOI小白新手上路32 分钟前
韦东山 3-5 I.MX6ULL 的 LED 编程 · 学习笔记
arm开发·笔记·单片机·学习·架构·硬件架构
知识分享小能手34 分钟前
C++ 学习教程,从入门到精通,C++类继承 — 完整知识点详解(13)
开发语言·c++·学习
Joe_Wang51 小时前
【从0到1学习JVM · 25】同样都要停顿所有线程,Parallel比Serial到底强在哪
java·jvm·学习·垃圾回收
M78佐菲1 小时前
ARM学习笔记(9)
linux·arm开发·笔记·嵌入式硬件·学习
阳光九叶草LXGZXJ2 小时前
达梦数据库-学习-67-SSL加密认证
linux·运维·数据库·sql·学习·ssl