软件测试网络面试题带答案

你好,我是小牛。

前段时间写过一篇关于数据库的面试题,各方面反响还不错,参考如下:

【面试必备篇】数据库不得不知道的那些事

今天继续来聊聊面试,今天聊一聊网络,计算机网络是大学计算机核心专业课之一,也是考研必考专业课,重要性不用多说。对于软件测试人员来说,为什么需要掌握一定的计算机网络知识呢?主要就在于接口测试,数据传输全部基于网络协议进行传输。

绝大部分的接口都是基于http协议,除此之外还有一些常见的比如webservice接口基于soap协议等等。除此之外,掌握计算机网络知识可以帮你更好的理解整个计算机体系,互联网底层原理。其它不多说,直接附上面试必考的计算机网络考点,学会面试网络这块就稳了。

一.http和https有什么区别?

 1.https比http更加安全,传输数据进行加密传输。

 2.http的端口号为80,https的端口号为443。

 3.http无需证书,https需要CA机构颁发的SSL证书。

 4.http工作于应用层,https工作于传输层。

二.说下cookies和session和token鉴权机制?

   

因为http协议是无连接,无状态的。简单来说就是为了节省服务器资源,客户端和服务端无法保持长时间连接,所以服务端无法记住该用户的状态。所以引入了鉴权机制用户在第一次登陆时,服务器会生成cookies给客户端,第二次登陆时客户端会带着之前的cookies来访问,这样服务端就可以判断是哪一个用户。

session是保存在服务端的,当用户登录时会生成session id保存在数据库,下次用户登录就可以识别该session进行判断是哪个用户。token是另一种鉴权机制,跟cookies类似是由服务端生成token给到客户端,下次登录时或者调其它接口带上该token就可以判断出是哪个用户。

三.http协议请求的八种方式以及get和post有什么区别?

基于http协议的接口请求有八种方式分别为GET,POST,PUT,HEAD,DELETE,OPTIONS,TRACE,CONNECT。

最常问的就是get跟post有什么区别?

  1. get方式主要是将参数拼接到url上进行请求。post是将数据放到body里面进行请求。

  2. 因为请求方式的不同所以post比get更加安全,然而并不是,post请求只需要抓包一样可以看到参数,真正安全的话是需要进行加密请求。

  3. get方式提交的数据有1024字节限制,post无限制

  4. get主要是从服务器上获取数据,post用户提交数据,一般根据业务进行定义。

四.说下常见的响应状态码有哪些?

状态码主要是服务器返回的状态,根据状态码的不同就可以大概猜到是什么错误,主要有以下这些:

1XX:提示信息,表示请求已经接收,继续处理

2XX:成功,表示请求已经被成功接收,理解,接受。

3XX:重定向,要完成请求必须进行更进一步的操作。

4XX:找不到资源,一般是url错误,或者接口未发布等。

5XX:服务器错误,因为代码逻辑或者服务器资源导致的错误。

五.说下OSI七层网络模型,分别有什么作用?

OSI七层模型:是ISO组织研究的一种网络互连模型,目的是为了推荐所有公司使用这个规范来控制网络。七层模型从上到下分别为:物理层,数据链路层,网络层,传输层,会话层,表示层,应用层。大概作用如下图所示:

图片

六.浏览器输入百度网址背后发生了什么?

1、首先,在浏览器地址栏中输入url,先解析url,检测url地址是否合法

2、浏览器先查看浏览器缓存-系统缓存-路由器缓存,如果缓存中有,会直接在屏幕中显示页面内容。若没有,则跳到第三步操作。

浏览器缓存:浏览器会记录DNS一段时间,因此,只是第一个地方解析DNS请求;

操作系统缓存:如果在浏览器缓存中不包含这个记录,则会使系统调用操作系统,获取操作系统的记录(保存最近的DNS查询缓存);

路由器缓存:如果上述两个步骤均不能成功获取DNS记录,继续搜索路由器缓存;

ISP缓存:若上述均失败,继续向ISP搜索。

3、在发送http请求前,需要域名解析(DNS解析),解析获取相应的IP地址。

4、浏览器向服务器发起tcp连接,与浏览器建立tcp三次握手。

5、握手成功后,浏览器向服务器发送http请求,请求数据包。

6、服务器处理收到的请求,将数据返回至浏览器

7、浏览器收到HTTP响应

8、浏览器解码响应,如果响应可以缓存,则存入缓存。

9、 浏览器发送请求获取嵌入在HTML中的资源(html,css,javascript,图片,音乐······),对于未知类型,会弹出对话框。

10、 浏览器发送异步请求。

11、页面全部渲染结束。

题目不多,但是每一道都是高频面试题目。掌握这些就完全没问题,当然除此之外,小牛还为大家准备了视频学习资源,关注公众号后台回复网络,可以获取网络协议的学习资源。最后,关于软件测试转行,offer选择等等,都可以通过公众号菜单栏添加我微信私信交流。需要学习资料或者帮忙修改简历也可以私信!!

以上,完。

推荐阅读:

软件测试如何定位分析bug?

自学软件测试,你应该怎么做?

如何搭建测试环境?

本人现在某世界500强某厂做测试开发,空闲时间做了个测试学习公众号叫测试小牛进阶,免费分享了简历模版,笔试题,java/python全栈自动化,性能,测开等等测试资源,扫描下方二维码或者搜索公众号测试小牛进阶关注公众号回复关键词即可领取


扫描二维码关注测试小牛进阶微信公众号

小牛在B站录了视频,更为详细的讲解了,如何学习编程语言?一套完整的接口自动化测试框架包含哪些部分?分别具体使用了哪些框架,以及它们的作用是什么?欢迎前来围观

功能测试如何转自动化上集:

https://www.bilibili.com/video/BV1fi4y1s7ct

功能测试如何转自动化下集:

https://www.bilibili.com/video/BV1hz411e7yG

自学软件测试途径有哪些?

https://www.bilibili.com/video/BV1gz4y127fV

软件测试月薪有多少?

https://www.bilibili.com/video/BV1wK41137q4

大厂软件测试流程是怎么样的?

https://www.bilibili.com/video/BV1at4y1D72Z

如何靠自学转行软件测试?

https://www.bilibili.com/video/BV1re411W7q3

软件测试如何筛选目标公司?

https://www.bilibili.com/video/BV1na4y1J7eJ

软件测试如何由初级工程师进阶为中高级测试工程师?

https://www.bilibili.com/video/BV1Lt4y1X7yb

最后,欢迎大家来B站围观,正在推出系列视频,主要讲解自学方法以及学习方向与知识框架,欢迎前来关注+点赞+投币!!
 

  • 6
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

测试小牛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值