面试题小整理

问题1:什么是幂等性?

幂等性其实就是保证这个接口的执行结果只影响一次,后续即便再次调用,也不能对数据产生影响。

幂等测试就是验证数据一致性和事务完整性。

可能出现幂等性的场景:
1、用户重复提交--非常容易发生,前端、后端均需要控制
2、网络重发
3、消息重发
4、系统间重试

测试幂等的手段:
前端幂等测试,按钮的多次快速点击
后端接口的幂等性测试,使用postman或者jmeter多次发送同一参数的请求,查看服务响应

 

问题2:Nginx常用负载均衡配置有哪些?

1、轮询模式,默认
2、weight权重模式,权重越大被访问概率越大,weight=70;
3、ip_hash,在upstream中采用ip_hash指令,当用户访问时,会通过哈希算法自动定位到某个服务器

 

问题3:网络七层模型都是哪七层?http协议和tcp协议在哪一层?

网络OSI七层模型:
    物理层
    数据链路层
    网络层
    传输层
    会话层
    表示层
    应用层
http协议处于应用层,tcp协议处于传输层

 

问题4:http和https的区别

http :超文本传输协议,是一个客户端和服务端请求和应答的标准
https:是以安全为目标的http通道,http下加入ssl层,是http的安全版本。
它们的区别如下:
1、http信息是明文传输的,而https是安全的,具有安全性的ssl加密传输
2、http标准端口是80,https标准端口是443
3、http无需证书,而https需要认证证书,需要用到CA证书,一般免费证书比较少,因为需要一定费用

 

问题5:TCP三次握手

TCP三次握手是浏览器和服务器建立连接的方式,目的是为了使二者能够建立连接,便于后续的数据交互传输。
第一次握手:浏览器向服务器发起建立连接的请求(客户端发送带有SYN标识的连接请求数据包给服务器)
第二次握手:服务器告诉浏览器,我同意你的连接请求,同时我也向你发起建立连接的请求。(服务端发送带有SYN+ACK标志的连接请求和应答数据包给客户端)
第三次握手:浏览器也告诉服务器,我同意建立连接。(客户端发送带有ACK标志的应答数据包给服务端)
至此,双方都知道对方同意建立连接,并准备好了进行数据传输,也知道对方知道自己的情况。接下来就可以传输数据了

 

问题6:DNS解析流程

1、先检查浏览器缓存,如果已经缓存了这个域名对应的ip地址,解析结束。
2、如果浏览器缓存没有命中,检查操作系统缓存,也可以通过hosts文件来指定一个域名对应的ip地址
3、如果上面2个都没有的话,检查本地域名服务器
4、请求根域名服务器

 

问题7:给你一个网站,如何开展测试

1、查找需求说明、网站设计等相关文档,分析需求
2、制定计划,确定测试范围和测试策略
3、设计测试用例,包括功能、兼容、性能、安全等方面
4、开展测试执行
5、回归测试及测试总结

 

问题8:做好测试用例的关键是什么?

关键就是熟悉需求,但是需求可以分为下面几个方面:
1、熟悉本次业务需求
2、熟悉其他系统和本次需求的关联
3、熟悉开发设计文档,了解开发实现逻辑
4、熟悉数据库设计文档,了解数据存储
5、熟悉项目架构,发现隐藏需求

 

问题9:持续集成的目的是什么?

持续集成指的是,频繁地将代码集成到主干。
它主要有两个好处:
1、快速发现错误。每完成一点更新,就集成到主干,可以快速发现错误,定位错误也比较容易。
2、防止分支大幅度偏离主干。如果不是经常集成,主干又在不断更新,会导致以后集成的难度变大,甚至难以集成。
持续集成的目的,就是让产品可以快速迭代,同时还能保持高质量。它的核心措施是,代码集成到主干之前,必须通过自动化测试,只要有一个测试用例失败,就不能执行。

 

posted @ 2023-03-10 16:15  阳光倾林  阅读(22)  评论(0编辑  收藏  举报