写点什么

架构师培训营第八周总结

用户头像
talen
关注
发布于: 2020 年 07 月 29 日

一、NP问题

  1. P:能在多项式时间复杂度内解决的问题

  2. NP:能在多项式时间复杂度内验证答案正确与否的问题

二、数组

  1. 数组的查询时间复杂度为O(1)

三、链表

  1. 链表可以使用零散的内存空间存储数据

  2. 链表的查找时间复杂度为O(N)

  3. 增删数据比数组性能要好

四、栈

  1. 栈和数组一样,都是线性表

  2. 栈删除数据,是后进先出的原则

五、队列

  1. 队列跟栈相反,是先进先出

  2. 常用的MQ中间件,运用了队列的特性,而且可以保证按顺序消费

六、树

  1. 二叉排序树,左子树上所有结点的值均小于或等于它的根结点的值,右子树上所有结点的值均大于或等于它的根结点的值

  2. 平衡二叉树

  3. 红黑树,在增删节点的时候,通过染色和旋转,保持红黑树的特性

  4. 跳表,最常用的就是redis

七、常用的算法

  1. 穷举算法或暴力算法

  2. 递归算法

  3. 贪心算法-迪杰斯特拉算法

  4. 动态规划DP

  5. 广度优先或深度优先算法

  6. 遗传算法

八、OSI七层网络模型

  1. 应用层

  2. 表示层

  3. 会话层

  4. 传输层

  5. 网络层

  6. 数据链路层

  7. 物理层

九、TCP/IP四层模型

  1. 应用层

  2. 传输层

  3. 网络互联层

  4. 网络访问层

  5. TCP3次握手

1)ACP先发送SYN=1,Seq=x的报文,表示请求建立连接,X是一个随机数;

2)服务器收到这个报文后,应答SYN=1,ACK=X+1,Seq=Y的报文,表示同意建立连接;

3)App收到这个报文后,检查ACK的值为自己发送的Seq值+1,确认建立连接,并发送ACK=Y+1的报文给服务器;服务器收到这个报文后检查ACK值为自己发送的Seq值+1,确认建立连接。

  1. 四次挥手

1)客户端向服务端发送一个FIN,请求关闭数据传输

2)当服务器接收到客户端的FIN时,向客户端发送一个ACK,其中ACK的值等于FIN+SEQ

3) 服务器向客户端发送一个FIN,告诉客户端应用程序关闭

4)当客户端收到服务器端的FIN 是,回复一个ACK给服务器端。其中ACK的值等于FIN+SEQ

十、应用层HTTP协议

  1. HTTP请求的七种方法,Get,Head,Post,Put,Delete,Trace,Options

  2. HTTP协议包图:

  1. HTTP响应的5种状态,1xx消息--请求已被服务器接收,继续处理;2xx成功--请求已成功被服务器接收、理解、并接受;3xx重定向;4xx请求错误;5xx服务器错误

发布于: 2020 年 07 月 29 日阅读数: 42
用户头像

talen

关注

还未添加个人签名 2018.07.19 加入

还未添加个人简介

评论

发布
暂无评论
架构师培训营第八周总结