57

性能测试工程师,面试都问什么? - 老_张 - 博客园

 4 years ago
source link: https://www.cnblogs.com/imyalost/p/11306274.html?
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

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

大概去年这个时候,写过一篇博客:性能测试岗位常见面试题。当时是出于一个求职者的角度,对自己遇到的一些性能岗位面试问题进行了整理归纳。

最近这一年,对性能测试有了更多的认知,也做了大半年性能团队的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、加入我司,上面的几点都可以得到☺☺☺

此处插入一则招聘广告,我司招人啦:高级性能测试工程师

如感兴趣,可私信联系我内推或者BOSS投递简历。。。

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


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK