(一) 性能测试
1. 如何理解TPS?
2. 如何理解线程调用?
3. 如何理解响应时间?
4. 如何理解性能建模?(可分类回答)
5. 如何理解响应时间、TPS曲线和用户之间的关系?
6. 在LoadRunner中为什么要设置思考时间和pacing?
(二) 应用服务器
1. 如何理解J2EE的系统架构?
2. 如何理解J2EE应用服务器的容器?
3. 如何理解内存泄露?如何定位JAVA类的应用的内存泄露?如何定位C语言编写的应用的内存泄露?
4. 如果用纯JAVA的应用调用J2EE应用服务器的容器资源会出现什么结果?需要如何维护容器资源?(说明原理即可)
5. 如何定位JAVA的方法调用消耗的时间?(不通过在源代码中加时间戳的方式)?
6. 如何定位C语言中的函数调用消耗的时间?
7. 如何监控J2EE应用服务器?(可以用一个具体的应用服务器做例子)
(三) 数据库
1. 如何理解数据库架构?(可以用一个数据库做例子)
2. SQL语句在数据库中的执行分成几步,每一步都做什么?(可以用一个数据库做例子)
3. 如何跟踪SQL的执行时间和内存的消耗?(可以用一个数据库做例子)
4. 如何监控数据库?监控能得到什么数据?(可以用一个数据库做例子)
5. 如何定位死锁问题?如何定位热块问题?如何监控日志切换?(可以用一个数据库做例子)
6. 有几种手段可以改变执行计划?(可以用一个数据库做例子)
操作系统
1. 如何判断CPU、内存、磁盘的瓶颈?
2. 如何理解CPU、内存、磁盘之间的关系?
3. 如何理解paging in/paging out?
4. 如何监控操作系统的资源?(可以用一个操作系统做例子)
5. 如何理解内存管理和线程调度?(可以用一个操作系统做例子)
6. 如何理解CSwitch?(可以用一个操作系统做例子)
7. 如何理解磁盘IO?(可以用一个操作系统做例子)
网络
1. 如何定位数据包的传输在网络上消耗的时间?
2. 如何理解纯路由和NAT的区别?
性能工具
1. 解释LoadRunner的工作原理。
2. 如何理解LoadRunner里的关联?
3. 如何理解性能压力工具?
4. 如何理解虚拟用户?(可以用一个工具做例子)
5. 如果理解业务到脚本的转化?(可以用一个工具做例子)
6. 如何做到业务统计数据到场景的转化?(可以用一个工具做例子)