2019.08.24 京东笔试golang知识点遗漏

TCP三次握手、四次挥手状态位

SYN_SENT :第一次握手时客户端设置

SYN_RECVD :第二次握手时服务端设置

ESTABLISHED :第三次握手时客户端服务端都设置

LAST_ACK :第三次挥手时服务端设置

TCP三次握手

数据库索引失效原因

1、应尽量避免在 where 子句中使用 != 或 <> 操作符,否则引擎将放弃使用索引而进行全表扫描;

2、尽量避免在 where 子句中使用 or 来连接条件,否则将导致引擎放弃使用索引而进行全表扫描,即使其中有条件带索引也不会使用,这也是为什么尽量少用 or 的原因;

3、对于多列索引,应满足最左匹配原则;

4、如果列类型是字符串,那一定要在条件中将数据使用引号引用起来,否则不会使用索引;

5、like的模糊查询以 % 开头,索引失效;

6、应尽量避免在 where 子句中对字段进行表达式操作,这将导致引擎放弃使用索引而进行全表扫描;

7、应尽量避免在 where 子句中对字段进行函数操作,这将导致引擎放弃使用索引而进行全表扫描;

8、不要在 where 子句中的 “=” 左边进行函数、算术运算或其他表达式运算,否则系统将可能无法正确使用索引;

9、如果MySQL估计使用全表扫描要比使用索引快,则不使用索引;

10、不适合键值较少的列(重复数据较多的列)

go中init()函数:

有下面的特征:

1 init 函数是用于程序执行前做包的初始化的函数,比如初始化包里的变量等

2 每个包可以拥有多个 init 函数

3 包的每个源文件也可以拥有多个 init 函数

4 同一个包中多个 init 函数的执行顺序 go 语言没有明确的定义(说明)

5 不同包的 init 函数按照包导入的依赖关系决定该初始化函数的执行顺序

6 init 函数不能被其他函数调用,而是在 main 函数执行之前,自动被调用

调用顺序:

调用顺序

我来评几句
登录后评论

已发表评论数()

相关站点

热门文章