百度一面

手写快速排序

mysql开启事务的命令

show engines 命令可以查看mysql存储引擎支持事务的情况。

image-20230303131345866

开启事务:

1
2
3
BEGIN;
# 或者
START TRANSACTION;

Mysql查询表字段的命令

查询表的字段名:

1
2

select COLUMN_NAME from information_schema.COLUMNS where table_name = 'goods'

image-20230303134641251

查询表的字段名,包含约束

1
show full COLUMNs from goods

image-20230303134634726

Mysql有哪些存储引擎,有什么区别

mysql中四种常用的存储引擎:

MyISAM存储引擎、innoDB存储引擎、MEMORY存储引擎、ARCHIVE存储引擎。

区别:

  • InnoDB:支持事务处理(实现了mysql标准定义了四个隔离级别,具有提交和回滚事务的能力),支持外键,支持崩溃修复能力(redo log),支持并发控制(支持行级锁),如果对事务的完整性比较高,需要频繁更新和删除操作的数据库,则可以选择InnoDB。

  • MyISAM:插入数据快,如果表主要用于插入记录和读出记录的那么选择MyISAM能实现高效率的处理。

  • MEMORY:所有的数据都存储在内存中,数据的处理速度快,但安全性不高。如果需要很快的读写速度,对数据的安全性要求较低,可以选择MEMOEY。它对表的大小有要求,不能建立太大的表。MySQL中使用该引擎作为临时表,存放查询的中间结果

  • Archive:如果只有INSERT和SELECT操作,但是本身不是事务安全的。Archive非常适合存储归档数据,如记录日志信息可以使用Archiv

InnoDB的作用

为了管理方便,人们把连接管理、查询缓存、语法解析、查询优化这些并不涉及真实数据存储的功能划分为MySQL Server的功能,把真实存取数据的功能划分为存储引擎的功能。所以在MySQL Server完成了查询优化后,只需按照生成的执行计划调用底层存储引擎提供的API,获取到数据后返回给客户端就好了。

写一下json格式

json的语法规则:

  • 数组(Array)用方括号(“[]”)表示。
  • 对象(0bject)用大括号(“{}”)表示。
  • 名称/值对(name/value)组合成数组和对象。
  • 名称(name)置于双引号中,值(value)有字符串、数值、布尔值、null、对象和数组。
  • 并列的数据之间用逗号(“,”)分隔
1
2
3
4
5
{
"name": "xdr630",
"favorite": "programming"
}

ping是网络层中的哪个协议

Ping使用的是网络层的ICMP协议。

Ping命令是一种使用ICMP协议的网络工具,用于测试主机之间的可达性和网络连接质量。

Ping测试是一个简单但有效的网络工具,可以帮助管理员诊断网络故障和测试网络连接质量。

http响应码501,502,503,504都是什么

500(服务器内部错误):服务器遇到了一个未曾预料的状况,导致了它无法完成对请求的处理。

501(尚未实施):服务器不具备完成请求的功能。例如,服务器无法识别请求方法时可能会返回此代码。

502(错误网关):服务器作为网关或代理,从上游服务器收到无效响应。

503(服务不可用):服务器目前无法使用(由于超载或停机维护)。通常,这只是暂时状态。

504(网关超时):服务器作为网关或代理,但是没有及时从上游服务器收到请求。

505(HTTP 版本不受支持):服务器不支持请求中所用的 HTTP 版本。

linux查询端口号命令

第一种:lsof命令:lsof 可查看端口占用情况

1
lsof -i:端口号

第二种:netstat -tunlp命令:用于显示 tcp,udp 的端口和进程等相关情况。

1
netstat -nltp | grep 端口号

联合索引ABC,能访问什么情况,什么情况不能访问

查询的条件中A必须存在,否则失效。

中间不能跳过某一列,否则该列后面的字段索引将失效。例如AC,则索引字段只用到了A。

mysql使用事务

插入多条数据时要不要开启事务

什么情况下使用AOP,AOP使用到了哪些注解

基础不好,推荐看书:Mysql必知必会 和 linux菜鸟私房菜什么情况下


百度一面
http://example.com/2023/02/20/百度一面/
作者
zlw
发布于
2023年2月20日
许可协议