-
undolog记录的是动作还是数据?
- 记录的是对应的旧版本的数据,当前数据行中会有一个隐藏字段rollback_ptr执行undolog中的这个版本的行数据
-
每次操作都会向undolog写数据,怎么解决undolog过大的问题?
- 数据库会定期清理undolog,对于那些已经提交了的事务的旧版本数据,数据库系统会将这些数据清理掉
-
DNS解析的过程是怎么样的?
- 先查询本地DNS服务器
- 在查询根DNS服务器
- 再查询顶级域DNS服务器
- 再查询权威DNS服务器
-
DNS向其他几级服务器查询的时候,用的什么协议?
- 使用的是UDP协议,DNS底层依赖的是UDP协议
-
TCP的数据包有大小限制吗?
- 最大数据包大小为1500字节,实际是1460字节
-
接收方调用receive的时候,一次接受1500字节吗?
- 不是,接收的字节不仅取决于数据包的大小,也取决于接收端窗口的大小,如果窗口只有1024字节,那么只能接收1024字节
- 如果窗口大于1500字节,但是一次性接收的数据取决于数据包的大小,而数据包不可能超过1500字节
-
TCP的server端调用close关闭连接,这时候client端继续发送数据,会出现什么情况?
- 服务端调用close后进入4次挥手过程
- 首先服务端向客户端发送一个FIN,进入FIN_WAIT1状态
- 客户端接收到FIN后向服务端发送一个ACK,服务端进入FIN_WAIT2,客户端进入CLOSE_WAIT状态,需要等待客户端发送完数据后,客户端才会进入第三次挥手
-
计算机网络中,Https协议是安全在哪里?详细说说SSL/TLS的节点安全的整个流程?
- https安全保障是其对传输的数据进行了加密
- 流程:
- 握手阶段(交换密钥)
- 客户端从服务器端获取公钥,用于加密解密会话秘钥
- 客户端加密一个预主秘钥,发送给服务端
- 服务端接收到加密后的预主秘钥,利用私钥解密出
- 两端利用相同的函数将预主秘钥生成会话秘钥(会话秘钥是对称加密)
- 确认阶段
- 两端都用会话秘钥向对端发送一个密文,确保秘钥有效
- 数据传输阶段
- 发送端利用会话秘钥加密,接收端利用会话秘钥解密
- 握手阶段(交换密钥)
-
TCP可靠传输的保证?
- 数据块为单位进行传输
- TCP确保数据包首部和数据的校验和
- 重名的包去重,失序的包重排序
- 重传机制
- 流量控制
- 拥塞控制
-
发生拥塞的时候,整个具体的调整策略是什么,窗口大小是怎么变化的?
- TCP的拥塞控制是通过拥塞窗口来实现的
- 初始拥塞窗口设置的很小,为1
- 采用慢开始和拥塞避免来控制窗口大小
- 在发送数据时,如果没有发生丢包,那么拥塞窗口大小加一,如果发生丢包,窗口大小减半
-
SQL遇到慢查询你会怎么去定位和优化?
- 一般遇到慢sql查询往往会导致某个接口很慢,我们可以通过接口的链路来确定慢sql,这个过程可以通过查看日志,通过traceid来确定链路来确定这个接口中对应的sql语句。
- 优化的话将这些sql语句利用explain工具查看其查询效率,重点关注index和ref两个字段,index是否为null代表是否走了索引,ref代表当前的查询效率,我们最低要将sql优化为ref级别,最好是const级别。
- 如果没走索引,我们先观察是否是现有sql语句的书写问题导致没走索引,如果sql语句没有优化空间,那么就得在表中为相应字段添加索引。
20240812面经背诵
最新推荐文章于 2024-08-14 23:12:09 发布