七牛云测试开发实习面试问题记录

七牛云测试开发实习面试问题记录

1 简历中写你用过Jmeter,用Jmeter来做什么?

用Jmeter做过接口测试,(面试官最后说Jmeter一般是用来压力测试)。

2 为什么用Jmeter不用postman?

初期测试单个接口用postman较方便,后期压力测试,性能测试用Jmeter更好。

压力测试:对系统不断施加压力的测试,是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试。例如测试一个Web站点在大量的负荷下,何时系统的响应会退化或失败。

性能测试:在交替进行负荷和强迫测试时常用的术语。性能测试关注的是系统的整体。它和通常所说的强度、压力/负载测试测试有密切关系。所以压力和强度测试应该于性能测试一同进行。

3 有没有用Jenkins写过code?会配置吗?怎么实现自动化测试?

在这里插入图片描述
需要编写一个shell脚本来执行这个过程。

具体的创建Jenkins任务的过程为

1.创建jenkins任务

2.填写Server信息

3.配置git参数

4.填写构建语句(shell脚本),实现自动部署。

4 linux的基本命令熟吗?

5 有没有比较熟练的编程语言?

6 sql

(1)sql四个事务隔离级别
1)未提交读(Read Uncommitted):一个事务能够读取到别的事务中没有提交的更新数据。事务可以读取到未提交的数据,这也被称为脏读(dirty read)

所以这种级别很有可能读到脏数据,隔离级别最低。

2)提交读(Read Committed):一个事务只能读取到别的事务提交的更新数据。

一般我们提交读就可以了。只能读取到已经提交的数据。即解决了脏读,但未解决不可重复读。(oracle默认的)

3)可重复读(Repeated Read):保证同一事务中先后执行的多次查询将返回同意结果,不受其他事务的影响。这种隔离级别可能出现幻读。(mysql默认的)

4)序列化(Serializable):不允许事务并发执行,强制事务串行执行,就是在读取的每一行数据上都加上了锁,读写相互都会阻塞。这种隔离级别最高,是最安全的,性能最低,不会出现脏读,不可重复读,幻读,丢失更新。

(2)sql四个排名函数

四个排名函数的区别:
RANK()
返回结果集的分区内每行的排名。行的排名是相关行之前的排名数加一。
如果两个或多个行与一个排名关联,则每个关联行将得到相同的排名。

DENSE_RANK()
返回结果集分区中行的排名,在排名中没有任何间断。行的排名等于所讨论行之前的所有排名数加一。
如果有两个或多个行受同一个分区中排名的约束,则每个约束行将接收相同的排名。

ROW_NUMBER()
返回结果集分区内行的序列号,每个分区的第一行从开始。
ORDER BY子句可确定在特定分区中为行分配唯一ROW_NUMBER的顺序。

NTILE()
将有序分区中的行分发到指定数目的组中。
各个组有编号,编号从一开始。对于每一个行,NTILE 将返回此行所属的组的编号。

(3)sql四种语句

①数据定义语言,即SQL DDL,用于定义SQL模式、基本表、视图、索引等结构。DROP CREATE ALTER 等语句
②数据操纵语言,即SQL DML。数据操纵分成数据查询和数据更新两类。INSERT(插入) UPDATE(修改) DELETE(删除)
③数据查询语言,即SQL DQL。 SELECT语句
④数据控制语言,即SQL DCL,这一部分包括对基本表和视图的授权、完整性规则的描述、事务控制等内容。 GRANT REVOKE COMMIT ROLLBACK等语句

7 死锁

参考:https://blog.csdn.net/hd12370/article/details/82814348

8 排序算法有哪些?

参考:https://blog.csdn.net/wy12345432452/article/details/78459512

https://blog.csdn.net/sunxianghuang/article/details/51872360

9 快速排序

参考:https://blog.csdn.net/weixin_43250623/article/details/88931925

10 二叉树

参考:
https://blog.csdn.net/qq_40772692/article/details/79343914

11 TCP三次握手

第一次握手:客户端发送一个连接请求,测试服务端是否可以正常通信(SYN位置为1)
第二次握手:服务端确认客户端的连接请求,并且同时发送一个请求,测试客户端是否可以正常通信(SYN位置为1, ACK位置为1)
第三次握手:客户端接受到服务端的确认(了解到服务器可以正常通信),之后发送一个ACK,告诉服务器我可以正常通信(ACK位置为1)
如果服务器没有收到客服端的ACK,会超时重传自己的SYN请求,一直到收到服务端的ACK为止。

11 为什么TCP挥手是四次不是三次?

为什么连接的时候是三次握手,关闭的时候却是四次握手?

答:因为当Server端收到Client端的SYN连接请求报文后,可以直接发送SYN+ACK报文。其中ACK报文是用来应答的,SYN报文是用来同步的。但是关闭连接时,当Server端收到FIN报文时,很可能并不会立即关闭SOCKET,所以只能先回复一个ACK报文,告诉Client端,“你发的FIN报文我收到了”。只有等到我Server端所有的报文都发送完了,我才能发送FIN报文,因此不能一起发送。故需要四步握手。

12 HTTP协议

参考:https://blog.csdn.net/weixin_38051694/article/details/77777010
https://blog.csdn.net/sundacheng1989/article/details/28239711

13 发送一个post 请求内容有哪些?

14 post和put的区别

PUT和POS都有更改指定URI的语义.但PUT被定义为idempotent的方法,POST则不是.idempotent的方法:如果一个方法重复执行

多次,产生的效果是一样的,那就是idempotent的。也就是说:

PUT请求:如果两个请求相同,后一个请求会把第一个请求覆盖掉。(所以PUT用来改资源)

Post请求:后一个请求不会把第一个请求覆盖掉。(所以Post用来增资源)

15 404错误

4开头的代表客户错误
404是当用户输入了错误的链接时,返回的页面。
404页面是客户端在浏览网页时,服务器无法正常提供信息,或是服务器无法回应,且不知道原因所返回的页面。

HTTP 404 错误意味着链接指向的网页不存在,即原始网页的URL失效,这种情况经常会发生,很难避免,比如说:网页URL生成规则改变、网页文件更名或移动位置、导入链接拼写错误等,导致原来的URL地址无法访问;当Web 服务器接到类似请求时,会返回一个404 状态码,告诉浏览器要请求的资源并不存在。

导致这个错误的原因一般来说,有三种:
1、无法在所请求的端口上访问Web站点。
2、Web服务扩展锁定策略阻止本请求。
3、MIME映射策略阻止本请求。

16 你来面试这个有什么优势?

参考链接:
https://blog.csdn.net/DT_Zhangshuo/article/details/83275318
https://blog.csdn.net/qq_38950316/article/details/81087809
https://blog.csdn.net/qq_36183935/article/details/80570062

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值