写点什么

高级性能测试工程师面试必问十大问题

作者:老张
  • 2022 年 6 月 29 日
  • 本文字数:1500 字

    阅读完需:约 5 分钟

高级性能测试工程师面试必问十大问题

昨天一个前同事找我,问有没有性能测试岗位的面试题,正好之前帮业务团队加面过几次性能测试岗位的候选人,我将面试时候会问的一些问题以及要考察的点列了出来,供大家参考。


  1. 介绍下最近做过的项目,背景、预期指标、系统架构、场景设计及遇到的性能问题,定位分析及优化;

考察点:

  1. 对项目的了解情况;

  2. 需求分析和场景设计思路;

  3. 问题分析思路及优化验证手段;

参考答案:

  1. 最近做了一个 XXX 项目,背景是老服务重构,预期指标是在原有系统基础上性能提升 3 倍,架构设计是 XXX。针对这个项目我梳理了核心应用和接口有 XXX 个,对应的场景有 XXX,我的压测策略是 XXX。测试过程中发现了 XXX 问题,问题表现是 XXX,通过 XXX(日志、工具)分析原因为 XXX,最终优化策略是 XXX,优化后结果为 XXX。


  1. 项目处于什么阶段适合性能测试介入,原因是什么?

考察点:

  1. 对业务迭代是否足够了解;

  2. 对项目质量把控和评估分析的能力;

参考答案:

  1. 这个问题要根据项目类型和具体情况来分析,以我公司为例,日常的迭代频次是 XXX,一般我在 XXX 阶段介入性能测试,原因为 XXX,这样做的好处是 XXX;

  2. 如果是独立项目或者倒排期项目,那我认为应该在 XXX 阶段介入,这样做的原因为 XXX,好处为 XXX;

  3. 还有针对性能测试体系建设不太好的团队,我建议先从 XXX 做起,然后 XXX,尽可能保证质量和投入成本平衡;


  1. 性能测试场景设计要考虑哪些因素?

参考答案:

  1. 业务模型,流量模型,数据模型,调用关系等;


  1. 对于一个新开发的应用,上线前需要做性能测试,你会考虑哪些因素?

参考答案:

  1. 该应用的线上配置(几核几 G);

  2. 上线后要承接的流量大小;

  3. 该应用的业务类型(读写缓存还是 DB);


  1. 介绍下你在工作中使用过的监控和分析工具,各自有什么特点?

考察点:

  1. 工具的了解和掌握程度;

参考答案:

  1. 监控工具我常用的是 zabbix/Prometheus/grafana/skywalking,分别用他们来查看 XXX 指标;

  2. 分析工具我常用的是 arthas,jvm 自带的命令分析工具,分别用他们来进行 XXX 分析;

  3. 我还了解和自己研究过 XXX 工具,发现它的特点很适合 XXX 类型的问题分析和排查;


  1. 了解过全链路压测吗?阐述一下你的理解或者实践经验;

考察点:

  1. 是否对业内比较前沿的技术有了解和实践;


  1. 如何排查 CPU 耗用比较多的线程方法;

考察点:

  1. 考察对 Linux 的命令熟悉程度;

参考答案:

  1. top 命令:找到 CPU%最高的进程 PID;

  2. top -H -p pid:查看进程下的线程,找到资源耗用率最高的线程 pid;

  3. shell 命令:printf ”%x\n“ pid(%x,表示 十六进制,\n 是换行);

  4. jstack 分析:jstack pid (十六进制) 1> xxx.tmp;


  1. 介绍下 JVM 堆内存的结构,YGC,FGC 的原理是什么?

考察点:

  1. 对 JVM 原理和常见的影响性能的因素理解程度;

参考答案:

  1. JVM 堆内存主要分为新生代(Young Gen)、老年代(Tenured Gen)、持久代(Perm Gen);

  2. 新生代划分为伊甸区(Eden)、幸存区 from 区(Servivor from)、幸存区 to 区(To Servivor);

  3. 老年代的特点是占用内存大,垃圾回收操作频率低;

  4. 持久代主要存放类定义、字节码和常量等很少会变更的信息;

  5. YGC 的原理是 XXX,FGC 的原理是 XXX;

  6. 一般 FGC 在 XXX 情况下会影响性能表现;


  1. 线上系统出现了 MQ 的消息积压,这个时候应该怎么做?

考察点:

  1. 是否有线上异常容灾处理经验;

参考答案:

  1. 首先要快速解决消息积压问题,比如加大 consumer 数量,消费频次;

  2. 如果消息太多评估是否丢弃消息或者重启 MQ;

  3. 保留日志,线上业务止血后快速排查问题出现的原因,是否有其他类似场景存在同样问题;

  4. 组织复盘,评估后续优化方案,及时跟进落地优化的进度和效果;


  1. 如果让你负责团队的性能测试,你会从哪方面考虑和开展工作?

考察点:

  1. 是否有完整的性能测试技术体系总结;

  2. 根据实际情况的分析和落地执行能力;

  3. 是否注重团队配合、成员培养和质量把控能力;


以上就是我在面试性能测试岗位候选人经常问到的一些问题,仅供大家参考。

发布于: 刚刚阅读数: 4
用户头像

老张

关注

读书、思辨、审慎。 2019.12.02 加入

专注于性能优化、全链路压测、稳定性治理。 公众号:老张的求知思考世界 博客园:https://www.cnblogs.com/imyalost/

评论

发布
暂无评论
高级性能测试工程师面试必问十大问题_性能测试_老张_InfoQ写作社区