软件(自动化)测试面试基础知识点汇总

软件(自动化)测试面试基础知识点汇总

token过程

请求过程:
1、客户端向服务器请求,发送用户名和密码
2、服务器根据用户信息通过加密生成token,用户信息包括账号,token过期时间等,具体由服务器自定义。
3、服务器返回token给客户端
4、客户端用cookie存储token,以后的请求都带上这个token
5、服务器把token解密,确认用户信息是否正确,如经过正确就说明验证通过。
6、服务器把验证结果返回客户端

软件(自动化)测试面试基础知识点汇总
客户端在使用HTTPS方式与Web服务器通信时有以下几个步骤,如图所示。
  (1)客户使用https的URL访问Web服务器,要求与Web服务器建立SSL连接。
  (2)Web服务器收到客户端请求后,会将网站的证书信息(证书中包含公钥)传送一份给客户端。
  (3)客户端的浏览器与Web服务器开始协商SSL连接的安全等级,也就是信息加密的等级。
  (4)客户端的浏览器根据双方同意的安全等级,建立会话密钥,然后利用网站的公钥将会话密钥加密,并传送给网站。
  (5)Web服务器利用自己的私钥解密出会话密钥。
  (6)Web服务器利用会话密钥加密与客户端之间的通信。
   软件(自动化)测试面试基础知识点汇总

2.分层的目的:
(1)将网络的通信过程划分为小一些、简单一些的部件,有助于各个部件的开发、设计和故障排除;
(2)通过网络组件的标准化,允许多个供应商开发,鼓励产业标准化;
(3)允许各种类型的网络硬件和软件相互通信;
(4)防止某一层的改动影响到其它层,有利于开发(主要)。

3.各层的主要协议:
(1)应用层: HTTP(超文本传输协议 80), HTTPS(更安全的超文本传输协议 443), FTP(文件传输协议), SMTP(简单邮件传输协议), DNS(域名服务),ping命令(调试网络环境),OSPF(开放最短路径优先);
应用层处理应用程序的逻辑,且应用层在用户空间。
(2)传输层: UDP(用户数据报协议), TCP(传输控制协议);
传输层采用端到端的通信方式,其中:
UDP:不可靠的,无连接的,基于数据报的协议;
TCP:可靠的,面向连接的,基于字节流的协议;
(3)网络层: IP(因特网协议), ICMP(控制报文协议), ARP(地址解析协议), RARP(反向地址转换协议);
网络层主要实现数据包的选路和转发。
(4)数据链路层: 传输单位是帧,分为逻辑链路控制子层(LLC),媒体访问控制子层(MAC);
数据链路层是网卡接口的驱动程序,处理数据在物理媒介的传输
(5)物理层: 传输单位是比特流
传输的主要介质:集线器、中继器、调制解调器、网线、双绞线、同轴电缆。

1、一次完整的HTTP请求与响应涉及了哪些知识包括TCP三次握手和TCP的四次挥手)

TCP 的三次握手 建立连接

所有的问题,首先都要建立连接,所以首先是连接维护的问题
TCP 的建立连接称为三次握手,可以简单理解为下面这种情况

A:您好,我是 A
B:您好 A,我是 B
A:您好 B

至于为什么是三次握手我这里就不细讲了,可以看其他人的博客,总结的话就是通信双方全都有来有回
对于 A 来说它发出请求,并收到了 B 的响应,对于 B 来说它响应了 A 的请求,并且也接收到了响应。

TCP 的三次握手除了建立连接外,主要还是为了沟通 TCP 包的序号问题。

A 告诉 B,我发起的包的序号是从哪个号开始的,B 同样也告诉 A,B 发起的 包的序号是从哪个号开始的。

双方建立连接之后需要共同维护一个状态机,在建立连接的过程中,双方的状态变化时序图如下所示
状态变化时序图

软件(自动化)测试面试基础知识点汇总
断开的时候,当 A 说不玩了,就进入 FIN_WAIT_1 的状态,B 收到 A 不玩了的消息后,进入 CLOSE_WAIT 的状态。

A 收到 B 说知道了,就进入 FIN_WAIT_2 的状态,如果 B 直接跑路,则 A 永远处与这个状态。TCP 协议里面并没有对这个状态的处理,但 Linux 有,可以调整 tcp_fin_timeout 这个参数,设置一个超时时间。

如果 B 没有跑路,A 接收到 B 的不玩了请求之后,从 FIN_WAIT_2 状态结束,按说 A 可以跑路了,但是如果 B 没有接收到 A 跑路的 ACK 呢,就再也接收不到了,所以这时候 A 需要等待一段时间,因为如果 B 没接收到 A 的 ACK 的话会重新发送给 A,所以 A 的等待时间需要足够长。

2、知乎:TCP/IP 协议详解

Linux查看某个特定的文件名路径的命令

Linux查看日志ERROR出现次数的命令

查找Error日志并统计次数

查找error日志并存储到指定文件

Linux 替换文件内容
sed命令下批量替换文件内容
格式: sed -i “s/查找字段/替换字段/g” grep 查找字段 -rl 路径 文件名
-i 表示inplace edit,就地修改文件
-r 表示搜索子目录
-l 表示输出匹配的文件名
s表示替换,d表示删除
示例:sed -i “s/shan/hua/g” lishan.txt
把当前目录下lishan.txt里的shan都替换为hua

Linux 面试题:
Linux命令,在当前目录的所有log文件中找到包含error单词的行,并把error替换成warn后,存入test文件。(并未实际验证准确性)

Linux查看文件前几行和后几行的命令

可以使用head(查看前几行)、tail(查看末尾几行)两个命令。例如:
查看/etc/profile的前10行内容,应该是:

查看/etc/profile的最后5行内容,应该是:

如果想同时查看可以将前10行和后5行的显示信息通过输出重定向的方法保存到一个文档,这样查看文档即可一目了然。
例如:
将内容输出到/home/test文件中

查看的话只需要打开test文件即可。

【一】从第3000行开始,显示1000行。即显示3000~3999行

【二】显示1000行到3000行

*注意两种方法的顺序
分解:

【三】用sed命令
这样你就可以只查看文件的第5行到第10行。

Linux 查看错误日志的Shell命令:

Linux系统监控命令整理汇总-掌握CPU,内存,磁盘IO等找出性能瓶颈

答案:
例子请点击这里

Linux 压缩与解压命令

压缩

解压

总结

1、*.tar 用 tar –xvf 解压 2、*.gz 用 gzip -d或者gunzip 解压 3、*.tar.gz和*.tgz 用 tar –xzf 解压 4、*.bz2 用 bzip2 -d或者用bunzip2 解压 5、*.tar.bz2用tar –xjf 解压 6、*.Z 用 uncompress 解压 7、*.tar.

来源:软测小生

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年2月1日
下一篇 2022年2月1日

相关推荐