[Zend权威认证试题讲解]第十二章 -调试与性能管理
作为一个开发者,无论你经验多么丰富,或者无论你多么努力,你的程序中总会有bug。这是生命中一个必然的部分,如同死亡与缴税(尽管并没有后面两个那么严重)。U5DD1U5N w1j要想解决bug,首先要能找到bug。事实上,许多开发者花费了无数小时茫然得盯着代码,只是因为他们没有把程序的容错能力摆在首位。忽略了这个部分,那么期望一个没有bug的程序就是——不可能的。dmd/S;If
本章测试题将考察你对调试和性能管理相关知识的了解,以及如何用PHP做好这两件事。
/\*Ju;A7s
问题
B*yU0w"y*v7QQ6zo/xj$q
1.以下脚本如何用三元操作替代? 3Yi+F2GRo2n
[code]
<?php
if ($a < 10) {
if ($b > 11) {.E1cj+kL"[3A1T
if ($c == 10 && $d != $c) {$R@fw2n4K
$x = 0;
} else {5F$iWV5L}*g7l4X
$x = 1;
}
}
}
?>nR7ZRc+pX#y%a
1I.^1f\-eD*W+vS
[/code],^@,fW(j5F
A.$x = ($a A. < 10 || $b > 11 || $c == 1 && $d != $c) ? 0 : 1;
B.$x = ($a < 10 || $b > 11 || ($c == 1 && $d != $c)) ? 0 : 1;y;RH!X)i\P9~
C.$x = (($a < 10 && $b > 11) || ($c == 1 && $d != $c)) ? 0 : 1;
D.$x = ($a < 10 && $b > 11 && $c == 1 && $d != $c) ? 1 : 0;cN?)a1FZ Ra
E.以上都不对
QHg fUb
2.有一个脚本由于要从远程获取数据,因而运行速度很慢,以下那种方法能对其进行优化?(双选)
A.安装操作码缓存(opcode cache)
B.优化或者升级你的网络连接
C.添置更多的硬件1c5lMW9d
D.增加服务器的可用RAM
E.使用连接缓存|#l-q@q7\EbA
4GgYV5A0s+vow
3.架设生产环境下的服务器时,需要做哪些步骤?(双选)
A.关闭错误报告
B.打开错误日志
C.关闭错误日志
D.关闭错误显示
E.使用@抑错符%D&~0D{bp?2b y%{
YgfY:k!O
4.______操作符能对操作数的数据类型进行严格的比较?
K*t(}BU)b
答案:____________,O&x3y3G^[
tC&Konh
5.操作码缓存(opcode cache)能做什么?*G:A,J5V bns*{
i V|2e8q2bI?
A.把脚本编译成二进制对象,使它运行得更快u$C mii
B.代替Zend引擎加快解释器的运行
C.缓存脚本输出以提高执行效率
D.缓存解析器产生的中间码,以提高运行效率
E.在内存中缓存脚本,减少从硬盘中读取的次数
V7_)uuz?!Lp
6.以下哪些情况容易造成系统资源枯竭?(双选))E ~.\&akm*ZQF5i
_ [1u/kgI
A.RAM太小
B.使用了低带宽的连接
C.虚拟内存超过2GB
D.允许同时运行太多的服务器进程:N+dd#S@ u.x
E.以上都不对+{lRg2L1K4p
bZ8i,W[!kc6WN?v$[
:T&Nk3X%OjE
7.以下脚本缺了些什么?(双选)
[code] 8c'y0v#r$c.H|F
<?php4V!I \c(b],H O
$rs = database_query ("select * from mytable where id = " .
$my_id);K dH |iM&V`3I
while ($a = database_get_data ($rs)) {
var_dump ($a);5?Pe8e H
}
?>
[/code]'{&[M3ht/cs5q
A.参数出口(Parameter escapement)