文章目录
计算机网络
TCP/IP协议族
- POP3:110端口,邮件收取
- SMTP:25端口,邮件发送
- FTP:20数据端口/21控制端口,文件传输协议
- HTTP:80端口,超文本传输协议,网页传输
- DHCP:67端口,IP地址自动分配
- SNMP:161端口,简单网络管理协议==(UDP)==
- DNS:53端口,域名解析协议,记录域名与IP的映射关系
- TCP:可靠的传输层协议
- UDP:不可靠的传输层协议
- ICMP:因特网控制协议,PING命令来自该协议
- IGMP:组播协议
- ARP:地址解析协议,IP地址转换为MAC地址
- RARP:反向地址解析协议,MAC地址转换为IP地址
常见网络诊断协议
- Ping:用于检查网络是否联通
- Tracert:用于确定IP数据包访问目标所采取的路径,若网络不通,能具体定位到具体到哪个节点不通。
- ipconfig:显示TCP/IP网络配置值
- nslookup:域名查询或者诊断DNS服务器,查询DNS记录
- netstat:用于显示网络连接,路由表和网络接口信息
HTTP请求URL输入到显示的过程
- 浏览器输入URL,按回车键
- 浏览器向DNS服务器发出域名解析请求并获得结果
- 根据目标IP地址和端口号与服务器建立TCP连接
- 浏览器向服务器发送数字请求
- 服务器将网页数据发送给浏览器
- 通信完成断开TCP连接
- 浏览器解析收到的数据并显示
域名请求的顺序
- 本地缓存
- 本地host文件
- 本地数据库
- 转发域名服务器
URL
协议://主机名.域名.后缀/IP地址(:端口号)/目录/文件名
无效的IP地址:169.254.X.X(windows)和0.0.0.0(linux)
网络分层
操作系统
内存布局
数据库
规范化程度
- 1NF:无重复列/不可拆分
- 2NF:左边存在冗余属性
- 3NF:不存在非主属性传递依赖于码时
- BCNF:x->A满足X是候选码
模式
- 视图:外模式
- 基本表:模式
- 存储文件:内模式
ACID
-
原子性:事务时原子的,要么都做,要么都不做
-
一致性:事务执行的结果必须保持数据库从一个一致性状态变到另一个一致性状体啊
-
隔离性:事务相互隔离,当多个事务并发的时候,任一事务的更新操作直到其成功提交的整个过程,对其他事物都是不可见的。
-
持久性:一旦事务成功提交,及时数据库崩溃,其对数据库的操作也永久有效。
分布式数据透明性
- 分片透明:强调用户对如何进行分片不必关心
- 复制透明:强调用户对复制情况不必关心
- 位置透明:强调用户对操作数据闻之放在何处不必关心
- 逻辑透明:是最低层次透明性,强调用户对底层数据模型,操作语言不必关心。
操作系统
线程
- 线程共享的内通包括:进程代码段,进程的公有数据(实现通讯),进程打开的文件描述符,信号的处理器,进程的当前目录,进程用户ID和进程组ID
- 线程独有的内容,线程ID,寄存器组的值,线程的堆栈,错误返回码,线程的信号屏蔽码
机组
寻址方式
- 立即寻址(最快)操作数本身
- 寄存器寻址(次之)操作数地址的地址
- 直接寻址(最慢)操作数的地址
数据传输方式
- 程序控制方式:分为无条件传送和程序查询方式两种。方法简单,硬件开销小,但是IO能力不高,严重影响CPU的利用率(不可以与CPU并行)
- 程序中断方式:与程序控制相比,中断方式因为CPU无需等待而提高了传输请求的强硬速度(可以与CPU并行)
- DMA方式:主存和外设之间实现高速,批量数据交换而设置的,DMA方式比程序控制方式与中断方式都高效(可与cpu并行)
算法基础
排序算法
排序方法 | 平均情况 | 特殊情况 | 辅助存储 | 稳定性 |
---|---|---|---|---|
直接插入 | O ( n 2 ) O(n^2) O(n2) | 基本有序最优 O ( n ) O(n) O(n) | O ( 1 ) O(1) O(1) | 稳定 |
希尔排序 | O ( n 1.3 ) O(n^{1.3}) O(n1.3) | O ( 1 ) O(1) O(1) | 不稳定 | |
直接选择 | O ( n 2 ) O(n^2) O(n2) | O ( 1 ) O(1) O(1) | 不稳定 | |
堆排序 | O ( n l o g 2 n ) O(nlog_2{n}) O(nlog2n) | O ( 1 ) O(1) O(1) | 不稳定 | |
冒泡排序 | O ( n 2 ) O(n^2) O(n2) | 基本有序最优 O ( n ) O(n) O(n) | O ( 1 ) O(1) O(1) | 稳定 |
快速排序 | O ( n l o g 2 n ) O(nlog_2{n}) O(nlog2n) | 基本有序最差 O ( n 2 ) O(n^2) O(n2) | O ( 1 ) O(1) O(1) | 不稳定 |
归并排序 | O ( n l o g 2 n ) O(nlog_2{n}) O(nlog2n) | O ( n ) O(n) O(n) | 稳定 | |
基数排序 | O ( d ( n + r d ) ) O(d(n+rd)) O(d(n+rd)) | O ( r d ) O(rd) O(rd) | 稳定 |
- 排序数目小,用直接插入和简单排序,记录本身信息量大,使用简单选择排序
- 基本有序,采用直接插入排序或者冒泡排序
- n很大且关键词位数较少时,采用基数排序
- n很大采用快速排序,堆排序,或者归并排序