提交 444953ad 编写于 作者: 辉哈's avatar 辉哈
上级 3491cb2c
......@@ -16,9 +16,9 @@
📚 本仓库是面向 C/C++ 技术方向校招求职者、初学者的基础知识总结,包括语言、程序库、数据结构、算法、系统、网络、链接装载库等知识及面试经验、招聘、内推等信息。
💡 侧边目录支持方式:[📚 Docsify 文档](https://interview.huihut.com)[Github + TOC 导航](https://github.com/jawil/GayHub)[TOC预览.png](https://raw.githubusercontent.com/huihut/interview/master/images/TOC预览.png)
💡 侧边目录支持方式:[📚 Docsify 文档](https://interview.huihut.com)[Github + TOC 导航](https://github.com/jawil/GayHub)[TOC预览.png](https://gitee.com/huihut/interview/raw/master/images/TOC预览.png)
📄 保存为 PDF 方式:使用 Chrome 浏览器打开 <a href="https://interview.huihut.com">📚 Docsify 文档</a> 页面,缩起左侧目录-右键 - 打印 - 选择目标打印机是另存为PDF - 保存([打印预览.png](https://raw.githubusercontent.com/huihut/interview/master/images/打印预览.png)
📄 保存为 PDF 方式:使用 Chrome 浏览器打开 <a href="https://interview.huihut.com">📚 Docsify 文档</a> 页面,缩起左侧目录-右键 - 打印 - 选择目标打印机是另存为PDF - 保存([打印预览.png](https://gitee.com/huihut/interview/raw/master/images/打印预览.png)
🙏 仓库内容如有错误或改进欢迎 issue 或 pr,建议或讨论可在 [#12](https://github.com/huihut/interview/issues/12) 提出。由于本人水平有限,仓库中的知识点有来自本人原创、读书笔记、书籍、博文等,非原创均已标明出处,如有遗漏,请 issue 提出。本仓库遵循 [CC BY-NC-SA 4.0(署名 - 非商业性使用 - 相同方式共享)](https://github.com/huihut/interview/blob/master/LICENSE) 协议,转载请注明出处,不得用于商业目的。
......@@ -763,7 +763,7 @@ int main()
面向对象程序设计(Object-oriented programming,OOP)是种具有对象概念的程序编程典范,同时也是一种程序开发的抽象方针。
![面向对象特征](https://raw.githubusercontent.com/huihut/interview/master/images/面向对象基本特征.png)
![面向对象特征](https://gitee.com/huihut/interview/raw/master/images/面向对象基本特征.png)
面向对象三大特征 —— 封装、继承、多态
......@@ -1362,7 +1362,7 @@ typedef struct {
} SqStack;
```
![](https://raw.githubusercontent.com/huihut/interview/master/images/SqStack.png)
![](https://gitee.com/huihut/interview/raw/master/images/SqStack.png)
#### 队列(Sequence Queue)
......@@ -1381,7 +1381,7 @@ typedef struct {
非循环队列图片
![](https://raw.githubusercontent.com/huihut/interview/master/images/SqQueue.png)
![](https://gitee.com/huihut/interview/raw/master/images/SqQueue.png)
`SqQueue.rear++`
......@@ -1389,7 +1389,7 @@ typedef struct {
循环队列图片
![](https://raw.githubusercontent.com/huihut/interview/master/images/SqLoopStack.png)
![](https://gitee.com/huihut/interview/raw/master/images/SqLoopStack.png)
`SqQueue.rear = (SqQueue.rear + 1) % SqQueue.maxSize`
......@@ -1408,7 +1408,7 @@ typedef struct {
} SqList;
```
![](https://raw.githubusercontent.com/huihut/interview/master/images/SqList.png)
![](https://gitee.com/huihut/interview/raw/master/images/SqList.png)
### 链式结构
......@@ -1430,7 +1430,7 @@ typedef struct LNode {
链队列图片
![](https://raw.githubusercontent.com/huihut/interview/master/images/LinkQueue.png)
![](https://gitee.com/huihut/interview/raw/master/images/LinkQueue.png)
#### 线性表的链式表示
......@@ -1438,19 +1438,19 @@ typedef struct LNode {
单链表图片
![](https://raw.githubusercontent.com/huihut/interview/master/images/LinkList.png)
![](https://gitee.com/huihut/interview/raw/master/images/LinkList.png)
##### 双向链表(Du-Link-List)
双向链表图片
![](https://raw.githubusercontent.com/huihut/interview/master/images/DuLinkList.png)
![](https://gitee.com/huihut/interview/raw/master/images/DuLinkList.png)
##### 循环链表(Cir-Link-List)
循环链表图片
![](https://raw.githubusercontent.com/huihut/interview/master/images/CirLinkList.png)
![](https://gitee.com/huihut/interview/raw/master/images/CirLinkList.png)
### 哈希表
......@@ -1495,7 +1495,7 @@ typedef struct {
}HashTable;
```
![](https://raw.githubusercontent.com/huihut/interview/master/images/HashTable.png)
![](https://gitee.com/huihut/interview/raw/master/images/HashTable.png)
### 递归
......@@ -1543,7 +1543,7 @@ typedef struct GLNode {
} *GList, GLNode;
```
![](https://raw.githubusercontent.com/huihut/interview/master/images/GeneralizedList1.png)
![](https://gitee.com/huihut/interview/raw/master/images/GeneralizedList1.png)
##### 扩展线性链表存储表示
......@@ -1566,7 +1566,7 @@ typedef struct GLNode1 {
} *GList1, GLNode1;
```
![](https://raw.githubusercontent.com/huihut/interview/master/images/GeneralizedList2.png)
![](https://gitee.com/huihut/interview/raw/master/images/GeneralizedList2.png)
### 二叉树
......@@ -1599,13 +1599,13 @@ typedef struct BiTNode
二叉树顺序存储图片
![](https://raw.githubusercontent.com/huihut/interview/master/images/SqBinaryTree.png)
![](https://gitee.com/huihut/interview/raw/master/images/SqBinaryTree.png)
##### 链式存储
二叉树链式存储图片
![](https://raw.githubusercontent.com/huihut/interview/master/images/LinkBinaryTree.png)
![](https://gitee.com/huihut/interview/raw/master/images/LinkBinaryTree.png)
#### 遍历方式
......@@ -1650,7 +1650,7 @@ typedef struct BiTNode
平衡二叉树图片
![](https://raw.githubusercontent.com/huihut/interview/master/images/Self-balancingBinarySearchTree.png)
![](https://gitee.com/huihut/interview/raw/master/images/Self-balancingBinarySearchTree.png)
##### 最小失衡树
......@@ -1994,8 +1994,8 @@ B树/B+树 |O(log<sub>2</sub>n) | |
大端小端图片
![大端序](https://raw.githubusercontent.com/huihut/interview/master/images/CPU-Big-Endian.svg.png)
![小端序](https://raw.githubusercontent.com/huihut/interview/master/images/CPU-Little-Endian.svg.png)
![大端序](https://gitee.com/huihut/interview/raw/master/images/CPU-Big-Endian.svg.png)
![小端序](https://gitee.com/huihut/interview/raw/master/images/CPU-Little-Endian.svg.png)
##### 判断大端小端
......@@ -2061,7 +2061,7 @@ int main()
计算机网络体系结构:
![计算机网络体系结构](https://raw.githubusercontent.com/huihut/interview/master/images/计算机网络体系结构.png)
![计算机网络体系结构](https://gitee.com/huihut/interview/raw/master/images/计算机网络体系结构.png)
### 各层作用及协议
......@@ -2140,13 +2140,13 @@ E 类 | 前五位固定为 11110,后面保留为今后所用
IP 数据报格式:
![IP 数据报格式](https://raw.githubusercontent.com/huihut/interview/master/images/IP数据报格式.png)
![IP 数据报格式](https://gitee.com/huihut/interview/raw/master/images/IP数据报格式.png)
#### ICMP 网际控制报文协议
ICMP 报文格式:
![ICMP 报文格式](https://raw.githubusercontent.com/huihut/interview/master/images/ICMP报文格式.png)
![ICMP 报文格式](https://gitee.com/huihut/interview/raw/master/images/ICMP报文格式.png)
应用:
* PING(Packet InterNet Groper,分组网间探测)测试两个主机之间的连通性
......@@ -2216,11 +2216,11 @@ TCP 如何保证可靠传输:
TCP 报文结构
![TCP 报文](https://raw.githubusercontent.com/huihut/interview/master/images/TCP报文.png)
![TCP 报文](https://gitee.com/huihut/interview/raw/master/images/TCP报文.png)
TCP 首部
![TCP 首部](https://raw.githubusercontent.com/huihut/interview/master/images/TCP首部.png)
![TCP 首部](https://gitee.com/huihut/interview/raw/master/images/TCP首部.png)
TCP:状态控制码(Code,Control Flag),占 6 比特,含义如下:
* URG:紧急比特(urgent),当 `URG=1` 时,表明紧急指针字段有效,代表该封包为紧急封包。它告诉系统此报文段中有紧急数据,应尽快传送(相当于高优先级的数据), 且上图中的 Urgent Pointer 字段也会被启用。
......@@ -2244,11 +2244,11 @@ TCP:状态控制码(Code,Control Flag),占 6 比特,含义如下:
UDP 报文结构
![UDP 报文](https://raw.githubusercontent.com/huihut/interview/master/images/UDP报文.png)
![UDP 报文](https://gitee.com/huihut/interview/raw/master/images/UDP报文.png)
UDP 首部
![UDP 首部](https://raw.githubusercontent.com/huihut/interview/master/images/UDP首部.png)
![UDP 首部](https://gitee.com/huihut/interview/raw/master/images/UDP首部.png)
> TCP/UDP 图片来源于:<https://github.com/JerryC8080/understand-tcp-udp>
......@@ -2285,7 +2285,7 @@ TCP 是一个基于字节流的传输服务(UDP 基于报文的),“流”
利用可变窗口进行流量控制
![](https://raw.githubusercontent.com/huihut/interview/master/images/利用可变窗口进行流量控制举例.png)
![](https://gitee.com/huihut/interview/raw/master/images/利用可变窗口进行流量控制举例.png)
#### TCP 拥塞控制
......@@ -2302,17 +2302,17 @@ TCP 是一个基于字节流的传输服务(UDP 基于报文的),“流”
TCP的拥塞控制图
![](https://raw.githubusercontent.com/huihut/interview/master/images/TCP拥塞窗口cwnd在拥塞控制时的变化情况.png)
![](https://raw.githubusercontent.com/huihut/interview/master/images/快重传示意图.png)
![](https://raw.githubusercontent.com/huihut/interview/master/images/TCP的拥塞控制流程图.png)
![](https://gitee.com/huihut/interview/raw/master/images/TCP拥塞窗口cwnd在拥塞控制时的变化情况.png)
![](https://gitee.com/huihut/interview/raw/master/images/快重传示意图.png)
![](https://gitee.com/huihut/interview/raw/master/images/TCP的拥塞控制流程图.png)
#### TCP 传输连接管理
> 因为 TCP 三次握手建立连接、四次挥手释放连接很重要,所以附上《计算机网络(第 7 版)-谢希仁》书中对此章的详细描述:<https://raw.githubusercontent.com/huihut/interview/master/images/TCP-transport-connection-management.png>
> 因为 TCP 三次握手建立连接、四次挥手释放连接很重要,所以附上《计算机网络(第 7 版)-谢希仁》书中对此章的详细描述:<https://gitee.com/huihut/interview/raw/master/images/TCP-transport-connection-management.png>
##### TCP 三次握手建立连接
![UDP 报文](https://raw.githubusercontent.com/huihut/interview/master/images/TCP三次握手建立连接.png)
![UDP 报文](https://gitee.com/huihut/interview/raw/master/images/TCP三次握手建立连接.png)
【TCP 建立连接全过程解释】
......@@ -2333,11 +2333,11 @@ TCP的拥塞控制图
【答案三】为了防止已失效的连接请求报文段突然又传送到了服务端,因而产生错误。
> [《计算机网络(第 7 版)-谢希仁》](https://raw.githubusercontent.com/huihut/interview/master/images/TCP-transport-connection-management.png)
> [《计算机网络(第 7 版)-谢希仁》](https://gitee.com/huihut/interview/raw/master/images/TCP-transport-connection-management.png)
##### TCP 四次挥手释放连接
![UDP 报文](https://raw.githubusercontent.com/huihut/interview/master/images/TCP四次挥手释放连接.png)
![UDP 报文](https://gitee.com/huihut/interview/raw/master/images/TCP四次挥手释放连接.png)
【TCP 释放连接全过程解释】
......@@ -2370,7 +2370,7 @@ TCP的拥塞控制图
TCP 有限状态机图片
![TCP 的有限状态机](https://raw.githubusercontent.com/huihut/interview/master/images/TCP的有限状态机.png)
![TCP 的有限状态机](https://gitee.com/huihut/interview/raw/master/images/TCP的有限状态机.png)
### 应用层
......@@ -2468,7 +2468,7 @@ TRACE | 回显服务器收到的请求,主要用于测试或诊断
> [Linux Socket 编程(不限 Linux)](https://www.cnblogs.com/skynet/archive/2010/12/12/1903949.html)
![Socket 客户端服务器通讯](https://raw.githubusercontent.com/huihut/interview/master/images/socket客户端服务器通讯.jpg)
![Socket 客户端服务器通讯](https://gitee.com/huihut/interview/raw/master/images/socket客户端服务器通讯.jpg)
#### Socket 中的 read()、write() 函数
......@@ -3077,11 +3077,11 @@ LoadLibrary 与 FreeLibrary 流程图
##### LoadLibrary
![WindowsLoadLibrary](https://raw.githubusercontent.com/huihut/interview/master/images/WindowsLoadLibrary.png)
![WindowsLoadLibrary](https://gitee.com/huihut/interview/raw/master/images/WindowsLoadLibrary.png)
##### FreeLibrary
![WindowsFreeLibrary](https://raw.githubusercontent.com/huihut/interview/master/images/WindowsFreeLibrary.png)
![WindowsFreeLibrary](https://gitee.com/huihut/interview/raw/master/images/WindowsFreeLibrary.png)
#### DLL 库的编写(导出一个 DLL 模块)
......
......@@ -9,9 +9,9 @@
📚 本仓库是面向 C/C++ 技术方向校招求职者、初学者的基础知识总结,包括语言、程序库、数据结构、算法、系统、网络、链接装载库等知识及面试经验、招聘、内推等信息。
💡 侧边目录支持方式:[📚 Docsify 文档](https://interview.huihut.com)[Github + TOC 导航](https://github.com/jawil/GayHub)[TOC预览.png](https://raw.githubusercontent.com/huihut/interview/master/images/TOC预览.png)
💡 侧边目录支持方式:[📚 Docsify 文档](https://interview.huihut.com)[Github + TOC 导航](https://github.com/jawil/GayHub)[TOC预览.png](https://gitee.com/huihut/interview/raw/master/images/TOC预览.png)
📄 保存为 PDF 方式:使用 Chrome 浏览器打开 <a href="https://interview.huihut.com">📚 Docsify 文档</a> 页面,缩起左侧目录-右键 - 打印 - 选择目标打印机是另存为PDF - 保存([打印预览.png](https://raw.githubusercontent.com/huihut/interview/master/images/打印预览.png)
📄 保存为 PDF 方式:使用 Chrome 浏览器打开 <a href="https://interview.huihut.com">📚 Docsify 文档</a> 页面,缩起左侧目录-右键 - 打印 - 选择目标打印机是另存为PDF - 保存([打印预览.png](https://gitee.com/huihut/interview/raw/master/images/打印预览.png)
🙏 仓库内容如有错误或改进欢迎 issue 或 pr,建议或讨论可在 [#12](https://github.com/huihut/interview/issues/12) 提出。由于本人水平有限,仓库中的知识点有来自本人原创、读书笔记、书籍、博文等,非原创均已标明出处,如有遗漏,请 issue 提出。本仓库遵循 [CC BY-NC-SA 4.0(署名 - 非商业性使用 - 相同方式共享)](https://github.com/huihut/interview/blob/master/LICENSE) 协议,转载请注明出处,不得用于商业目的。
......@@ -756,7 +756,7 @@ int main()
面向对象程序设计(Object-oriented programming,OOP)是种具有对象概念的程序编程典范,同时也是一种程序开发的抽象方针。
![面向对象特征](https://raw.githubusercontent.com/huihut/interview/master/images/面向对象基本特征.png)
![面向对象特征](https://gitee.com/huihut/interview/raw/master/images/面向对象基本特征.png)
面向对象三大特征 —— 封装、继承、多态
......@@ -1355,7 +1355,7 @@ typedef struct {
} SqStack;
```
![](https://raw.githubusercontent.com/huihut/interview/master/images/SqStack.png)
![](https://gitee.com/huihut/interview/raw/master/images/SqStack.png)
#### 队列(Sequence Queue)
......@@ -1374,7 +1374,7 @@ typedef struct {
非循环队列图片
![](https://raw.githubusercontent.com/huihut/interview/master/images/SqQueue.png)
![](https://gitee.com/huihut/interview/raw/master/images/SqQueue.png)
`SqQueue.rear++`
......@@ -1382,7 +1382,7 @@ typedef struct {
循环队列图片
![](https://raw.githubusercontent.com/huihut/interview/master/images/SqLoopStack.png)
![](https://gitee.com/huihut/interview/raw/master/images/SqLoopStack.png)
`SqQueue.rear = (SqQueue.rear + 1) % SqQueue.maxSize`
......@@ -1401,7 +1401,7 @@ typedef struct {
} SqList;
```
![](https://raw.githubusercontent.com/huihut/interview/master/images/SqList.png)
![](https://gitee.com/huihut/interview/raw/master/images/SqList.png)
### 链式结构
......@@ -1423,7 +1423,7 @@ typedef struct LNode {
链队列图片
![](https://raw.githubusercontent.com/huihut/interview/master/images/LinkQueue.png)
![](https://gitee.com/huihut/interview/raw/master/images/LinkQueue.png)
#### 线性表的链式表示
......@@ -1431,19 +1431,19 @@ typedef struct LNode {
单链表图片
![](https://raw.githubusercontent.com/huihut/interview/master/images/LinkList.png)
![](https://gitee.com/huihut/interview/raw/master/images/LinkList.png)
##### 双向链表(Du-Link-List)
双向链表图片
![](https://raw.githubusercontent.com/huihut/interview/master/images/DuLinkList.png)
![](https://gitee.com/huihut/interview/raw/master/images/DuLinkList.png)
##### 循环链表(Cir-Link-List)
循环链表图片
![](https://raw.githubusercontent.com/huihut/interview/master/images/CirLinkList.png)
![](https://gitee.com/huihut/interview/raw/master/images/CirLinkList.png)
### 哈希表
......@@ -1488,7 +1488,7 @@ typedef struct {
}HashTable;
```
![](https://raw.githubusercontent.com/huihut/interview/master/images/HashTable.png)
![](https://gitee.com/huihut/interview/raw/master/images/HashTable.png)
### 递归
......@@ -1536,7 +1536,7 @@ typedef struct GLNode {
} *GList, GLNode;
```
![](https://raw.githubusercontent.com/huihut/interview/master/images/GeneralizedList1.png)
![](https://gitee.com/huihut/interview/raw/master/images/GeneralizedList1.png)
##### 扩展线性链表存储表示
......@@ -1559,7 +1559,7 @@ typedef struct GLNode1 {
} *GList1, GLNode1;
```
![](https://raw.githubusercontent.com/huihut/interview/master/images/GeneralizedList2.png)
![](https://gitee.com/huihut/interview/raw/master/images/GeneralizedList2.png)
### 二叉树
......@@ -1592,13 +1592,13 @@ typedef struct BiTNode
二叉树顺序存储图片
![](https://raw.githubusercontent.com/huihut/interview/master/images/SqBinaryTree.png)
![](https://gitee.com/huihut/interview/raw/master/images/SqBinaryTree.png)
##### 链式存储
二叉树链式存储图片
![](https://raw.githubusercontent.com/huihut/interview/master/images/LinkBinaryTree.png)
![](https://gitee.com/huihut/interview/raw/master/images/LinkBinaryTree.png)
#### 遍历方式
......@@ -1643,7 +1643,7 @@ typedef struct BiTNode
平衡二叉树图片
![](https://raw.githubusercontent.com/huihut/interview/master/images/Self-balancingBinarySearchTree.png)
![](https://gitee.com/huihut/interview/raw/master/images/Self-balancingBinarySearchTree.png)
##### 最小失衡树
......@@ -1987,8 +1987,8 @@ B树/B+树 |O(log<sub>2</sub>n) | |
大端小端图片
![大端序](https://raw.githubusercontent.com/huihut/interview/master/images/CPU-Big-Endian.svg.png)
![小端序](https://raw.githubusercontent.com/huihut/interview/master/images/CPU-Little-Endian.svg.png)
![大端序](https://gitee.com/huihut/interview/raw/master/images/CPU-Big-Endian.svg.png)
![小端序](https://gitee.com/huihut/interview/raw/master/images/CPU-Little-Endian.svg.png)
##### 判断大端小端
......@@ -2054,7 +2054,7 @@ int main()
计算机网络体系结构:
![计算机网络体系结构](https://raw.githubusercontent.com/huihut/interview/master/images/计算机网络体系结构.png)
![计算机网络体系结构](https://gitee.com/huihut/interview/raw/master/images/计算机网络体系结构.png)
### 各层作用及协议
......@@ -2133,13 +2133,13 @@ E 类 | 前五位固定为 11110,后面保留为今后所用
IP 数据报格式:
![IP 数据报格式](https://raw.githubusercontent.com/huihut/interview/master/images/IP数据报格式.png)
![IP 数据报格式](https://gitee.com/huihut/interview/raw/master/images/IP数据报格式.png)
#### ICMP 网际控制报文协议
ICMP 报文格式:
![ICMP 报文格式](https://raw.githubusercontent.com/huihut/interview/master/images/ICMP报文格式.png)
![ICMP 报文格式](https://gitee.com/huihut/interview/raw/master/images/ICMP报文格式.png)
应用:
* PING(Packet InterNet Groper,分组网间探测)测试两个主机之间的连通性
......@@ -2209,11 +2209,11 @@ TCP 如何保证可靠传输:
TCP 报文结构
![TCP 报文](https://raw.githubusercontent.com/huihut/interview/master/images/TCP报文.png)
![TCP 报文](https://gitee.com/huihut/interview/raw/master/images/TCP报文.png)
TCP 首部
![TCP 首部](https://raw.githubusercontent.com/huihut/interview/master/images/TCP首部.png)
![TCP 首部](https://gitee.com/huihut/interview/raw/master/images/TCP首部.png)
TCP:状态控制码(Code,Control Flag),占 6 比特,含义如下:
* URG:紧急比特(urgent),当 `URG=1` 时,表明紧急指针字段有效,代表该封包为紧急封包。它告诉系统此报文段中有紧急数据,应尽快传送(相当于高优先级的数据), 且上图中的 Urgent Pointer 字段也会被启用。
......@@ -2237,11 +2237,11 @@ TCP:状态控制码(Code,Control Flag),占 6 比特,含义如下:
UDP 报文结构
![UDP 报文](https://raw.githubusercontent.com/huihut/interview/master/images/UDP报文.png)
![UDP 报文](https://gitee.com/huihut/interview/raw/master/images/UDP报文.png)
UDP 首部
![UDP 首部](https://raw.githubusercontent.com/huihut/interview/master/images/UDP首部.png)
![UDP 首部](https://gitee.com/huihut/interview/raw/master/images/UDP首部.png)
> TCP/UDP 图片来源于:<https://github.com/JerryC8080/understand-tcp-udp>
......@@ -2278,7 +2278,7 @@ TCP 是一个基于字节流的传输服务(UDP 基于报文的),“流”
利用可变窗口进行流量控制
![](https://raw.githubusercontent.com/huihut/interview/master/images/利用可变窗口进行流量控制举例.png)
![](https://gitee.com/huihut/interview/raw/master/images/利用可变窗口进行流量控制举例.png)
#### TCP 拥塞控制
......@@ -2295,17 +2295,17 @@ TCP 是一个基于字节流的传输服务(UDP 基于报文的),“流”
TCP的拥塞控制图
![](https://raw.githubusercontent.com/huihut/interview/master/images/TCP拥塞窗口cwnd在拥塞控制时的变化情况.png)
![](https://raw.githubusercontent.com/huihut/interview/master/images/快重传示意图.png)
![](https://raw.githubusercontent.com/huihut/interview/master/images/TCP的拥塞控制流程图.png)
![](https://gitee.com/huihut/interview/raw/master/images/TCP拥塞窗口cwnd在拥塞控制时的变化情况.png)
![](https://gitee.com/huihut/interview/raw/master/images/快重传示意图.png)
![](https://gitee.com/huihut/interview/raw/master/images/TCP的拥塞控制流程图.png)
#### TCP 传输连接管理
> 因为 TCP 三次握手建立连接、四次挥手释放连接很重要,所以附上《计算机网络(第 7 版)-谢希仁》书中对此章的详细描述:<https://raw.githubusercontent.com/huihut/interview/master/images/TCP-transport-connection-management.png>
> 因为 TCP 三次握手建立连接、四次挥手释放连接很重要,所以附上《计算机网络(第 7 版)-谢希仁》书中对此章的详细描述:<https://gitee.com/huihut/interview/raw/master/images/TCP-transport-connection-management.png>
##### TCP 三次握手建立连接
![UDP 报文](https://raw.githubusercontent.com/huihut/interview/master/images/TCP三次握手建立连接.png)
![UDP 报文](https://gitee.com/huihut/interview/raw/master/images/TCP三次握手建立连接.png)
【TCP 建立连接全过程解释】
......@@ -2326,11 +2326,11 @@ TCP的拥塞控制图
【答案三】为了防止已失效的连接请求报文段突然又传送到了服务端,因而产生错误。
> [《计算机网络(第 7 版)-谢希仁》](https://raw.githubusercontent.com/huihut/interview/master/images/TCP-transport-connection-management.png)
> [《计算机网络(第 7 版)-谢希仁》](https://gitee.com/huihut/interview/raw/master/images/TCP-transport-connection-management.png)
##### TCP 四次挥手释放连接
![UDP 报文](https://raw.githubusercontent.com/huihut/interview/master/images/TCP四次挥手释放连接.png)
![UDP 报文](https://gitee.com/huihut/interview/raw/master/images/TCP四次挥手释放连接.png)
【TCP 释放连接全过程解释】
......@@ -2363,7 +2363,7 @@ TCP的拥塞控制图
TCP 有限状态机图片
![TCP 的有限状态机](https://raw.githubusercontent.com/huihut/interview/master/images/TCP的有限状态机.png)
![TCP 的有限状态机](https://gitee.com/huihut/interview/raw/master/images/TCP的有限状态机.png)
### 应用层
......@@ -2461,7 +2461,7 @@ TRACE | 回显服务器收到的请求,主要用于测试或诊断
> [Linux Socket 编程(不限 Linux)](https://www.cnblogs.com/skynet/archive/2010/12/12/1903949.html)
![Socket 客户端服务器通讯](https://raw.githubusercontent.com/huihut/interview/master/images/socket客户端服务器通讯.jpg)
![Socket 客户端服务器通讯](https://gitee.com/huihut/interview/raw/master/images/socket客户端服务器通讯.jpg)
#### Socket 中的 read()、write() 函数
......@@ -3070,11 +3070,11 @@ LoadLibrary 与 FreeLibrary 流程图
##### LoadLibrary
![WindowsLoadLibrary](https://raw.githubusercontent.com/huihut/interview/master/images/WindowsLoadLibrary.png)
![WindowsLoadLibrary](https://gitee.com/huihut/interview/raw/master/images/WindowsLoadLibrary.png)
##### FreeLibrary
![WindowsFreeLibrary](https://raw.githubusercontent.com/huihut/interview/master/images/WindowsFreeLibrary.png)
![WindowsFreeLibrary](https://gitee.com/huihut/interview/raw/master/images/WindowsFreeLibrary.png)
#### DLL 库的编写(导出一个 DLL 模块)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册