最近有童鞋找我问一些性能测试相关的问题,其中问的次数最多的,仍是面试性能测试岗位,通常会问哪些问题?html
我我的作过一段时间性能测试,年初也面试过几家公司的全职性能测试岗位,其中互联网医疗、物流、电商、金融行业的公司都有,企业规模大小兼具。前端
这篇博客,就将我面试时候遇到的问题整理一番,并附带其中一些问题的简略回答或相关资料,供你们参考。。。面试
面试岗位:性能测试工程师数据库
职位类型:全职缓存
面试问题:详见下文性能优化
1、基础篇服务器
一、较为完整的性能测试的流程架构
一个完整的性能测试流程负载均衡
二、性能测试的基础理论、常见术语框架
三、性能测试模型、类型
四、HTTP、TCP协议相关知识
五、链接池、线程相关知识
2、工具篇
一、Jmeter
①、Jmeter的工做原理是什么?
②、经常使用的元件、插件有哪些?各自的做用是什么?
③、几个典型的场景,如何基于jmeter设计测试脚本?
好比:参数化、关联、控制TPS、接口加密验签、阶梯式加压、集合点、检查点等;
④、是否会二次开发?若是会,怎么二次开发的(介绍大概过程和缘由)?
二、Loadrunner
三、其余开源/商业性能测试工具
好比:Ngrinder、Locust、Wrk、Artillery等;
四、前端、服务器、数据库性能监测工具
3、系统架构篇
一、服务集群
二、负载均衡
负载均衡原理、实现方式
三、容量规划
四、缓存应用
缓存原理、缓存优势、缓存命中、缓存穿透、多层缓存
四、分布式框架
分布式的特色、面临的挑战:CAP理论(数据一致性、服务可用性、分区容错性)
五、全链路压测
4、服务器&中间件篇
一、JVM
JVM原理、启动参数配置、堆栈原理、垃圾回收原理、OOM缘由和表现
二、Tomcat
配置、使用方法、启动参数配置
三、Nginx
配置、使用方法
四、Dubbo
服务注册、消息队列
五、RabbitMQ/Kafka
自己的特色、生产者、消费者如何管理
5、数据库篇
一、锁
二、索引
三、读写分离
四、分库分表
6、方案篇
一、设计性能测试方案须要考虑哪些问题?
时间成本、人力成本、环境&脚本可复用性、实现难度
二、针对某些状况,你会如何设计、优化方案?
7、案例篇
一、如何测试MQ?
二、压测中TPS上不去的缘由分析?
三、测试环境和生产环境服务器配好比何选择?
服务器配置版本保持一致,容量测试后等量代换、考虑边际递减效应、容灾方案
四、发现瓶颈,如何分析?
自上而下,从局部到总体,瓶颈分析粒度
五、如何准备测试数据?如何防止数据污染?
生产数据备份、数据隔离、测试数据落入影子库、挡板、mock
六、性能优化的常见方法
以上为我我的面试过程当中遇到的一些问题,固然面试遇到的问题限于企业类型、技术栈等各方面有所不一样,仅供参考。。。