首页 > 其他分享 >高级性能测试工程师面试必问十大问题

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

时间:2023-03-21 10:35:13浏览次数:40  
标签:分析 必问 工程师 性能 XXX 面试 测试 考察点 参考答案

转载:https://www.cnblogs.com/imyalost/p/16423676.html

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

 

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

考察点:

    • 对项目的了解情况;
    • 需求分析和场景设计思路;
    • 问题分析思路及优化验证手段;

参考答案:

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

 

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

考察点:

    1. 对业务迭代是否足够了解;
    2. 对项目质量把控和评估分析的能力;

参考答案:

    1. 这个问题要根据项目类型和具体情况来分析,以我公司为例,日常的迭代频次是XXX,一般我在XXX阶段介入性能测试,原因为XXX,这样做的好处是XXX;
    2. 如果是独立项目或者倒排期项目,那我认为应该在XXX阶段介入,这样做的原因为XXX,好处为XXX;
    3. 还有针对性能测试体系建设不太好的团队,我建议先从XXX做起,然后XXX,尽可能保证质量和投入成本平衡;

 

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

参考答案:

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

 

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

参考答案:

    1. 该应用的线上配置(几核几G);
    2. 上线后要承接的流量大小;
    3. 该应用的业务类型(读写缓存还是DB);

 

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

考察点:

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

参考答案:

    1. 监控工具我常用的是zabbix/Prometheus/grafana/skywalking,分别用他们来查看XXX指标;
    2. 分析工具我常用的是arthas,jvm自带的命令分析工具,分别用他们来进行XXX分析;
    3. 我还了解和自己研究过XXX工具,发现它的特点很适合XXX类型的问题分析和排查;

 

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

考察点:

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

 

7、如何排查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;

 

8、介绍下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情况下会影响性能表现;

 

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

考察点:

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

参考答案:

    1. 首先要快速解决消息积压问题,比如加大consumer数量,消费频次;
    2. 如果消息太多评估是否丢弃消息或者重启MQ;
    3. 保留日志,线上业务止血后快速排查问题出现的原因,是否有其他类似场景存在同样问题;
    4. 组织复盘,评估后续优化方案,及时跟进落地优化的进度和效果;

 

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

考察点:

    1. 是否有完整的性能测试技术体系总结;
    2. 根据实际情况的分析和落地执行能力;
    3. 是否注重团队配合、成员培养和质量把控能力;

 

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

 

标签:分析,必问,工程师,性能,XXX,面试,测试,考察点,参考答案
From: https://www.cnblogs.com/ceshi2016/p/17239022.html

相关文章

  • SpringCloud——springcloud大厂面试问题
    摘要 毫无疑问,SpringCloud是目前微服务架构领域的翘楚,无数的书籍博客都在讲解这个技术。不过大多数讲解还停留在对SpringCloud功能使用的层面,其底层的很多原理,很多人可......
  • 围绕 Spring AOP 能提出哪些面试问题?
    AOP是什么?与OOP对比,AOP是面向切面编程。传统OOP开发中,代码逻辑是至上而下的,过程中会出现一些横切性问题,这些横切性的问题和我们的主业务逻辑关系散落在代码的各个地方,造成......
  • 2万字70道Java经典面试题总结(附答案)
    本文已经收录到Github仓库,该仓库包含计算机基础、Java基础、多线程、JVM、数据库、Redis、Spring、Mybatis、SpringMVC、SpringBoot、分布式、微服务、设计模式、架构、校......
  • redis面试相关
    1缓存雪崩在同一时间类,缓存大部分失效,导致数据库并发压力过大场景:应用启动时,没有进行缓存;所有缓存都设置的是同一时间;缓存服务挂掉了缓存预热: 是在应用......
  • #yyds干货盘点# LeetCode面试题:螺旋矩阵
    1.简述:给你一个m行n列的矩阵 matrix,请按照顺时针螺旋顺序,返回矩阵中的所有元素。 示例1:输入:matrix=[[1,2,3],[4,5,6],[7,8,9]]输出:[1,2,3,6,9,8,7,4,5]示例2:输......
  • 多线程面试——CountDownLatch,CyclicBarrier,Semaphore
    0.总结1.CountDownLatch是1个线程等待其他线程,CyclicBarrier是多个线程相互等待;2.CountDownLatch是计数-1,直到减为0,CyclicBarrier是计数+1,直到达到指定值;3.CountDownLatch......
  • 面试高频问题之C++11新特性
    背景C++11是C++语言的一个重大更新,引入了许多新特性,包括自动类型推导、lambda表达式、右值引用、智能指针等等。这些新特性使得C++更加现代化、高效、易用。也是面试容很容......
  • 面试高频问题之C++11新特性
    背景C++11是C++语言的一个重大更新,引入了许多新特性,包括自动类型推导、lambda表达式、右值引用、智能指针等等。这些新特性使得C++更加现代化、高效、易用。也是面试容很......
  • golang面试题单向链表和双向链表
    甲流难受中,简单发一个链表 1.单项列表packagemainimport( "fmt" "strconv")typeNodestruct{ valueint next*Node}typeLinkliststruct{ leni......
  • 字节面试官心声:个个都说会自动化,结果面试一问细节全露馅了
     今年部门要招三个自动化测试,年前我面试了几十位候选人。发现一个很奇怪的现象,面试中一问到元素定位、框架api、脚本编写之类的,很多候选人都对答如流。但是一问到实际项......