首页 > 编程知识 正文

测试经理面试常见问题,计算机考试考什么

时间:2023-05-06 01:09:57 阅读:15905 作者:1111

一、计算机网络七层模型

1 ) APP应用层

表示层

志摩层

传输层

网络层

数据链路层

物理层

2 )各层概述

APP应用层:主要是终端的APP应用,如QQ、浏览器、FTP (文件下载)等。

表示层:将计算机可以识别的东西转换为人类可以识别的东西(图像、声音等)。 主要进行数据的解释、压缩和解压缩。

会话层:通过传输层建立数据传输路径。 在系统之间启动会话或接收会话请求。

传输层:定义传输数据的端口和协议,如TCP和UDP协议。 将到达下层的数据分段传输,到达目的地后进行重组。 (转发的是段)

网络层:选择合适的网间路由和交换节点,主要设备是路由器。 对从下层到达的数据进行IP地址的封装和解除封装。 (转发的是报纸)

数据链路层:对从物理层到达的数据进行MAC地址的封装和解除封装。 主要设备是交换机和网卡。 (传输的是帧)

物理层:定义物理设备的标准。 例如,网卡接口类型、传输介质的传输速度等。 传输的是比特流。

二、传输层的TCPUDP协议

1 ) TCP与UDP的区别

1.1TCP是面向连接的,UDP未连接

1.2 TCP可靠,但UDP不可靠

1.3 TCP是面向字节流的,UDP是面向消息的

1.4 TCP支持点对点通信,UDP为点对点、一对一、一对多、多对多通信

1.5 TCP的头部开销(20字节)大于UDP的头部开销(8字节)

1.6TCP有流量控制,UDP没有流量控制

TCP的三次握手

2.1客户端将SYN=1发送到服务器,生成随机序列号a,将数据包发送到服务器,等待服务器确认。 客户端处于SYN_Sent状态。

2.2服务器收到数据包之后,查看SYN=1,客户端与服务端请求链接,显示“建立连接字段”和“响应字段”

2.3客户端收到后,检查“响应字段”ACK是否为1,确认号码是否为a 1;如果正确,客户端也将“应答字段”设置为1,将确认号码设置为b 1发送到服务器。 服务器收到消息后,将“响应字段”ACK检查为1,将确认号检查为b 1,如果正确,则表示连接成功。 此时,客户端和服务器端将进入Establish状态,并完成三次握手。 开始[客户端和服务器之间]数据传输。 3 )为什么握手三次,不是两次

目的:防止失效的连接请求传输到服务器端并发生错误。

原因:如果服务端在没有验证客户端是否对自己做出正确响应的情况下建立了连接,如果客户的请求消息意外收到,服务器收到该请求时,如果认为客户端正在尝试建立连接,会立即建立establission

4 )挥动TCP次手

3.1 )客户端将“关闭连接字段”fin设置为1,发送到服务器端关闭客户端与服务器之间的数据传输,客户端自身进入FIN_Wait_1状态。

3.2 )服务器端接收到消息后,通过FIN字段得知呼叫方已断开与服务器端的连接,并将应答ACK发送到客户端。 同时,确认号码为接收号码1,服务器端进入Close_Wait状态。 在这里,客户端可以向服务器端发送数据,而服务器端可以向客户端发送数据并且客户端接收数据。

3.3 )服务器端将“关闭连接字段fin”设为1,发送到客户端。 这是为了切断从服务器侧向客户端的数据传输,服务端进入Last_ACK状态

3.4 )客户端收到后,客户端自身进入Time_Wait状态,向服务器端发送应答ACK,确认号为接收号1,服务器收到后进入Close状态,摆动4次手。

5 )为什么挥手4次

挥动前两次手切断一个方向的联系,挥动后两次手切断另一个方向的联系

6 ) Time_Wait的意思是为了和等待2MSL

主动关闭端在TIME_Wait后等待两倍的Msl时间进入关闭状态,主要是服务器端为客户端的一直; 如果客户端确认应答直接进入关闭状态,则服务器端将超时并请求重新发送连接释放请求,但如果客户端此时关闭,服务器端将收到正确的响应

7 ) TCP协议如何保证传输的可靠性

主要通过分组检查、响应机制、超时重发、分组失序排序、重复数据丢失、流控制等来实现。

分组检查是指检查数据在发送完应答后的过程中是否发生了变化,如果检查分组错误,接收端将丢弃传输,不发出响应(响应)

超时重发: TCP发布段时,启动定时器,如果一定时间内没有响应,则重发该段。

确认: TCp的一端发送报文段,另一端接收并发出响应。

排序:将TCp的报文段作为IP的数据报进行传输

ng>,IP的数据报达到可能是失序的,因此TCP 的报文段到达也可能是失序的,因此TCP会对失序的报文段进行一个重新的排序
丢弃重复的数据:当接收方收到重复的报文段的时候对其进行丢弃
流量机制:TCP连接的每一端各有一个固定大小的缓冲空间,接收方只允许发送方发送它的缓冲区所能接纳的数据。这是防止较快的主机使较慢的主机缓冲区溢出。TCP的流量控制是通过可变大小的滑动窗口协议来实现的。

8)流量控制和拥塞控制区别
8.1)流量控制就是端到端的控制,一端数据发送太快,另一端来不及接收
8.2)拥塞控制是全局性的,是一端到另一端的网络因为堵塞而导致传输速率过慢或者丢包现象。涉及到所有的主机、路由器及降低网络性能的所有因素。(网络中对某一资源的需求超过了它提供的可用部分,造成了网络性能过慢)

9)拥塞控制的解决办法
拥塞控制:就是防止过多的数据注入到网络中,这样使网络中的路由器或者链路不至于过载
控制有四种方式是:
9.1)慢开始、拥塞避免、快启动和快重传
慢开始:因为一开始不知道网络的拥塞程度,所以一开始不会发送大量的数据,而是从小到大的增加拥塞窗口的大小
拥塞避免:拥塞窗口的大小成线性增长,每经过一个往返RTT时间,拥塞窗口的大小加1
快重传:接收方收到一个失序的报文段后,立刻向发送方 发送重复确认,不用等待自己发送数据时捎带确认;发送方一连收到三个这样的确认重传之后,就会向接收方发送一个 尚未收到的报文段,不用等待重传计时器的时间的到期
快恢复算法:快重传配合使用的还有快恢复算法,当接收方一连收到三个 重复确认的时候,将门限值减半,但是接下来并不执行慢开始算法,因为如果网络拥塞的化就不会连续收到三个 重复确认,拥塞窗口的大小为门限值,然后执行拥塞避免算法。

10)从输入网址URL到获得页面的整个过程
10.1)浏览器查询DNS服务器,获取域名对应的IP地址;搜过过程是–先搜索浏览器本身的DNS缓存–》搜索操作系统的DNS缓存–》读取本地的host文件–》查询本地的DNS服务器;在查询本地的DNS服务器的时候,先看域名是否存在本地 配置 区域资源中,如果存在,返回完成域名解析;若不存在,看DNs服务器是否缓存了该网址的映射关系,,那么调用IP地址映射,完成于域名解析。如果不存在的化,要根据相应的设置完成递归查询或者迭代查询。
10.2)浏览器获得域名对应的IP地址后,浏览器向服务器发起建立连接请求,发起TCP的三次握手
10.3)TCP/IP连接建立起来后,浏览器向服务器发起HTTP请求
10.4)服务器收到请求后,根据路径参数映射到特定的处理机进行处理,将处理结果和相应的视图返回给浏览器
10.5)浏览器解析并且渲染视图,如果遇到js等静态资源的引用,则重复以上的步骤,继续向服务器请求资源
10.6)浏览器根据请求到的资源和数据进行渲染页面,最终向用户呈现一个完整的页面

注意:输入URL但是没有到指定的网址,是什么原因呢
1)网络断开
2)DNS解析出错**(无法解析)**
3)网页被劫持
4)后台页面加载不出来
5)供应商网络出口出现问题
6)服务器负载过大

注意:DNS(域名解析系统)
将域名转为IP地址的协议,也可以将IP地址转为域名

三 Http和Https
1)Http和Https
1.1)Http是超文本传输协议,是明文传输;Https是具有安全性的SSL的加密传输协议。Https是共享密钥加密和公开密钥加密的混合加密机制。
1.2)http和Https的连接方式不同,端口也不一样,http是80,https端口是443
1.3)https加载时间变长,增加功耗;SSL证书要钱,流量成本变高;

2)Http网站服务器和浏览器的通信方式
Http网站浏览器和服务器之间的通信方式是通过对称加密算法实现的。为了让不同的浏览器和服务器有不同的对称加密算法,浏览器和服务器首先要进行协商,他们协商的过程是通过非对称加密算法进行的。非对称加密的公钥发送给浏览器,服务器保留私钥。为了防止在传输过程中公钥被黑客篡改,采用数字证书的方式进行传输公钥, 浏览器对公钥进行解密,核对数字证书是否被修改,确保其安全性。

2.1)对称加密和非对称加密
对称加密是加密和解密是同一把公钥,存在的问题是如何安全的把密钥发送给对方。
非对称加密 是公钥和私钥。公钥可以随意发布,自己保留私钥。发送密文的一方用公钥进行加密,接收密文的一方用私钥进行解密。
常见的对称加密算法:DES(数据加密标准),AES(高级加密标准),3DES等等。
常见的非对称加密算法:RSA(公钥加密算法),ECC(椭圆曲线加解密)。

3)HTTP的状态码
1**:信息提示,继续,请请求者继续执行操作;
2**:成功,操作被成功接收并处理;
3**:重定位,需要进一步操作已完成请求;
4**:客服端发生错误,请求有语法错误或者无法请求完成
5**:服务器发生错误,服务器在处理请求的过程中发生了错误。
具体指令:
100 :信息提示,请请求者继续执行操作;
200:请求成功;
301:(网页)资源被转移到其他的URL之中 302:暂时重定向 304:已缓存
400:Bad Request,请求有语法错误 403:已禁用 404:(网页)资源不存在
500:内部服务器发生错误 503:服务器不可用,稍等

4)HTTP的请求方法有哪些
总共有8种,分别是:
4.1)OPTIONS
返回服务器针对特定资源所支持的HTTP的请求方法
4.2)HEAD
向服务器索取和get请求相一致的响应,只不过响应体不会被返回,返回的是响应小消息头的元信息
4.3)get
请求服务器的资源
4.4)POST
更新服务器上资源
4.5)put
向指定资源上传最新的内容
4.6)delete
请求服务器删除request-url所标识的资源
4.7)trace
回显服务器的收到的请求,主要用于测试和诊断
4.8)connect
预留给能够将连接改为管道方式的代理服务器

注意:http的请求方法是区分大小写的,如果某个请求的资源不支持所在对应的请求方法,服务器返回405 (Method not allowed);如果服务器不认识或者不支持该请求方法,返回 503 (Not Implement);

5)请求方法get和post的区别
5.1)功能:get是请求服务器的数据,post是更新服务器的数据;
5.2)get请求的数据在URL之后,Post请求的数据在HTTP请求包的包体之中
5.3)安全性:(post的安全性比get高)get 请求的用户密码直接暴漏在url
5.4)输出数据的大小:get,受特定浏览器和服务器限制,一般为2k,post不受限制
5.5)数据包的个数
get产生一个TCP数据包,post产生两个数据包
get请求方法:浏览器发送header和data,服务器响应200
post:浏览器先发送header,服务器响应100;浏览器再发送data,服务器响应200

6)HTTP的请求报文
由请求行、请求头、空行和请求数据组成

请求行由请求方法、URL和HTT协议版本
请求头是通知服务器关于客户端的信息:以键值对的方式存储
User-Agent: 产生请求的浏览器的类型
Accpet:浏览器(客户端)可识别的内容类型列表
Host:请求的主机名

7)HTTP的响应报文
http响应报文由响应行,响应头,响应体三部分组成。
响应行主要包括
响应协议,这个与请求协议对应,比如http,
状态码200
状态码的描述OK
响应头就是一些常见的响应名对应的响应值
响应参数就是我们真正需要的从数据库中取出的数据

三、Cookie和Session
1)含义
1.1)Cookie和Session是客户端和服务器之间保持状态的解决方案,Cookie是客户端保持状态的解决方案,Session是服务器端保持状态的解决方案。
1.2)Cookie机制。cookie是一小段的文本信息。客户端请求服务器,如果服务器需要记录****该用户的状态,将通过response向客户端颁发一小段cookie.客户端浏览器将这个cookie保存起来,如果客户端再请求该网址时,连通这个cookie一起发送给服务器,服务器收到后,根据cooike来辨认用户的状态,服务器还可以根据需要cookie的内容。
1.3)Session机制。客户端请求服务器,服务器保存用户的状态,通过session来保存。如果服务器已经为这个客户端保存过session,就通过session id 将这个 检索出来;如果客户端请求不包括session id,就为这个客户端重新创建一个session,并在本次响应过程中,将session id发送给客户端,客户端收到后,可以通过cookie机制保存起来。这样在交互的过程中,客户端就可以自动地按照规则将session id发送给服务器,如果浏览器禁用cookie,可以通过URL重写机制将session id发送给服务器。

2)区别:
1.1)依赖性: session的实现依赖于cookie机制,通过cookie将session id 发给服务器
1.2)大小限制。cookie的大小有限制,并且浏览器对每个的站点的cookie的个数也有限制;session大小不受限制,只有服务器的内存有关
1.3)安全性 cookie在客户端,可以通过拦截或者本地文件找到cookie进行攻击,Session在服务器端相对比较安全
1.4)服务器资源的消耗。session在服务器上过一段时间消失,session过多会增加服务器的压力。

3)Socket通信,如何区别不同应用进程之间的网络通信
主要有三个参数:通信的目的IP地址、使用的传输层协议(TCP/UDP)和端口号,socket将这三个参数绑定起来,通过应用层和传输层之间的套接字接口(socket),来区分。

新增
1)HTTP的短连接和长连接
在HTTP/1.0中,默认使用的是短连接。也就是说,浏览器和服务器每进行一次HTTP操作,就建立一次连接,但任务结束就中断连接。
HTTP1.1规定了默认保持长连接(也为持久连接),数据传输完成了,但是TCP连接不断开,等待在同域名下继续用这个通道传输数据;相反的就是短连接。
HTTP协议的长连接和短连接,实质上是TCP协议的长连接和短连接。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。