性能测试工程师,面试都问什么?

本文涉及的产品
性能测试 PTS,5000VUM额度
简介: 细节:如何分析性能需求?测试的目的、范围如何界定?预期指标怎么得到?需要哪些数据和手段来评估?压测环境配置模型如何抉择?测试数据如何准备?

大概去年这个时候,写过一篇文章:性能测试岗位常见面试题。当时是出于一个求职者的角度,对自己遇到的一些性能岗位面试问题进行了整理归纳。最近这一年,对性能测试有了更多的认知,也做了大半年性能团队的Leader,最近部门开放了性能测试工程师岗位,也面试了几位候选人。这篇文章,说说我对性能测试工程师的定位、需要的技能以及我面试候选人时会问的一些问题,仅供参考。

 

一、岗位定级


以我之前做性能团队Leader时候的经历来说,对性能岗位的定级,大概是按照如下内容划分:


岗位定级 岗位职责 薪资范围(参照市场价)
初级 编写&执行脚本,数据收集统计,能在指导下完成简单的性能测试工作 10-15k
中级 独立完成常规的性能测试工作,有一定的性能瓶颈分析能力 14-20k
高级 能独立或带领team推动完成较为复杂的性能测试工作,分析定位瓶颈并参与调优 20-30k
资深/专家 从业务或架构角度,事前预防、事中定位调优、事后复盘整体优化,更好的服务业务,迭代进化team水准 30-50k


PS:如上定级和岗位职责描述,稍显粗略,每一级都默认具有上一级的职责和能力。

 

二、面试问什么


以我今天面试了一个候选人的例子来说,我问了如下几方面的问题:


1、性能测试流程


重点:需求分析调研、预期指标设定、场景建模、环境数据准备、监控分析;


细节:如何分析性能需求?测试的目的、范围如何界定?预期指标怎么得到?需要哪些数据和手段来评估?压测环境配置模型如何抉择?测试数据如何准备?


2、网络协议


重点:HTTP、TCP、Dubbo及其他RPC框架接口;


细节:三次握手、http和https的区别、AES和RSA的区别、RPC框架的原理、常见的RPC框架;


3、系统架构


重点:微服务、分布式、SLB、ESB;


细节:docker&K8S&Prometheus、分布式的系统,测试时要注意哪些?负载均衡实现原理?涉及到ESB类型的系统,如何进行性能测试?


4、中间件


重点:MQ&kafka、Redis、Tomcat、JVM、链路监控工具(cat、pinpoint、skywalking);


细节:MQ和kafka各自的优点、如何测试MQ的性能、Tomcat参数配置&线程池、缓存穿透&缓存雪崩、Redis的缓存淘汰算法LRU&LRU、JVM堆的构成、OOM的原理&如何监控?


5、压测&监控工具


重点:jmeter、locust、PTS、nmon、zabbix


细节:jmeter参数化&事务控制&二次开发&分布式压测、对其他压测工具的了解及使用程度、nmon使用&二次开发、zabbix监控部署、对监控实时可视化的了解;


6、linux相关


重点:常见的监控分析命令、查看日志的几种方式、CPU的工作原理、shell脚本;


7、常见性能瓶颈分析


重点:TPS上不去、负载不均衡、高并发下大量请求报错、TPS波动大;


8、性能场景


重点:容量规划、性能基线、全链路压测;


PS:上面的问题会根据候选人具体的面试表现来针对性的提问,由浅到深,并不是全部都会问到。

 

三、如何成为一名合格的性能测试工程师?


1、快速学习,了解基础的理论,学习常见的压测监控分析工具;

2、在功能测试完成前提下,主动承担性能测试工作,大量实战;

3、寻找合适优秀的社区学习交流分享,思考沉淀;

4、加入我司,上面的几点都可以得到☺☺☺


最后,正经来说,这是一篇性能测试岗位面试常见问题的blog,应该也代表了业内大部分该岗位的面试问题,非水贴。。。

相关实践学习
通过性能测试PTS对云服务器ECS进行规格选择与性能压测
本文为您介绍如何利用性能测试PTS对云服务器ECS进行规格选择与性能压测。
相关文章
|
1月前
|
消息中间件 存储 Java
招行面试:10Wqps场景,RocketMQ 顺序消费 的性能 如何提升 ?
45岁资深架构师尼恩在其读者群中分享了关于如何提升RocketMQ顺序消费性能的高并发面试题解析。面对10W QPS的高并发场景,尼恩详细讲解了RocketMQ的调优策略,包括专用方案如增加ConsumeQueue数量、优化Topic设计等,以及通用方案如硬件配置(CPU、内存、磁盘、网络)、操作系统调优、Broker配置调整、客户端配置优化、JVM调优和监控与日志分析等方面。通过系统化的梳理,帮助读者在面试中充分展示技术实力,获得面试官的认可。相关真题及答案将收录于《尼恩Java面试宝典PDF》V175版本中,助力求职者提高架构、设计和开发水平。
招行面试:10Wqps场景,RocketMQ 顺序消费 的性能 如何提升 ?
|
1月前
|
人工智能 自然语言处理 架构师
字节面试: es怎么提升性能和精准度?(尼恩独家,史上最全)
本文由40岁老架构师尼恩撰写,针对ES(Elasticsearch)提升搜索性能和精准度的面试题进行详细解析。文章首先指出,提升ES速度和精准度是两个独立的问题,分别涉及性能优化和精准度优化。这些内容不仅有助于应对面试中的难题,还能帮助开发者在实际项目中构建更高效的搜索系统。尼恩强调,掌握这些知识后可以在面试中“吊打”面试官,轻松获得理想Offer。同时,他还提供了《尼恩Java面试宝典PDF》等资源供读者学习参考。
|
3月前
|
存储 网络协议 安全
30 道初级网络工程师面试题,涵盖 OSI 模型、TCP/IP 协议栈、IP 地址、子网掩码、VLAN、STP、DHCP、DNS、防火墙、NAT、VPN 等基础知识和技术,帮助小白们充分准备面试,顺利踏入职场
本文精选了 30 道初级网络工程师面试题,涵盖 OSI 模型、TCP/IP 协议栈、IP 地址、子网掩码、VLAN、STP、DHCP、DNS、防火墙、NAT、VPN 等基础知识和技术,帮助小白们充分准备面试,顺利踏入职场。
210 2
|
5月前
|
设计模式 Java 关系型数据库
【Java笔记+踩坑汇总】Java基础+JavaWeb+SSM+SpringBoot+SpringCloud+瑞吉外卖/谷粒商城/学成在线+设计模式+面试题汇总+性能调优/架构设计+源码解析
本文是“Java学习路线”专栏的导航文章,目标是为Java初学者和初中高级工程师提供一套完整的Java学习路线。
532 37
|
4月前
|
Java 测试技术 程序员
「测试线排查的一些经验-上篇」&& 后端工程师
「测试线排查的一些经验-上篇」&& 后端工程师
41 1
|
5月前
|
运维 测试技术
拆分软件测试流程,一张图秒杀所有面试
本文主要介绍了软件测试流程的核心内容,包括需求分析、测试用例编写、测试执行、缺陷提交及回归测试等关键步骤。以迭代测试为例,详细说明了每个环节的具体操作和注意事项,并提供了一张测试流程图以便理解。测试流程确保了软件质量,是面试中常见的考察点。
180 7
拆分软件测试流程,一张图秒杀所有面试
|
6月前
|
算法
测试工程师的技能升级:LeetCode算法挑战与职业成长
这篇文章通过作者亲身体验LeetCode算法题的过程,探讨了测试工程师学习算法的重要性,并强调了算法技能对于测试职业成长的必要性。
102 1
测试工程师的技能升级:LeetCode算法挑战与职业成长
|
6月前
|
网络协议 网络架构
OSPF邻居关系建立失败?揭秘网络工程师面试中最常见的难题,这些关键步骤你掌握了吗?网络配置的陷阱就在这里!
【8月更文挑战第19天】OSPF是网络工程中确保数据高效传输的关键协议。但常遇难题:路由器间无法建立OSPF邻居关系,影响网络稳定并成为面试热点。解决此问题需检查网络连通性(如使用`ping`),确认OSPF区域配置一致(通过`show running-config`),校准Hello与Dead计时器(配置`hello`和`dead`命令),及核查IP地址和子网掩码正确无误(使用`ip address`)。系统排查上述因素可确保OSPF稳定运行。
114 2
|
6月前
|
缓存 NoSQL Redis
一天五道Java面试题----第九天(简述MySQL中索引类型对数据库的性能的影响--------->缓存雪崩、缓存穿透、缓存击穿)
这篇文章是关于Java面试中可能会遇到的五个问题,包括MySQL索引类型及其对数据库性能的影响、Redis的RDB和AOF持久化机制、Redis的过期键删除策略、Redis的单线程模型为何高效,以及缓存雪崩、缓存穿透和缓存击穿的概念及其解决方案。
|
6月前
|
运维 测试技术
测试与开发问题之测试开发工程师与软件开发工程师和测试工程师如何区别
测试与开发问题之测试开发工程师与软件开发工程师和测试工程师如何区别
107 1