00-计算机基础
2021-01-25 15:12:18 0 举报
AI智能生成
最强面试之计算机基础
作者其他创作
大纲/内容
网络
架构
**应用层(会话层 表示层 应用层)** DHCP HTTP HTTPS DNS RPC RTMP P2P GTP
Email(SMTP)、WWW(HTTP)、FTP
**传输层** UDP TCP
**网络层** IP ICMP OSPF BGP IPSec GRE
IP 协议
**链路层** ARP VLAN STP
MAC地址
地址解析协议 ARP
**物理层** 机器到机器 网络跳线
四层网络 七层网络的区别
常用协议
TCP
三次握手
SYN
SYN,ACK
ACK
状态
SYN-SENT(同步已发送状态)状态
SYN-RCVD(同步收到)状态
ESTABLISHED(已建立连接)状态
为什么TCP客户端最后还要发送一次确认呢?
什么会采用三次握手,若采用二次握手可以吗?
四次挥手
FIN
ACK
FIN
ACK
状态
FIN-WAIT-1(终止等待1)状态
CLOSE-WAIT(关闭等待)状态
FIN-WAIT-2(终止等待2)状态
LAST-ACK(最后确认)状态
等待2MSL TIME-WAIT
CLOSED
为什么客户端最后还要等待2MSL?
为什么四次挥手,主动方要等待2MSL后才关闭连接.
为什么建立连接是三次握手,关闭连接确是四次挥手呢?
如果已经建立了连接,但是客户端突然出现故障了怎么办?
IP协议
HTTP和HTTPS
http访问流程
浏览器缓存是什么
怎么设置让浏览器缓存
https
ssl 非对称加密 公钥 私钥
ssl四次握手
url构成
请求报文
请求行
用于描述客户端的请求方式,请求的资源名称以及使用的HTTP协议的版本号(例:GET/books/java.html HTTP/1.1)
请求头
aceept:
aceept-encodig:
aceept-language:
uset-agent:
cookie
请求体
data
响应
状态响应码
1**:请求收到,继续处理
100——客户必须继续发出请求
2**:操作成功收到,分析、接受
200——交易成功
3**:完成此请求必须进一步处理
300——请求的资源可在多处得到
4**:请求包含一个错误语法或不能完成
404——没有发现文件、查询或URl
5**:服务器执行一个完全有效请求失败
500 - 内部服务器错误
502 - 网关错误
响应头
content-type
date
set-cookie
'Access-Control-Allow-Origin:http://172.20.0.206'//一般用法(*,指定域,动态设置),3是因为*不允许携带认证头和cookies
//指定允许其他域名访问
'Access-Control-Allow-Credentials:true'
//是否允许后续请求携带认证信息(cookies),该值只能是true,否则不返回
'Access-Control-Max-Age: 1800'
//预检结果缓存时间,也就是上面说到的缓存啦
'Access-Control-Allow-Methods:GET,POST,PUT,POST'
//允许的请求类型
'Access-Control-Allow-Headers:x-requested-with,content-type'
//允许的请求头字段
响应体
data
MQTT
协议
基于二进制消息的发布/订阅编程模式的消息协议
基于TCP
小,省流量,省电
服务质量(Quality of Service)
MQTT支持三种QoS,分别是0、1、2
QoS 0: 尽力而为。消息发送者会想尽办法发送消息,但是遇到意外并不会重试。
QoS 1: 至少一次。消息接收者如果没有知会或者知会本身丢失,消息发送者会再次发送以保证消息接收者至少会收到一次,当然可能造成重复消息。
QoS 2: 恰好一次。保证这种语义肯定会减少并发或者增加延时,不过丢失或者重复消息是不可接受的时候,级别2是最合适的。
一次完整的HTTP请求过程
1.对www.baidu.com这个网址进行DNS域名解析,得到对应的IP地址
ARP CDN
2.根据这个IP,找到对应的服务器,发起TCP的三次握手
3.建立TCP连接后发起HTTP请求
4.服务器响应HTTP请求,浏览器得到html代码
5.浏览器解析html代码,并请求html代码中的资源(如js、css图片等)(先得到html代码,才能去找这些资源)
6.浏览器对页面进行渲染呈现给用户
编译原理
操作系统
linux
常用命令
并发VS并行
并发
指在同一时刻只能有一条指令执行,但多个进程指令被快速的轮换执行,使得在宏观上具有多个进程同时执行的效果,但在微观上并不是同时执行的,只是把时间分成若干端,使多个进程快速交替的执行
并行
指在同一时刻,有多条指令在多个处理器上同时执行
进程的通信方式
6种:管道、消息队列、共享内存、信号量、socket,信号
收藏
0 条评论
下一页