1、哪些问题是HTTPS无法解决的?
Http是基于TCP协议的,在网络层的传输耗时比较长,https没有解决这个问题;
http头是不能压缩的,每次要传递很大的数据包,每个连接也只能支持一个请求。
同时https应用了很多加密算法,这些算法的执行也是会影响速度的。
2、说一说你对MySQL引擎的了解
MySQL提供了多个不同的存储引擎,包括处理事务安全的引擎和处理非事务安全的引擎。MySQL8.0支持的存储引擎有InnoDB、MyISAM、Memory、Merge、Archive、CSV等。其中,最常用的引擎是前两个。
InnoDB:
特点:
1、支持ACID
2、CPU效率极高,能处理巨大数据量
3、表可以是任何尺寸
4、支持外键,必定有主键
5、支持聚簇索引
MyISAM:
特点:
1、支持大文件的文件系统和操作系统上支持
2、有较高的插入、查询速度、但不支持事务
3、BLOB和TEXT列可以被索引
4、删除和更新插入操作混合使用的时候,产生更少碎片
5、没有聚簇索引
3、说一说进程有多少种状态,如何转换
有3种状态4种转换,三种状态是阻塞、就绪、运行。四种转换是阻塞->就绪、就绪->阻塞、运行->阻塞、就绪->运行。
(1) 就绪→执行
处于就绪状态的进程,当进程调度程序为之分配了处理机后,该进程便由就绪状态转变成执行状态。
处于就绪状态的进程,当进程调度程序为之分配了处理机后,该进程便由就绪状态转变成执行状态。
(2) 执行→就绪
处于执行状态的进程在其执行过程中,因分配给它的一个时间
片已用完而不得不让出处理机,于是进程从执行状态转变成就
绪状态。
(3) 执行→阻塞
正在执行的进程因等待某种事件发生而无法继续执行时,便从执行状态变成阻塞状态。
(4) 阻塞→就绪
4、测试计划应该包括的内容
背景、项目介绍、目的、测试范围、测试策略、人员分工、资源要求、进度计划、参考文档、常用术语、提交文档、风险分析
5、测试报告包括的内容
测试背景、测试范围、测试环境、测试方法、测试结果与缺陷分析(主要从功能性能方面来分析)、测试结论与建议、质量或风险评估
6、测试用例的八大要素是?
用例编号、操作步骤、测试标题、重要级别、前置条件、测试输入数据、所属模块、预期结果
7、缺陷包含的要素?
缺陷标题、缺陷描述、缺陷状态、缺陷类型、前置条件、重现步骤、期望结果和实际结果、严重性、优先级、附件、负责人、发现日期、测试人员、测试轮次、项目名称、所属模块
8、 请你会到一下测试的相关流程是什么?
需求分析----测试计划(范围、时间、人员、工具)—测试设计/开发(测试用例)----测试执行(执行测试用例,补充测试用例)——测试评估((覆盖范围。测试了哪些功能,哪些没有测试)BUG的情况的统计)——测试报告
9、 session和cookie的区别
cookie的数据存在客户端的,session的数据存放在服务器端的
cookie不是很安全,别人可以分析你存在本地的cookie,而session是比较安全的
session在一定时间内保存在服务器上,随着访问越来越多会比较占服务器的资源性能,而cookie在这方面就没有这样的短板
单个cookie保存的数据有限的,一般不超过4k,很多网站都限制一个站点,最多保存20个cookie,而session存在在服务端,没有这中数据量的限制,可以保存更复杂的数据
生命周期不一样,cookie的生命周期是累计的,session的生命周期是间隔的
10、get和post请求的区别
get产生一个TCP数据包,post产生两个TCP数据包,对于get请求浏览器会将请求头和请求体一并发送出去,而post会将请求头发送出去,服务器响应100continue,浏览器再将请求体发送出去
get请求会被浏览器主动缓存,而post不会除非手动设置
get只支持url编码,而post支持多种编码方式
get会被完整的保留在浏览器历史记录里而post的参数不会被保留
get请求参数通过url传递,post通过请求体传递
post相对get更安全
get请求的长度是依据当前浏览器的设置规格有不同的长度,不一定是2048
11、做接口测试的时候都碰到哪些状态码?
200表示响应成功,但业务不一定成功。
3xx重定向,服务器要求客户端重新请求一个新的url。postman和jmeter会自动处理
400客户端请求的语法错误,服务器无法理解,比如参数名称不对,多了空格。
401未授权,需要身份认证。
403服务端禁止访问。
404请求的资源未找到,接口地址写错了。
405请求方法不允许。如要求post却用get。
415请求的content-type不一致。如要求json,却传form表单。
500服务端内部出现问题,需查看日志解决。
12、常见协议端口
端口范围
一般用到的是1到65535,其中0一般不使用。端口号可分为3大类:
1、公认端口(Well Known Ports):从0到1023,它们紧密绑定(binding)于一些服务。通常这些端口的通讯明确表明了某种服务的协议。例如:80端口实际上总是HTTP通讯。
2、注册端口(Registered Ports):从1024到49151。它们松散地绑定于一些服务。也就是说有许多服务绑定于这些端口,这些端口同样用于许多其它目的。例如:许多系统处理动态端口从1024左右开始。
3、动态和/或私有端口(Dynamic and/or Private Ports):从49152到65535。理论上,不应为服务分配这些端口。实际上,机器通常从1024起分配动态端口。但也有例外:SUN的RPC端口从32768开始。
FTP 21 文件传送(控制端口)
SSH 22
telnet 23 远程通信网
Smtp 25 简单邮件传输协议
dns 53
TFTP(Trivial File Transfer Protocol ),默认的端口号为69/udp
http 80
https 443
Tomcat 8080
orcale 1521
mysql 3306
(后续会不断的增加更多的面试题,希望对大家有帮助)
博客园地址