(一) 应用服务器
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的区别?