面试问题-接口方面

1.说说你对接口的理解

接口是服务,是功能点实现,是数据传递的通道,也是服务器端的一个实现了某种协议(比如http协议…)和映射机制(当访问一个url时就会通过服务器端的映射处理机制解析后,落到对应的处理函数)的函数,接口参数就是函数的参数,接口的响应数据就是函数的返回值。

2.做过接口测试吗,有哪些熟悉的工具。

做过(即时你之前没有用过可视化工具做过接口测试,但你现在学了接口自动化测试就算有经验了)。
熟悉的工具:
可视化工具比如:jmeter,postman,soapui等(用过哪些说哪些)
代码:requests发包技术来实现接口测试。

3.接口调用依赖第三方的接口b,而b接口还未提供给你,如何处理?

1.通过mock框架搭建自己的mock系统/平台(其实就是自己开发接口),模拟这个第三方接口mock一个出来即可,这样就解决了这个依赖。

2.试应flask自己开发一个接口,调用的时候调这个接口的数据

面试问题-接口方面

; 4.请简单说一说get、post这两种请求方法的区别?

Get:
a. 一般对于从服务器取数据的请求可以设置为get方式
b. Get方式在传递参数的时候,一般都会把参数直接拼接在url上(例如:http://xxx?id=1&type=2)
c. Get请求方法可以传递的参数数据量是有限的(因为一般参数是拼接在url上,而浏览器对于url的长度是有限制的)
d. Get请求因为是直接将数据拼接在url上,所以安全性不如post强(相对),但是get的执行效率要快于post
Post:
a. 一般往服务器提交数据的请求会设置为post方式
b. Post方式传递参数一般都会把参数放在请求体,而不会拼接在url
c. Post请求方法可以提交的数据量不受限制
d. Post请求传参相对于get要安全(相对不是绝对),但是post的执行效率不如get。

5.在浏览器中输入URL,回车之后发生了什么?

(1)URL 解析
(2)DNS 查询
(3)TCP 连接
(4)处理请求
(5)接受响应
(6)渲染页面

6.Cookie,session,token区别

什么是Cookie
cookie 是一个非常具体的东西, 储存在游览器中,仅仅是浏览器实现的一种数据存储功能。
cookie由服务器生成,发送给浏览器,浏览器把cookie以kv形式保存到某个目录下的文本文件内,下一次请求同一网站时会把该cookie发送给服务器。
由于cookie是存在客户端上的,所以浏览器加入了一些限制确保cookie不会被恶意使用,同时不会占据太多磁盘空间,所以每个域的cookie数量是有限的。

session
所谓会话就是session,而session是一种服务器的缓存技术,由服务器端创建, 存储在服务器中用户登录了系统,一般就会把登录用户的信息保存到这个session对象中,然后把此会话对应的id(JSESSIONID)返回,因此大部分系统都会用到session机制来实现鉴权。Session保存数据方式也是以key-value的形式。

token?
所谓token其实就是 服务器端返回的一个字符串(有点类似于:xys73494954sdhcdr83435这么一串),这个数据是基于什么算法生成的需要找开发确认,一般这个数据是唯一的,服务器每次返回的token都会不一样。Token之所以可以用来做鉴权,原理如下:
用户a调用了登录接口–》登录了系统b–》服务器端生成了一个唯一的token信息(假设为c),然后会拿用户的编号id(假设为d)做了一个映射:c-d,然后将这样的映射关系存到数据库或redis等缓存中,然后再返回这个token给客户端–》客户端再调用其他需要鉴权的接口时,只需要将缓存起来的这个token带过去验证–》服务器根据此token检查是否有登录用户信息来判断此请求是否是一个已登录授权的用户。(这里客户端怎么取到这个token,怎么存,再次请求时怎么带过去,上面接口鉴权部分已解释)。
弄明白怎么传过去以后,就设法从保存了这个鉴权信息的地方取出来–》传过去

Original: https://blog.csdn.net/qq_38224014/article/details/123730721
Author: seak海
Title: 面试问题-接口方面

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/748915/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球