软件测试面试题整理(一)

个人软件测试面试题整理

  1. 请说明http和websocket的区别:

    http链接分为短链接,长链接。【短链接是每次请求都要三次握手才能发送自己的信息。即每一个request对应一个response。长链接是在一定的期限内保持链接;客户端与服务器通信,必须要有客户端发起然后服务器返回结果。】客户端是主动的,服务器是被动的

    WebSocket可以全双工通信:客服端和浏览器可以同时发送信息。

    建立了WenSocket之后服务器不必在浏览器发送request请求之后才能发送信息到浏览器。这时的服务器已有主动权想什么时候发就可以发送信息到服务器,而且信息当中不必在带有head的部分信息了,这种方式,不仅能降低服务器的压力。而且信息当中也减少了部分多余的信息。

    websocket的持久连接只需建立一次Request/Response消息对,之后都是TCP连接,避免了需要多次建立Request/Response消息对而产生的冗余头部信息。

  2. TCP与UDP的区别

    1.TCP是面向连接的,发送数据前必须先建立连接(TCP的三次握手);UDP是无连接的,即发送数据前不需要建立连接。
    2.TCP连接只能是点对点的(一对一);UDP支持一对一、一对多、多对一和多对多的交互通信。
    3.TCP提供可靠交付的服务,通过TCP连接传送的数据无差错、不丢失、不重复、按序到达;UDP使用尽最大努力交付,即不保证可靠交付(没有确认机制,重传机制),因此主机不需要维持复杂的连接状态表。
    4.TCP面向字节流;UDP面向报文。
    5.TCP有拥塞控制;UDP没有拥塞控制。
    
  3. 什么是FTP的主动模式和被动模式?连接过程是怎样的?

    (FTP是一种应用层协议,使用该协议的服务器叫做FTP服务端。它使用两个端口:数据端口:20;命令端口:21)

    ​ 主动模式的FTP是指服务器主动连接客户端的数据端口。

    工作过程:

    ​ FTP客户端连接到FTP服务器的21端口,发送用户名和密码登录;

    ​ 登录成功后要list列表或者读取数据时,客户端随机开放一个端口(1024以上),发送 PORT命令到FTP服务器,告诉服务器客户端采用主动模式并开放端口;

    ​ FTP服务器收到PORT主动模式命令和端口号后,通过服务器的20端口和客户端开放的端口连接,发送数据。

在这里插入图片描述

​ 被动模式的FTP是指服务器被动地等待客户端连接自己的数据端口。

工作过程:

​ FTP客户端连接到FTP服务器的21端口,发送用户名和密码登录;

​ 登录成功后要list列表或者读取数据时,发送PASV命令到FTP服务器;

​ 服务器在本地随机开放一个端口(1024以上),然后把开放的端口告诉客户端;

​ 客户端再连接到服务器开放的端口进行数据传输

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kCjNS9n1-1628062849100)(C:\Users\16940\AppData\Roaming\Typora\typora-user-images\image-20210726111002327.png)]

  1. 时间片轮转算法的原理

    根据先来先服务的原则,将需要执行的所有进程按照到达时间的大小排成一个升序的序列,每次都给一个进程同样大小的时间片,在这个时间片内如果进程执行结束了,那么把进程从进程队列中删去,如果进程没有结束,那么把该进程停止然后改为等待状态,放到进程队列的尾部,直到所有的进程都已执行完毕。

  2. 进程有几种状态

    就绪状态:当进程已分配到除CPU以外的所有必要资源后,只要再获得CPU,便可立即执行,这种状态称为就绪状态;

    执行状态:进程已获得CPU,其程序正在执行;

    阻塞状态:正在执行的进程由于发生某事件而暂时无法继续执行时,便放弃CPU而处于暂停状态,亦即进程的执行受到阻塞,把这种暂停状态称为阻塞状态,有时也称为等待状态或封锁状态。比如进程当中调用wait()函数,会使得进程进入到阻塞状态。

    挂起状态:在不少系统中进程只有上述三种状态,但在另一些系统中,又增加了一些新状态,最重要的是挂起状态。引入挂起状态的原因有:

    (1) 终端用户的请求。当终端用户在自己的程序运行期间发现有可疑问题时,希望暂时使自己的程序静止下来。

    (2) 父进程请求。有时父进程希望挂起自己的某个子进程,以便考查和修改该子进程,或者协调各子进程间的活动。

    (3) 负荷调节的需要。当实时系统中的工作负荷较重,已可能影响到对实时任务的控制时,可由系统把一些不重要的进程挂起,以保证系统能正常运行。

    (4) 操作系统的需要。操作系统有时希望挂起某些进程,以便检查运行中的资源使用情况或进行记账。

    创建状态:为一个新进程创建PCB(进程控制块,它是系统为了管理进程设置的一个专门的数据结构,主要表示进程的状态),把该进程转入到就绪状态并插入到就绪队列之中。

    终止状态:等待操作系统进行善后处理,然后将其PCB清零,并将PCB空间返还系统。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FjdfNCYB-1628062849104)(C:\Users\16940\AppData\Roaming\Typora\typora-user-images\image-20210725160738900.png)]

  3. tcp三次握手

    TCP三次握手的过程?为什么要三次握手?
    TCP运输连接的建立和释放是每一次面向连接的通信中必不可少的过程。TCP运输连接就有三个阶段:连接建立、数据传送和连接释放。

连接建立的过程需要解决以下三个问题:
①要使每一方能够确知对方的存在。
②要允许双方协商一些参数(如最大窗口值、服务质量等)。
③能够对运输实体资源(如缓存大小、连接表中的项目等)进行分配。

TCP连接的建立采用客户服务器方式。主动发起连接的建立的引用进程叫做客户,而被动等待连接建立的应用进程叫做服务器。

TCP的连接建立

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4ceZAD5Y-1628062849122)(C:\Users\16940\AppData\Roaming\Typora\typora-user-images\image-20210804143854490.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dTo2eNbT-1628062849127)(C:\Users\16940\AppData\Roaming\Typora\typora-user-images\image-20210804143955594.png)]

上面给出的连接建立的过程叫做三次握手。

为什么需要三次握手?
①从信息对等角度看,两端分别要确认自己与对方的发送、接受能力均正常。(第二次握手后,B还不能确定自己的发送和A的接受能力)
②A的超时连接请求可能会在双方释放连接后到达B,B会误以为是A发送了新的连接请求,从而创建连接,造成服务器资源被浪费。

  1. 并发性和并行性的区别

    并发性是指两个或多个事件在同一时间间隔发生。在多道程序环境下,并发性是指在一段时间内宏观上有多个程序在同时运行,但在单处理机系统中,每一时刻却仅能有一道程序执行,故微观上这些程序只能是分时地交替执行。

    并行性是指两个或多个事件在同一时刻发生。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值