测试开发面经

目录

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 你的端口号

相关推荐
biter down5 小时前
14:pytest-order 插件 顺序控制案例
开发语言·python·pytest
郝学胜-神的一滴5 小时前
Qt 高级开发 009: C++ Lambda 表达式
开发语言·c++·qt·软件构建
星栈独行5 小时前
我在 Rust 全栈项目里用 JWT 做无状态认证
开发语言·后端·rust·前端框架·开源·github·web
Lei活在当下5 小时前
先用起来,再理解,关于协程Coroutine应该知道的事
android·java·jvm
石山代码5 小时前
C++ 轻量级日志系统
开发语言·c++
Java爱好狂.5 小时前
Java程序员体系化学习路线(2026最新版)
java·后端·java面试·java架构师·java程序员·java八股文·java学习路线
tongluowan0076 小时前
以ReentrantLock为例解释AQS的工作流程
java·模板方法模式·aqs·reentrantlock
小技与小术6 小时前
玩转Flask
开发语言·python·flask
SilentSamsara6 小时前
Python 性能优化:tracemalloc、profiling 与 C 扩展加速
开发语言·python·青少年编程·性能优化
冰小忆6 小时前
大驼峰命名规范和小驼峰命名规范的区别是什么?
开发语言·python