ITPub博客

首页 > IT职业 > IT职场 > 【编测编学】接口测试必备面试题(上)

【编测编学】接口测试必备面试题(上)

原创 IT职场 作者:bcbxhome 时间:2021-01-14 17:52:50 0 删除 编辑


1 、按你的理解,软件接口是什么?
就是指程序中具体负责在不同模块之间传输或接受数据的并做处理的类或者函数。

2 、 HTTP 和 HTTPS 协议区别?
https
协议需要到 CA ( Certificate Authority ,证书颁发机构)申请证书,一般免费证书较少,因而需要一定费用;
http
是超文本传输协议,信息是明文传输, Https 协议是由 SSL+Http 协议构建的可进行加密传输、身份认证的网络协议,比 http 协议安全; http 和 https 使用的是完全不同的连接方式,用的端口也不一样,前者是 80 ,后者是 443 ;

3 、 HTTPS 在哪一层?
HTTPS
在应用层。

4 、 get 和 post 区别是什么?
POST
和 GET 都是向服务器提交数据,并且都会从服务器获取数据。
区别:
1
)传送方式: get 通过地址栏传输, post 通过报文传输
2
)传送长度: get 参数有长度限制(受限于 url 长度),而 post 无限制
3
) GET 产生一个 TCP 数据包(对于 GET 方式的请求,浏览器会把 http header 和 data 一并发送出去,服务器响应 200 返回数据), POST 产生两个 TCP 数据包(对于 POST ,浏览器先发送 header ,服务器响应 100 continue ,浏览器再发送 data ,服务器响应 200 ok 返回数据)
4
) get 请求参数会被完整保留在浏览历史记录里,而 post 中的参数不会被保留
5
)在做数据查询时,建议用 GET 方式;而在做数据添加、修改或删除时,建议用 post 方式

5 、常见的 POST 提交数据方式
主要有四种方式: application/x-www-form-urlencoded 、 multipart/form-data 、 application/json 、 text/xml 等。

6 、什么是 Http 协议无状态协议 ? 怎么解决 HTTP 协议无状态协议
无状态是指协议对于事务处理没有记忆能力,服务器不知道客户端是什么状态。即我们给服务器发送 HTTP 请求之后,服务器根据请求,会给我们发送数据过来,但是,发送完,不会记录任何信息。 HTTP 是一个无状态协议,这意味着每个请求都是独立的, Keep-Alive 没能改变这个结果。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。 HTTP 协议这种特性有优点也有缺点,优点在于解放了服务器,每一次请求“点到为止”不会造成不必要连接占用,缺点在于每次请求会传输大量重复的内容信息。客户端与服务器进行动态交互的 Web 应用程序出现之后, HTTP 无状态的特性严重阻碍了这些应用程序的实现,毕竟交互是需要承前启后的,简单的购物车程序也要知道用户到底在之前选择了什么商品。于是,两种用于保持 HTTP 连接状态的技术就应运而生了,一个是 Cookie ,而另一个则是 Session 。

7 、 cookie 和 session 的区别
cookie
数据存放在客户的浏览器上, session 数据放在服务器上
cookie
不是很安全,别人可以分析存放在本地的 cookie 并进行 cookie 欺骗,考虑到安全应当使用 session
session
会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,考虑到减轻服务器性能方面应当使用 cookie
单个 cookie 保存的数据不能超过 4K ,很多浏览器都限制一个站点最多保存 20 个 cookie

可以将登陆信息等重要信息存放为 session ;其他信息需要保存,可以放在 cookie

8 、请求接口中常见的返回状态码
1xx --
信息提示(表示临时的响应。客户端在收到常规响应之前,准备接收一个或多个 1xx 响应)
2xx --
成功(表明服务器成功地接受了客户端请求)
3xx --
重定向(客户端浏览器必须采取更多操作来实现请求。例如,浏览器可能不得不请求服务器上的不同的页面,或通过代理服务器重复该请求)
4xx --
客户端错误(发送错误,客户端有问题。例如,客户端请求不存在的页面,客户端未提供有效的身份证验证信息)
5xx --
服务器错误(服务器由于遇到错误而不能完成该请求)

常见的返回码有:

  • 200 OK - [GET] :服务器成功返回用户请求的数据
  • 201 CREATED - [POST/PUT/PATCH] :用户新建或修改数据成功
  • 202 Aceepted - [*] :表示一个请求已经进入后台排队(异步任务)
  • 204 NO CONTENT - [DELETE] :用户删除数据成功
  • 400 INVALID REQUEST - [POST/PUT/PATCH] :用户发出的请求有错误,服务器没有进行新建或修改数据的操作
  • 401 Unauthorized -[*] :表示用户没有权限(令牌、用户名、密码错误)
  • 403 Forbidden -[*] :表示用户得到授权(与 401 错误相对),但是访问被禁止
  • 404 NOT FOUND -[*] :用户发出的请求针对得到是不存在的记录,服务器没有进行操作,该操作是幂等的
  • 406 Not Acceptable - [GET] :用户请求的格式不可得(比如用户请求 JSON 格式,但是只有 XML 格式)
  • 500 INTERNAL SERVER ERROR - [*] :服务器发生错误,用户将无法判断发出的请求是否成功

 

【编测编学】  教学内容为:


测试基础知识、项目实战、测试管理、敏捷测试、探索式测试、APP测试、Linux、数据库、测试环境搭建、Python编程、WEB端UI自动化测试、APP端UI自动化、接口功能测试、性能测试、接口自动化测试、Jenkins持续集成  等内容。


通过学习,学员能  掌握软件测试企业最新技术,对标一线互联网企业项目要求,使学员达到中高级测试工程师的水平,毕业后可快速融入企业实际工作中。


不管你是  文科生、专科生、0基础、女同学  都可以轻松学会!


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69985967/viewspace-2750099/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
行业在岗10年+大牛集合地,线下坐标西安,多年致力于企业新人的培养,擅长职业规划,零基础转行学测试方向咨询师。

注册时间:2020-10-24

  • 博文量
    34
  • 访问量
    23983