川石教育
全国咨询热线:136-9172-9932
  1. 首页 > 资讯与干货 > 常见问题

接口测试金典面试题以及答案(二)|面试宝典

作者:川石学院 日期:2021-09-13 13:52:27 点击数:

  各位老铁,上一期给大家分享了接口测试金典面试题第一部分的内容,大家都还记得吧。今天小编来分享“接口测试金典面试题(二)”的内容啦,记得把文章分享给身边有需要的朋友、同事哦。

接口测试金典面试题以及答案(二)|面试宝典(图1)

  21、什么是SOAP接口

  SOAP简单对象访问协议,是一种基于 XML 的协议。SOAP 可以和现存的许多因特网协议和格式结合使用,包括超文本传输协议HTTP,简单邮件传输协议SMTP。

  22、什么是REST/RESTFUL接口?

  在REST API中,通过HTTP协议进行交互。

  REST - 表述性状态转移,它不是协议和标准而是表示一种风格, 将Http协议的设计初衷作了诠释。它正快速成为API创建的标准。

  23、什么是HTTP协议

  HyperText Transfer Protocol超文本传输协议,是因特网上应用最广泛的应用层协议,传输层基于TCP协议。

  24、HTTP协议特点

  01.支持客户/服务器模式;

  02.简单快速,向服务器请求服务时,只传送请求方法和路径,因而通信速度很快;

  03. 灵活,HTTP允许传输任意类型的数据对象;

  04. 无状态,对于事务处理没有记忆能力, 每个请求都是独立的;

  05. 无连接,在1.1版本后默认保持连接;

  25、Http请求的组成部分是什么?

  请求报文包括三部分:

  (1).请求行:包含请求方法,URI,HTTP版本协议

  (2).请求首部字段,请求header

  (3).请求内容实体,请求body

  响应报文包含三部分:

  (1).状态行:包含HTTP版本,状态码,状态码原因短语

  (2).响应首部字段,响应header

  (3).响应内容实体,响应body

  26、Http协议工作的原理

  整个处理流程步骤:

  (0) 地址栏输入url地址后回车

  (1) 域名解析,获取ip地址

  (2) 建立TCP连接,三次握手

  (3) 浏览器端发起Http请求

  (4) Server接收,处理,返回Http响应,

  (5) 浏览器端接收响应,得到HTML代码

  (6) 浏览器解析HTML代码,渲染呈现给用户

  (7) 浏览器端发起Http请求

  (8) Server接收,处理,返回Http响应,

  (9) 浏览器端接收响应,得到HTML代码

  (10) 浏览器解析HTML代码,渲染呈现给用户

  (11) 断开TCP连接,四次挥手

  27、 HTTP协议的请求方式有哪些?

  01. GET:GET用于从指定资源请求数据。

  02. POST:POST用于将数据发送到服务器以创建或更新资源。

  03. PUT:PUT用请求有效负载替换目标资源的当前表示。

  04. DELETE:DELETE删除指定的资源。

  05. OPTION:选项用于描述目标资源的通信选项,让客户端查看服务器的性能。

  06. HEAD:HEAD请求与GET请求相同的响应,但没有响应主体,用于获取报头。

  28、Http结果码 1xx--提示, 2xx--正常,3xx--重定向,4xx--客户端错误,5xx--服务端错误

  01. 100:Continue,收到了请求的初始部分,请客户端继续

  02. 200:OK,请求被正常处理

  03. 301:Moved Permanently,永久性重定向

  04. 302:Found,临时重定向

  05. 304:Not Modified,发送附带条件的请求时,表示文件未变化

  06. 400:Bad Request,请求报文语法有误,服务器无法识别

  07. 401:Unauthorized,未授权,需要客户端对自己认证

  08. 403:Forbidden,禁止,请求被服务器拒绝

  09. 404:Not Found,服务器无法找到对应资源

  10. 500:Internal Server Error,服务器内部错误

  29、Http协议首部字段

  01、通用首部字段(请求报文与响应报文都会使用的首部字段)

  Date:创建报文时间

  Connection:连接的管理

  Cache-Control:缓存的控制

  02、请求首部字段

  Host:请求资源所在服务器

  Accept:可处理的媒体类型

  Accept-Charset:可接收的字符集

  Accept-Encoding:可接受的压缩方式

  Accept-Language:可接受的自然语言

  Authrization:认证信息

  Referer:当前请求路径的获取渠道

  User-Agent:客户端信息

  03、响应首部字段

  Set-Cookies:客户端应该保存的cookies

  Location:令客户端重新定向到的URI

  Server:HTTP服务器的安装信息

  04、实体首部字段

  Content-Type:实体主类的类型

  Content-Encoding:实体主体适用的压缩方式

  Content-Length:实体主体的的字节数

  30、GET请求和POST请求区别是什么?

  01.GET一般从服务器上获取资源,POST一般往服务器发送数据(不是绝对的)

  02.GETGET方式主要是对数据库进行查询,GET是幂等和安全的,而POST主要用于让数据库增加数据或者删除,修改数据,所以会有一定的安全性问题;

  03.GET请求数据是通过URL传送,POST请求数据通常在请求BODY中;

  04.GET,因为受URL长度限制,数据量有限;POST可以传输大量数据,可用于文件上传

  05.GET是不安全的,因为URL是可见的;POST较安全

  06.GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留

  31、Http与Https相比的不足?

  01.通信使用明文不加密,内容可能被窃听,也就是被抓包分析

  02.不验证通信方身份,可能遭到伪装

  03.无法验证报文完整性,可能被篡改

  HTTPS=SSL+HTTP

  32、http和https的比较

  01.HTTP 的URL 以http:// 开头,而HTTPS 的URL 以https:// 开头

  02.HTTP 是不安全的,而 HTTPS 是安全的

  03.HTTP 标准端口是80 ,而 HTTPS 的标准端口是443

  04.在OSI 网络模型中,HTTP工作于应用层,而HTTPS 的安全传输机制工作在传输层

  05.HTTP 无法加密,而HTTPS 对传输的数据进行加密

  06.HTTP无需证书,而HTTPS 需要CA机构wosign的颁发的SSL证书

  33、HTTP接口的请求参数类型有哪些?

  01. 查询字符串参数(Query String Parameters参数)一般用于GET请求,会以url string的形式进行传递。

  02. 请求体参数(Request Body)一般用于POST请求,可以使用Content-Type来指定不同参数类型。

  34、常见的 POST 提交数据方式

  请求body;请求url+请求body:

  Content-type:application/x-www-form-urlencoded: 表单提交--键值对, formmultipart/form-data:文件上传---文件 ,MIMEapplication/json,text/xml:

  35、如何对请求数据加密?

  为什么要加密,常规加密方式

  01. Jmeter--找它的对应组件或函数;如果没有写代码,

  02. Requests--写代码,利用python自带的或第三方的模块

  36、HTTP协议无状态?怎么解决Http协议无状态?

  01、无状态指对于事务处理没有记忆能力,每个http请求都是完全独立的。

  02、无状态协议解决办法:通过Cookie或Session。

  A. client发送登录请求,server判断登录成功,生成cookie并返回响应

  B. Client保存cookie,并在接下来的请求时,带上cookie

  C. Server接收到请求,对请求中的cookie做验证

  37、Cookies机制和session机制的区别

  cookies数据保存在客户端,session数据保存在服务器端;

  cookies可以减轻服务器压力,但是不安全,容易进行cookies欺骗;

  session较安全,但占用服务器资源;

  Cookie实现方式:

  01. 登录成功,server返回cookie---响应的header的set-cookie字段

  02. 下次请求,请求header中通过cookie字段带上需要的cookie

  session实现方式---cookie,Url回写

  01. 登录成功,server创建session并返回sessionid

  02、下次请求时,请求报文中带上sessionid

  38、为什么选择用JMeter进行接口测试?

  JMeter刚开始觉得难用,但是习惯了发现挺好用的,它功能很强大,满足基本功能测试和压力测试的需求。

  39、什么是断言?断言的类型有哪些?

  自动化测试中通过断言做结果判断,用于检查测试中的数据与预期是否一致。一致则结果为pass,否则为fail状态。

  JMeter中一些常用的断言有:响应断言、Json断言

  40、正则表达式中包括和匹配区别

  包括:目标字符串包括正则表达式的内容

  匹配:目标字符串包括与正则表达式的内容完全一致

  本章节关于“面试宝典|接口测试金典面试题(二)”的内容就分享到这里,下一章继续更新面试宝典|接口测试金典面试题(三)的内容。觉得文章有用的话记得每天来这里和小编一起学习涨薪技能哦。


相关文章
  • 亚马逊运营成功转行软件测试,薪资13K表示很满意!2021-09-13 13:52:27
  • 西安川石的兰朋友喊你来当他的学弟学妹啦!2021-09-13 13:52:27
  • 国外的月亮也不一定比国内测试猿的年薪美~2021-09-13 13:52:27
  • 建筑工程专业朱同学成功转行为软件测试人!2021-09-13 13:52:27
  • 财务管理专业转行软件测试月薪甩会计几条街!2021-09-13 13:52:27
  • 只有技术沉淀才能成功上岸,深圳就业薪资13K!2021-09-13 13:52:27
  • 薪资11K!实现自我价值,从掌握一门IT技术开始...2021-09-13 13:52:27
  • 文科生转行软件测试照样拿下高薪15K!2021-09-13 13:52:27
  • 恭喜罗同学喜提19.5K,成功入行软件测试!2021-09-13 13:52:27
  • 毕业1年,迷茫的他最终选择转行软件测试2021-09-13 13:52:27