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


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

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

    考察点:

    对项目的了解情况;

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

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

    参考答案:

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

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

    考察点:

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

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

    参考答案:

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

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

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

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

    参考答案:

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

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

    参考答案:

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

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

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

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

    考察点:

    工具的了解和掌握程度;

    参考答案:

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

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

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

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

    考察点:

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

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

    考察点:

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

    参考答案:

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

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

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

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

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

    考察点:

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

    参考答案:

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

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

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

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

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

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

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

    考察点:

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

    参考答案:

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

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

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

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

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

    考察点:

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

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

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

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

    现在我邀请你进入我们的软件测试学习交流群:746506216】,备注“入群”, 大家可以一起探讨交流软件测试,共同学习软件测试技术、面试等软件测试方方面面,还会有免费直播课,收获更多测试技巧,我们一起进阶Python自动化测试/测试开发,走向高薪之路。

    喜欢软件测试的小伙伴们,如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一 键三连哦!

    软件测试工程师自学教程:

    这才是2022最精细的自动化测试自学教程,我把它刷了无数遍才上岸字节跳动,做到涨薪20K【值得自学软件测试的人刷】

    接口性能测试 — 软件测试人必会618实战场景分析

    软件测试工程师月薪2W以上薪资必学技能 — Python接口自动化框架封装.

    美团面试真题_高级测试25K岗位面试 — 软件测试人都应该看看

    测试开发之全面剖析自动化测试平台 — 软件测试人的必经之路

    软件测试必会_Jmeter大厂实战 — 仅6步可实现接口自动化测试

    Jmeter实战讲解案例 — 软件测试人必会

    在这里插入图片描述

    在这里插入图片描述

  • 相关阅读:
    面经第5天
    HELP.md
    项目复盘模板
    一文1800字从0到1使用Python Flask实战构建Web应用
    基于STM32设计的老人防摔倒报警设备(OneNet)
    const修饰指针
    GET请求中传参List<String>的一些问题
    MySQL JDBC编程
    实战攻防演练-Linux写入ssh密钥,利用密钥登录
    10.31总结
  • 原文地址:https://blog.csdn.net/m0_67695717/article/details/126285803