2026年测试工程师(性能测试方向)岗位技能考试题库含答案_第1页
2026年测试工程师(性能测试方向)岗位技能考试题库含答案_第2页
2026年测试工程师(性能测试方向)岗位技能考试题库含答案_第3页
2026年测试工程师(性能测试方向)岗位技能考试题库含答案_第4页
2026年测试工程师(性能测试方向)岗位技能考试题库含答案_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2026年测试工程师(性能测试方向)岗位技能考试题库含答案一、单项选择题(每题2分,共20分)1.在性能测试中,下列哪项指标最能直接反映用户感受到的“快慢”?A.吞吐量B.并发用户数C.90%响应时间D.CPU利用率答案:C解析:90%响应时间(P90)把最慢的那10%请求剔除,能真实反映绝大多数用户的等待体验,与主观“快慢”最贴近。2.使用JMeter进行分布式压测时,Controller与Slave之间默认通信端口是:A.1099B.4444C.8080D.6379答案:A解析:JMeter的RMI注册中心默认端口1099,Controller通过该端口发现Slave节点。3.某接口在100并发下TPS为800,平均响应时间250ms,若系统线性扩展,当并发提升到200,TPS与响应时间最可能变为:A.1600TPS,250msB.800TPS,500msC.1600TPS,500msD.800TPS,250ms答案:B解析:并发翻倍但TPS未提升,说明系统已达上限,排队效应使响应时间翻倍。4.在Linux中,用于实时查看进程级CPU使用率的命令是:A.iostat-x1B.pidstat-u1C.vmstat1D.sar-nDEV1答案:B解析:pidstat-u1每秒刷新一次,输出指定或全部进程的CPU占用。5.下列哪一项不是衡量内存泄漏的有效指标?A.堆内存使用率持续上升,FullGC后无法回收B.常驻内存(RSS)随时间线性增长C.页面交换(swap)量激增D.网络吞吐出现抖动答案:D解析:网络抖动与内存泄漏无直接因果关系,前三项均为典型泄漏信号。6.关于Grafana+Prometheus监控体系,下列说法错误的是:A.Prometheus采用Pull模型采集B.Grafana支持通过Alertmanager告警C.Prometheus的指标类型包含Counter、Gauge、Histogram、SummaryD.Grafana只能时序查询,不支持表格面板答案:D解析:Grafana支持表格、仪表盘、热力图等多种面板,D错误。7.在HTTP/2性能测试中,以下哪项特性最可能降低并发连接数?A.头部压缩B.多路复用C.服务器推送D.二进制分帧答案:B解析:多路复用使单TCP连接可承载多请求,显著降低连接数。8.使用wrk进行基准测试时,选项“-d30s-c100-t4”含义为:A.4线程,100连接,持续30秒B.100线程,4连接,持续30秒C.4线程,30连接,持续100秒D.30线程,100连接,持续4秒答案:A解析:-t线程数,-c连接数,-d持续时间。9.当数据库QPS突增导致连接池耗尽,最先应调整的参数是:A.innodb_buffer_pool_sizeB.max_connectionsC.thread_cache_sizeD.query_cache_size答案:B解析:连接池耗尽直接受max_connections限制,优先放宽。10.在Kubernetes中,用于限制Pod最大CPU用量的字段是:A.requests.cpuB.limits.cpuC.resources.cpu.maxD.cpu.quota答案:B解析:limits.cpu控制Pod可使用的CPU上限。二、多项选择题(每题3分,共15分)11.以下哪些做法可有效降低FullGC频率?A.增大新生代比例B.使用G1垃圾收集器并设置-XX:MaxGCPauseMillis=200C.降低对象进入老年代的年龄阈值D.对大对象采用内存池复用答案:A、B、D解析:降低年龄阈值会加快对象进入老年代,反而增加FullGC,C错误。12.关于TCP拥塞控制,下列算法中属于基于丢包的有:A.RenoB.CubicC.BBRD.Vegas答案:A、B解析:BBR基于带宽与RTT,Vegas基于RTT变化,均非丢包触发。13.以下哪些工具可直接生成火焰图?A.perfB.async-profilerC.jstackD.py-spy答案:A、B、D解析:jstack仅输出线程快照,无法直接生成火焰图。14.在微服务链路压测中,需要重点关注的“黄金指标”包括:A.延迟B.流量C.错误D.饱和度答案:A、B、C、D解析:GoogleSRE四大黄金指标全覆盖。15.使用Locust进行分布式压测时,正确操作有:A.启动Master节点加--master参数B.Slave节点需指定--slave与--master-hostC.Master负责生成负载流量D.可通过WebUI实时调整用户数答案:A、B、D解析:Master只协调不生成流量,C错误。三、判断题(每题1分,共10分)16.在同样并发下,异步非阻塞模型一定比多线程模型TPS高。答案:错解析:异步模型减少上下文切换,但若业务逻辑CPU密集,优势有限。17.MySQL的InnoDB引擎中,二级索引叶节点保存主键值,因此覆盖索引可减少回表。答案:对解析:覆盖索引让查询只扫描二级索引即可获得所需字段,避免回表。18.使用nginx做反向代理时,开启proxy_buffering会增大后端响应延迟。答案:错解析:开启buffering让nginx一次性接收后端响应,减少后端等待时间,降低延迟。19.在Linux中,swappiness=0表示禁用交换分区。答案:错解析:swappiness=0仅表示尽可能不交换,但内存耗尽时仍会触发。20.JVM参数-XX:+UseStringDeduplication可节省堆内存,但会增加CPU开销。答案:对解析:字符串去重需扫描堆,消耗额外CPU。21.在PromQL中,rate(http_requests_total[5m])会自动处理计数器重置。答案:对解析:rate函数内置Counter重置逻辑。22.当CPU使用率低于60%,可判定系统不存在性能瓶颈。答案:错解析:瓶颈可能出现在IO、锁、网络等,CPU低不代表无瓶颈。23.使用SSD替换机械硬盘后,随机I/O延迟一定下降。答案:对解析:SSD随机读写延迟远低于机械盘。24.HTTPKeep-Alive复用TCP连接,可减少三次握手开销。答案:对解析:Keep-Alive让多条请求共享连接,节省握手时间。25.在JMeter中,ConstantThroughputTimer可精确控制每分钟采样数。答案:对解析:该组件通过延迟线程达到目标吞吐量。四、填空题(每空2分,共20分)26.在Linux中,查看块设备延迟的常用工具是________,其指标await表示________。答案:iostat,平均每次设备I/O请求的等待时间(含排队与服务时间)。27.若JVM启动参数为-Xms2g-Xmx2g-XX:NewRatio=3,则老年代大小为________G。答案:1.5解析:NewRatio=3表示老年代:新生代=3:1,总堆2G,老年代占3/4。28.使用tcpdump抓包保存为文件后,可用________命令将文件转换为Wireshark可读的pcap格式。答案:tcpdump-rinput.cap-woutput.pcap(或editcap)29.在Prometheus中,指标名称只能包含字母、数字、下划线和________。答案:冒号30.若某系统CPU利用率为90%,其中%steal为20%,说明________资源不足。答案:虚拟化宿主机CPU31.当MySQL出现“Sortaborted”错误,最可能原因是________。答案:排序缓冲区太小或查询被kill32.在Kubernetes中,HorizontalPodAutoscaler依据的指标需通过________组件暴露。答案:metrics-server(或自定义Prometheusadapter)33.使用wrk2进行精确QPS压测时,需加参数________。答案:--rate34.在JMeterBeanshell脚本中,获取当前线程编号的方法是________。答案:ctx.getThreadNum()35.若Grafana面板中查询表达式为“up{job='node'}”,返回值为0,表示________。答案:该job下实例宕机或Prometheus无法抓取五、简答题(每题10分,共30分)36.描述一次完整的性能瓶颈定位流程,需包含指标收集、分析、验证三个环节,并给出具体命令或工具示例。答案:1)指标收集:a.业务指标:通过Prometheus+Grafana监控QPS、P99延迟、错误率;b.系统指标:node_exporter采集CPU、内存、磁盘IO、网络;c.应用指标:Java应用通过Micrometer暴露JVM、线程池、缓存命中率;d.中间件:MySQL使用mysqld_exporter,Redis使用redis_exporter。2)分析:a.发现P99延迟从100ms升至500ms,CPU仅50%,磁盘iostat显示util=98%,await=30ms,判定磁盘瓶颈;b.使用perfrecord-g-p<pid>生成火焰图,发现30%CPU消耗在gzip压缩;c.慢查询日志发现未命中索引,执行计划全表扫描。3)验证:a.对磁盘升级为SSD,await降至3ms,P99降至120ms;b.关闭gzip压缩,CPU降至30%,延迟再降20ms;c.添加联合索引,查询耗时从200ms降至10ms,TPS提升3倍。通过回归测试确认三板斧后,系统在高负载下保持P99<100ms,CPU<60%,磁盘util<30%,达成SLA。37.解释“Little’sLaw”并给出在性能测试中的两个实战用法。答案:Little’sLaw:系统中平均请求数N=平均到达速率λ×平均停留时间W。用法1:容量规划。已知目标TPS=1000,期望响应时间≤200ms,则系统内平均并发请求数N=1000×0.2=200,即可用200并发线程验证是否能达到1000TPS。用法2:验证测试有效性。若压测工具显示并发=500,TPS=1000,平均响应时间=2s,则N=λ×W→500=1000×0.5,与实测2s不符,说明测试环境或工具数据失真,需排查协调逻辑或资源限制。38.说明如何基于JMeter+InfluxDB+Grafana搭建实时性能看板,并给出关键配置片段。答案:1)搭建InfluxDB:dockerrun-d-p8086:8086influxdb:1.8创建数据库:curl-i-XPOSThttp://localhost:8086/query--data-urlencode"q=CREATEDATABASEjmeter"2)JMeter后端监听器配置:<BackendListenerclass="BackendListenerClient"><elementPropname="influxdbMetricsSender"elementType="Argument"><stringPropname="A">influxdbMetricsSender</stringProp><stringPropname="Argument.value">org.apache.jmeter.visualizers.backend.influxdb.InfluxdbBackendListenerClient</stringProp></elementProp><stringPropname="influxdbUrl">http://localhost:8086/write?db=jmeter</stringProp><stringPropname="application">orderService</stringProp><stringPropname="measurement">jmeter</stringProp></BackendListener>3)Grafana导入模板ID5496,配置InfluxDB数据源,关键指标:QPS:SELECTSUM("count")FROM"jmeter"WHERE"application"='orderService'ANDtiP99:SELECTPERCENTILE("pct99.9",99)FROM"jmeter"WHERE$timeFilter4)启动JMeter脚本,Grafana实时刷新,实现秒级监控。六、综合设计题(25分)39.某电商公司计划在2026年“618”大促支撑峰值订单量10万单/分钟,订单创建链路包含:网关(Nginx)→订单微服务(Java)→库存微服务(Java)→缓存(RedisCluster)→消息队列(Kafka)→数据库(MySQL8.0主从)。请给出全链路性能测试方案,要求:1)计算各组件峰值QPS;2)设计压测模型(并发、吞吐量、数据量);3)制定监控与告警方案;4)给出容量评估与弹性伸缩策略;5)列出风险预案。答案:1)峰值QPS计算:订单创建接口:10万单/分钟≈1667TPS,考虑读写放大,库存扣减、缓存查询、消息写入各需调用1次,总计链路QPS≈1667×3=5000TPS。网关层需承载静态资源、页面刷新,按历史比例1:10,约1.7万TPS。2)压测模型:并发模型:采用RPS模式,按阶梯步长500TPS/5min,目标峰值6000TPS,持续30min。数据量:提前预埋1000万SKU,库存随机1~100,用户Token200万,订单号雪花算法。参数化:用户ID、SKU、收货地址均CSV随机取样,避免热点。压测工具:网关层用wrk2保持精确RPS,微服务层用JMeter+KubernetesJob分布式压测,Kafka使用kafka-producer

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论