golang

Golang 中常用的并发模型

  1. 通过channel通知实现并发控制
  2. 通过sync包中的WaitGroup实现并发控制
  3. Context上下文,实现并发控制

mysql

事务的四个特性

原子性、一致性、隔离性、持久性

left join和right join的区别

left会保存全部左边的,right会保存全部右边的

redis

redis的五个数据类型

string,list,hash,set,sort set

linux

grep

grep [option] pattern file

  • -A<显示行数>:除了显示匹配 pattern 的那一行外,显示该行之后的内容
  • -B<显示行数>:除了显示匹配 pattern 的那一行外,显示该行之前的内容
  • -C<显示行数>:除了显示匹配 pattern 的那一行外,显示该行前、后的内容
  • -c:统计匹配的行数
  • -e:同时匹配多个pattern
  • -i:忽略字符的大小写
  • -n:显示匹配的行号
  • -o:只显示匹配的字符串
  • -v:显示没有匹配pattern的那一行,相当于反向匹配
  • -w:匹配整个单词

sed

  1. 命令功能
    sed 主要用于自动编辑一个或多个文件,简化对文件的反复操作。
  2. 命令格式
    sed [options] '[地址定界] command' file
  3. 命令参数 options
  • -n:只打印匹配到的行
  • -e:多次匹配,相当于对每行处理时,顺序执行多个sed命令
  • -i:直接将处理结果写入文件
  1. 地址定界
  • 不给地址:默认对全文进行处理
  • 单地址:/pattern/,被pattern匹配到的每一行
  • 地址范围:#, #
  1. 编辑命令 command
  • d:删除模式空间匹配到的行
  • p:打印模式空间中的内容
  • s/old/new/g:将old替换为new,g表示行内全局替换

awk

  1. 命令功能
    awk 是以文件的一行为处理单位的,awk每接收文件的一行,就执行相应的命令。
  2. 命令格式
    awk ‘{pattern + action}’
  3. 分隔符
    可以使用 -F 参数来指定分隔符
  4. 内置变量
  • $0:表示当前整行,$1表示第一个字段,$2表示第二个字段,$n 表示第n个字段;
  • NR:表示当前已读的行数;
  • NF:表示当前行被分割的列数,NF表示最后一个字段,NF-1 表示倒数第二个字段;
  • FILENAME:表示当前文件的名称

comm

  1. 命令功能
    comm命令可以用于两个文件之间的比较,它有一些选项可以用来调整-输出,以便执行交集、求差、以及差集操作
  • 交集:打印出两个文件所共有的行。
  • 求差:打印出指定文件所包含的且不相同的行。
  • 差集:打印出包含在一个文件中,但不包含在其他指定文件中的行
  1. 语法
    comm [选项]... 文件1 文件2
  2. 选项

-1 不输出文件1 特有的行
-2 不输出文件2 特有的行
-3 不输出两个文件共有的行

网络

tcp是如何保持可靠性的

  1. 校验和
  2. 序列号和确认应答
  3. 超时重传机制
  4. 连接管理
  5. 流量控制
  6. 拥塞控制

http协议常用状态码

  • 301 永久重定向
  • 302 临时重定向
  • 400 客户端请求中的语法错误
  • 401 未登录
  • 403 拒绝访问
  • 404 未找到
  • 500 服务端执行请求时发生错误
  • 502 服务器网关错误
  • 503 服务器处于负载或停机维护

算法

常用排序算法的时间复杂度和空间复杂度

算法 时间复杂度 空间复杂度
冒泡排序 O(n^2) O(1)
选择排序 O(n^2) O(1)
插入排序 O(n^2) O(1)
快速排序 O(nlogn) O(logn)
归并排序 O(nlogn) O(n)
堆排序 O(nlogn) O(1)
计数排序 O(n+k) O(k)
基数排序 O(nk) O(n+k)
桶排序 O(n+k) O(n+k)

k8s

控制器模式

基础知识

认证

RBAC

模型的核心是在用户和权限之间引入了角色的概念。取消了用户和权限的直接关联,改为通过用户关联角色、角色关联权限的方法来间接地赋予用户权限(如下图),从而达到用户和权限解耦的目的。

OAuth

简单地说,OAuth的作用是:

  1. 应用程序请求用户授权
  2. 用户授权应用程序并提供证据
  3. 应用程序向服务器提供获得令牌的授权证明
  4. 令牌仅限于访问用户为特定应用程序授权的内容

jwt

JWT(Json Web Token)是一种可以跨域的认证方案

构成

  1. 头部Header:token和加密算法
  2. 载荷Payload:保存自定义数据
  3. 签名Signature:加密(header,paylod,密钥)

    流程图