软件测试经典面试题(小题汇总)

整理收集一些自己遇到的面试题及部分大家的题,自己来作答,回答不妥或者不全的还请大家指正

(一)简单描述下TCP协议

TCP:传输控制协议,是传输层通信协议。它有面向连接、可靠、字节流传输等特点
TCP建立连接时,需要三次握手协议
TCP三次握手的过程如下:

客户端发送SYN 文给服务端,进入SYN_SEND(SEQ=X)状态
服务端收到SYN 文,回应一个SYN(SEQ=Y) ACK(ACK=X+1) 文,进入SYN_RECV状态
客户端收到服务端的SYN 文,回应一个ACK(ACK=Y+1) 文,开始建立连接

TCP/IP作用是什么/strong>

TCP/IP协议是一套 络通信标准,让全世界的各种不同的设备之间可以进行通信

TCP与UDP的区别/strong>

TCP传输控制协议 。UDP用户数据 协议
TCP对资源要求比较多,UDP对资源要求比较少
TCP可以保证数据的正确性,UDP有可能会丢包
TCP可以保证数据的顺序,UDP不会保证

(二) 络7层模型是那7层举一些具体的应用实例

从下到上,物理层、数据链路层、 络层、传输层、会话层、表示层、应用层
物理层:同轴电缆、接收器、发送器等
数据链路层: 卡、交换机、 桥
络层:路由器、 关
传输层:TCP协议、UDP协议
会话层:SQL、ASP、 PHP等
表示层:ASCII、JPEG、PNG、MP3等
应用层:telnet、ssh、http、smtp等

怎么测试 络是否连通

使用ping命令

什么方式可以是外 连接到家里主机

telnet

如何让外 访问家里的终端的原理是什么/strong>

  1. 电脑上开启远程桌面
  2. 使用teamview
    他们的原理是:
  3. 你和对方机器建立一个Socket连接
  4. 在本地虚拟一个对方的系统
  5. 对方系统会在这个Socket连接上实时发送它系统状态的数据
  6. 收到的数据,是本虚拟系统通过这个数据还原对方系统操作
  7. 本地操作这个虚拟操作系统,会发送数据命令到对方机器
  8. 对方继器接收指令,通过Hook(底层钩子)传给操作系统
  9. 然后循环

访问一个 址会经历哪些流程/strong>

以下几个简单的流程

  1. 首先需要通过域名找到IP,如果本地缓存没有需要请求DNS服务器
  2. 得到IP后开始与目的主机进行三次握手来建立TCP连接
  3. 连接建立后进行HTTP访问,传输病获取 页内容
  4. 传输完成后与目的主机四次挥手断开TCP连接

Linux

Linux常用命令有哪些,并简述他们的作用

查看当前目录
查看磁盘使用情况
杀掉进程
查看当前主机状态
移动文件
复制文件
查看端口使用状态
删除
查看文件

vim怎么退出

不保存直接退出
保存后退出
强制退出

vim怎么快速查找

按下输入 再输入 +查找内容

如何查找日志关键词上下文

怎样一页一页地查看一个大文件的内容呢/strong>

通过管道命令和more实现

如何查看linux端口 被占用

查看端口状态

如何查看进程状态/strong>

chown是什么rep是什么/strong>

改变文件的拥有者和组
查找文件里符合条件的字符串

如何查看日志/strong>

日志文件名

5个客户端通过TCP连接到主机,如何查看这5个连接

数据库

哪些方法可以提高数据库查询效率/strong>

  1. 建立索引,利用索引
  2. 只查询必要的字段
  3. 合理的处理NULL字段
  4. 慎用like等通配符

索引设计的时候要注意什么/strong>

  1. 索引字段长度不能太长
  2. 索引的个数不能太多

数据库更新语句ROUP BY 如何使用/strong>

GROUP BY 一般常用于对查询结果进行分组

如果一个数据表有成千上万条记录,访问时很慢,有哪些方法可以优化/s>
Redis的优势是什么

  1. 读写快,Redis是将数据放在内存里,而内存的读取速度比硬盘要快,所以Redis性能优势比其他数据库要好
  2. 并发性能好

编程

HTTP协议中GET和POST的区别

在http协议中
get方法一般用来从服务器获取数据
post方法一般用来向服务器上传数据

HTTP状态码的含义

状态码 描述
1XX 服务器收到请求,需要请求者继续执行操作
2XX 成功,操作被成功接收并处理
3XX 重定向,需要进一步的操作以完成请求
4XX 客户端错误,请求包含语法错误或无法完成请求
5XX 服务器错误,服务器在处理请求的过程中发生了错误

常用的如下

状态码 返回 描述
200 OK 请求成功。一般用于GET与POST请求
400 Bad Request 客户端请求的语法错误,服务器无法理解
401 Unauthorized 未注册或需要用户的身份认证
403 Forbidden 服务器理解请求客户端的请求,但是拒绝执行此请求
404 Not Found 服务器无法根据客户端的请求找到资源
500 Internal Server Error 服务器内部错误,无法完成请求
502 Bad Gateway 作为 关或者代理工作的服务器尝试执行请求时,从远程服务器接收到了一个无效的响应
503 Service Unavailable 由于超载或系统维护,服务器暂时的无法处理客户端的请求
505 HTTP Version not supported 服务器不支持请求的HTTP协议的版本,无法完成处理

HTTP请求Header里包含哪些内容

浏览器F12随意截取了一段,可以看看

白盒测试方法有哪些

语句覆盖
使程序中的每个可执行语句都能执行一次的测试用例

判定覆盖
对于判断语句,在设计用例的时候,要设计判断语句结果为True和False的两种情况

条件覆盖
设计足够多的测试用例,使得程序中每个判定包含的每个条件的可能取值(真/假)都至少满足一次

判定条件覆盖
设计足够的测试用例,使得判断条件中的所有条件可能取值至少执行一次,同时,所有判断的可能结果至少执行一次

条件组合覆盖
设计足够的测试用例,使得程序中每个判断的所有可能的条件取值组合都至少出现一次

路径覆盖
设计所有的测试用例,来覆盖程序中的所有可能的执行路径

白盒测试覆盖率如何保证

软件测试经典面试题(小题汇总)

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年1月9日
下一篇 2019年1月10日

相关推荐