最近面试,记录下面试的问题
MYSQL
MYSQL 中 int(10) 与int(11) 有什么区别。
》 没什么区别。 int 大小 2^32 个大小mysql 中utf8 与utf8mb4有什么区别?
》 utf8与utf8bm4大小不一致。utf8 占用3个字节大小,utf8bm4占用4个字节;常用的emoj表情存储就需使用utf8bm4进行存储。mysql utf8与utf8bm4中char(10)底层占用大小是多少?
》utf8中char(10)mysql分配 10个字符 占用 30个字节大小,utf8bm4占用40个字节,40个字符。mysql 的中的sql 执行日志怎么查看
》 query_logmysql 中的 full_group_by?
》mysql 5.7 中默认启用该特性;group_by中只能查询 select 后利用函数包含的列字段;mysql需要我们告诉group_by后显示的具体字段。eg:select count(a) from table group by b
-
mysql的事务隔离机制?
》 mysql默认采用可重复读
的隔离级别,采用多版本并发控制——MVVC
。 详情查看MySQL事务隔离级别和实现原理
GOLANG
gin 中静态路由可以怎样定义?
》 gin.static()gin 中 gin.new() 与gin.Default()的区别
》gin.Default() 默认创建一个服务端,它包含了一些内置的中间件克供使用。gin.New()不包含内置中间件,需自己配置。
PHP
- PHP中 反引号 ` 的作用是什么
》 用作执行shell命令
其他
- http 1.1与http2 的区别?
1、http1的解析是基于文本协议的各式解析,而http2.0的协议解析是二进制格式,更加的强大
2、多路复用(Mutiplexing) : 一个连接上可以有多个request,且可以随机的混在一起,每个不同的request都有对应的id,服务端可以通过request_id来辨别,大大加快了传输速率
3、header压缩: http1.x中的header需要携带大量信息.而且每次都要重复发送.http2.0使用encode来减少传输的header大小.而且客户端和服务端可以各自缓存(cache)一份header filed表,避免了header的重复传输,还可以减少传输的大小.
4、服务端推送(server push): 可以通过解析html中的依赖,只能的返回所需的其他文件(css或者js等),而不用再发起一次请求.