(一) 性能测试

  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. 如何做到业务统计数据到场景的转化?(可以用一个工具做例子)