测试开发面经

目录

1.性能指标有哪些?

[2.get 和 post 的区别](#2.get 和 post 的区别)

[3.HTTP 状态码有哪些?](#3.HTTP 状态码有哪些?)

[4.在 Linux 下查看端口号为80的所有进程命令是什么?](#4.在 Linux 下查看端口号为80的所有进程命令是什么?)


1.性能指标有哪些?

1)并发数

2)吞吐量

3)响应时间

4)事务

5)TPS 和 QPS

6)资源利用率

2.get 和 post 的区别

1)数据传递的位置不同:

get 参数直接拼接到 URL 地址后,能够在浏览器地址栏中直接看到

post 参数放在请求体中,在浏览器地址栏中不可见

2)安全性不同:

get 安全性差,因为参数能够显示在 URL 中,会被浏览器历史记录,服务器日志缓存下来,容易泄密,比如登录时候的密码

post 相对安全,因为数据是放在 body 中,不会被直接缓存或记录在历史记录中,但是也不是绝对安全的,可以通过抓包工具获取到数据

3)传输数据量大小不同

get 有长度限制,因为 URL 有长度限制,(每个浏览器限制不同,通常是几kb),不适合传大文件或大数据

post 没有长度限制,适合传大文件或大数据

4)浏览器的缓存机制不同

get 请求可以被浏览器主动缓存,下次访问相同资源可以直接读取缓存,速度更快

post 默认不会被缓存,每次都要向服务器发起请求

5)TCP数据包发送(底层区别)

get 浏览器会把 header 和 data 一起发出去,服务器响应200(返回数据)

post 浏览器先发 header ,服务器响应100 Continue,浏览器再发送 data ,服务器响应200

6)用途和语义不同

get 主要用于获取/读取数据。它是幂等的,就是多次请求同样的 URL ,结果都是一样,不应该改变服务器状态

post 主要用于提交/修改数据。它不幂等,每次提交都会在服务器中产生新的数据。

3.HTTP 状态码有哪些?

1)1xx:信息性

含义:请求已接收,正在处理中。这个状态码比较少见

代表:100(继续),告诉客户端可以继续发送请求体

2)2xx:成功

含义:请求被正常接收、理解并处理

代表:

200 OK:最常见,请求成功

201 Created:请求成功并创建新的资源。

202 No Content:服务器成功处理了请求,但是没有返回内容

3)3xx:重定向

含义:需要客户端进一步操作才能完成请求

代表:

301 Moved Permanently:永久重定向。旧网址被废弃了,以后去新网站

302 Found:临时重定向。暂时跳到另一个地址

304 Not Modified:缓存相关。资源未修改,告诉客户端直接用本地缓存,不用从服务器。

4)4xx:客户端错误

含义:客户端发送过来的请求有问题,服务器没法处理

代表:

400 Bad Request:请求参数错误或格式不对

401 Unauthorized:未授权。用户未登录或token无效,没有访问权限

403 Forbidden:禁止访问。用户登陆了,但是权限不够,例如普通用户使用管理权限

404 Not Found:资源找不到

405 Method Not Allowed:请求方法不支持,比如接口只支持post,而你却用了get

408 Request Timeout:请求超时

5)5xx:服务器端错误

含义:服务器处理请求时出错了(BUG)

代表:

500 Internal Server Error:服务器内部代码报错

502 Bad Gateway:网关错误(通常是Nginx和后端服务连接不上)

503 Service Unavailable:服务不可用(服务器崩了或在维护)

504 Gatewat Timeout:网关超时(服务器请求太慢,网关等不及了)

4.在 Linux 下查看端口号为80的所有进程命令是什么?

ps 是查看进程命令,grep 是用来配合筛选

netstat、ss 是查看端口号命令

查进程命令:ps -ef | grep 你的进程名

查端口号命令:netstat -tunlp | grep 你的端口号

相关推荐
草履虫建模1 天前
力扣算法 1768. 交替合并字符串
java·开发语言·算法·leetcode·职场和发展·idea·基础
naruto_lnq1 天前
分布式系统安全通信
开发语言·c++·算法
qq_297574671 天前
【实战教程】SpringBoot 实现多文件批量下载并打包为 ZIP 压缩包
java·spring boot·后端
老毛肚1 天前
MyBatis插件原理及Spring集成
java·spring·mybatis
学嵌入式的小杨同学1 天前
【Linux 封神之路】信号编程全解析:从信号基础到 MP3 播放器实战(含核心 API 与避坑指南)
java·linux·c语言·开发语言·vscode·vim·ux
lang201509281 天前
JSR-340 :高性能Web开发新标准
java·前端·servlet
Re.不晚1 天前
Java入门17——异常
java·开发语言
缘空如是1 天前
基础工具包之JSON 工厂类
java·json·json切换
精彩极了吧1 天前
C语言基本语法-自定义类型:结构体&联合体&枚举
c语言·开发语言·枚举·结构体·内存对齐·位段·联合
追逐梦想的张小年1 天前
JUC编程04
java·idea