月薪 20k 的性能测试面试题大曝光,让你如何迅速拿下 offer!

前言

最近面试和找工作的同学都反馈,不管是一线城市还是二三线城市,很多公司面试都问了非常多的性能测试问题,说明现在性能测试的需求量还是比较大的。所以,今天我就把我最近的学生反馈的一些性能测试的面试题给大家做一些整理,帮助大家理解面试官的考察点是什么,以及应该要如何回答这些性能面试题,从而拿下高薪offer!

性能测试面试题精选

1、 以前做过性能测试么?请结合例子具体说明性能测试的流程

面试考察点:性能测试的流程

  1. 首选做性能测试的需求分析,明确性能测试的目标、范围、场景和性能指标(如响应时间、吞吐量、并发用户数等)。
  2. 测试性能测试环境搭建:搭建与生产环境尽可能一致的测试环境,包括硬件、网络、操作系统、数据库等。
  3. 选择工具编写性能测试测试脚本,我们用的是Jmeter工具,根据测试场景编写性能测试脚本,模拟用户行为和数据交互。
  4. 性能测试执行:使用CLI命令行执行脚本,分布式压测,包括负载测试、压力测试、稳定性测试等。
  5. 性能测试结果分析:收集并分析测试结果,识别性能瓶颈和潜在问题。
  6. 性能调优:根据分析结果进行性能调优,优化系统配置、代码实现等。
  7. 测试报告编写:编写性能测试报告,总结测试结果、分析性能瓶颈、提出优化建议等。

2、 单台电脑Jmeter最大可以发多大的并发?JMeter分布式环境怎么搭建?

面试考察点:分布式压测

1)单机压测并发量受到多个因素的影响,比如机器配置(如CPU、内存)、网络带宽、JMeter本身的资源限制以及测试脚本的设计,单台电脑使用JMeter进行并发测试最大能够支持的并发量在几百到几千之间不等。我们之前公司就是300多就上不去了,需要使用分布式来执行。

2)JMeter分布式环境怎么搭建?

3、性能测试有哪些指标?有专门看性能指标的软件吗?

考察点:性能测试结果分析和监控

1)性能测试的指标包括:

2)有专门看性能指标的软件吗?

我们公司有专门搭建的性能监控平台,比如监控系统资源指标: prometheus + grafana+export,可以看CPU 内存 磁盘 网络等指标;并可以持久化存储;监控业务指标: influxdb + grafana+Jmeter,可以持久化存储 TPS ERR 并发用户数等业务指标。

4、假如你正在测试一个电商网站的性能,如何确定并设置合适的并发用户数?

考察点: 并发测试和负载测试执行

5、压测的过程中TPS无法随着并发数的增加而增加,CPU也上不去,可能有哪些原因?

考察点:性能测试的分析和调优

6、 例如100个用户同时登陆,你如何进行测试的

我使用的是Jmeter工具来编写脚本,使用csv参数化来实现100个用户同时登录:

1)先在本地创建txt文件/或者CSV文件,录入100组用户名和密码(逗号分隔),将用户名和密码参数化

2)Jmeter中创建线程组,设置线程数为100个用户并发,1秒内执行,循环一次

3)创建CSV data set config配置元件,引用本地txt/csv文件

4)创建http请求,填入登录接口参数信息,并讲用户名和密码信息进行csv的参数调用;

5)创建同步定时器,设置100个用户,1秒并发执行。

7、 性能测试中,tps和qps的区别是什么?

Tps即每秒处理事务数,包括了

这三个过程,每秒能够完成N个这三个过程,Tps也就是N;

QPS基本类似于TPS,但是不同的是,对于一个页面的一次访问形成一个TPS;但一次页面请求,可能产生多次对服务器的请求,服务器对这些请求就可计入QPS之中。所以,QPS >= TPS.

8、jmeter录制脚本有了解吗?

有了解的,Jmeter可以用 :非配置元件 > http代理服务器来录制脚本;配置一个本地的代理: 127.0.0.1 和端口跟Jmeter的代理端口一致,就可以录制脚本了。

不过我们很少会用录制脚本,基本上都是自己编写的脚本,因为录制的脚本有很多垃圾报文,做很多的筛选和修改。

9、怎么保障Jmeter工具端的性能

1)在执行性能测试时,禁用所有监听器;

2)脚本中,能不写断言的不写;

3)性能脚本尽量简单一些,不写逻辑复杂的脚本;

4)能少用元件就少用;不用beanshell元件,性能不好;

5)尽量不用定时器元件;

10、性能测试监控工具nmon安装及使用方法?

11、什么是系统瓶颈?

瓶颈主要是系统某一方面或者几个方面能力不能满足用户的特定业务要求,严格的从技术角度讲所有的系统都会有瓶颈,因为大多数系统的资源配置不是完全协调的,例如CPU使用率刚好达到100%时,内存也正好耗尽的系统不是很多见。因此我们讨论系统瓶颈要从应用的角度讨论,关键是看系统能否满足用户需求。在用户极限使用系统的情况下,系统的响应仍然正常,我们可以认为改系统没有瓶颈或者瓶颈不会影响用户工作。  

因此我们测试系统瓶颈主要是实现下面两个目的:

12、是否参与过性能分析,都需要看哪些地方?

参与过性能结果分析的,主要关注以下的点:

1)性能的各项指标:

2)通过分析这些指标,发现了异常之后,再通过日志、arthas、MAT等这种分析工具具体分析性能问题的原因,如代码问题,数据库问题,网络问题或者中间件的问题等,然后依次去优化。

总结

以上是最近的一些学生反馈的比较高频的性能测试面试及参考的答案。大家需要结合这些考察点自己结合自己做过的项目的实际案例和场景去组织成为自己的语言,才能拿下offer哦!

回帖
请输入回帖内容 ...