简述HTTP请求过程
步骤一:
浏览器先向服务器发送 HTTP 请求,包括的内容有:
方法:GET/POST。GET仅请求资源,POST会附带用户数据
路径:/XXX/XXX
域名:由 Host 头指定:Host:www.ganziwen.cn
以及其他相关的 header;
如果是 POST ,那么请求还包括一个 body ,包含用户数据
步骤二:
服务器向浏览器返回 HTTP 响应,响应包括:
响应代码:200 表成功,3XX 表重定向,4XX 表示客户端发送的请求有错误,5XX 表示跟服务器在处理的过程中发生了错误
响应类型:由 Content-Type 指定
以及相关的 Header;
通常服务器的 HTTP 响应会携带内容,也就是有一个 body ,包含响应的内容,网页的 HTML 源码就在 body 中
步骤三:
如果浏览器还要继续向服务器请求其他资源,比如图片,就再次发送 HTTP 请求,重复步骤一、二
为什么要参数化
烂大街的回答:模拟真实场景,模拟真实情况
真实原因:
应用程序/数据库对数据有唯一性要求(应用程序内就是单点登录;数据库内就是该字段为 Unique ,唯一)
避免查询缓存对结果造成失真(重复查询同一条数据,如果该数据的表内开启了查询缓存,则会命中。那么响应时间会比市价值偏小)
Linux
1、用一条命令查出 mysql 的进程并且杀死
2、数据用逗号隔开,第三列数据的数据类型为 int ,计算出第三列的和以及平均值
HTTP状态码以及其出现的原因
HTTP请求响应内容的问题
Redis的数据类型有那些,以及其实现原理
测试环境怎么搭建的?
常见回答:Jenkins 做持续集成。配置文件怎么改?开发的配置文件是开发的配置文件,有人回答说:我自己手动改。这是很初级的做法。
面试官想问的是:你会不会 maven ,maven 可以利用 dv 进行编译,可以生成不同的配置文件
怎么做 mock
fiddler 也能做 mock ,返回结果拦截修改,就是 mock。比如说有个依赖服务,要依赖另外的接口怎么办?用 fiddler 做拦截 mock 或者自己写服务进行 mock
业务测试题目
1、case设计
2、讲述之前的一个业务流程
TPS曲线上下抖动,TPS曲线到达最高点不平稳反而下降
抖动是因为 gc ,下降是因为 上下文切换,频繁中断导致 cpu 时间片分给了内核态 cpu ,用户态 cpu 时间减少