[Zend权威认证试题讲解]第十二章 -调试与性能管理
作为一个开发者,无论你经验多么丰富,或者无论你多么努力,你的程序中总会有bug。这是生命中一个必然的部分,如同死亡与缴税(尽管并没有后面两个那么严重)。(oIK&U#p0i#mI要想解决bug,首先要能找到bug。事实上,许多开发者花费了无数小时茫然得盯着代码,只是因为他们没有把程序的容错能力摆在首位。忽略了这个部分,那么期望一个没有bug的程序就是——不可能的。
本章测试题将考察你对调试和性能管理相关知识的了解,以及如何用PHP做好这两件事。
!F]7@'\|9Z x
问题
5I,Kx8o j JG
1.以下脚本如何用三元操作替代? {r3{vgT
[code]
<?php1MI'D5^(xQmx
if ($a < 10) {'|tyZB|
if ($b > 11) {
if ($c == 10 && $d != $c) { fH:}"`+?Sq&Oh
$x = 0;H2Xr@W.fW,Rb%c
} else {
$x = 1;
}y}*H|(V Ob7|k
}gY$R&fo4K n d
}
?>
[/code]z'CX$N{RC/A
A.$x = ($a A. < 10 || $b > 11 || $c == 1 && $d != $c) ? 0 : 1;b&`xf3x^&{7u
B.$x = ($a < 10 || $b > 11 || ($c == 1 && $d != $c)) ? 0 : 1;"U,g` `/L&[W_NM*c.`
C.$x = (($a < 10 && $b > 11) || ($c == 1 && $d != $c)) ? 0 : 1;
D.$x = ($a < 10 && $b > 11 && $c == 1 && $d != $c) ? 1 : 0;
E.以上都不对8Z.q4k3p-W8qc\ A
I7Q}q4O v$y/e0P(N
P2w[ iI6u+Nr
2.有一个脚本由于要从远程获取数据,因而运行速度很慢,以下那种方法能对其进行优化?(双选)
7^9Ti8BL
A.安装操作码缓存(opcode cache)/iPf9`9j k
B.优化或者升级你的网络连接P~(rP ksw&}nc
C.添置更多的硬件
D.增加服务器的可用RAMP w`Mun]+t x(V
E.使用连接缓存+d[&FL+Dg^ x
3.架设生产环境下的服务器时,需要做哪些步骤?(双选)'n? `x9SL2V
A.关闭错误报告;h"wH(Rv
B.打开错误日志
C.关闭错误日志-q\\ wKF.cn a
D.关闭错误显示
E.使用@抑错符4C5XHe M
P FpBk)J@
-hf ShWX!P N"M,c$L:fA
4.______操作符能对操作数的数据类型进行严格的比较?
答案:____________m,Ymq$G X
%Di7Sc'X+Wg#e_
5.操作码缓存(opcode cache)能做什么?
7z-q-i1C pcV
A.把脚本编译成二进制对象,使它运行得更快
B.代替Zend引擎加快解释器的运行"DZ+F `~&DE
C.缓存脚本输出以提高执行效率t/v~P/nQA
D.缓存解析器产生的中间码,以提高运行效率!GEj Z!h?
E.在内存中缓存脚本,减少从硬盘中读取的次数
6.以下哪些情况容易造成系统资源枯竭?(双选)"qmu:q7Z1ie[;q
"d9l5E#y8}:GbC
A.RAM太小\G7[T7t0Xk
B.使用了低带宽的连接&fx'g!M'lSK
C.虚拟内存超过2GB a _7d/S q _
D.允许同时运行太多的服务器进程]N$a2B+l%].Y]D
E.以上都不对3dEL1x6E9Jyq,H w$F]
;M6q%j]+e n:x
7.以下脚本缺了些什么?(双选) m Ymp(GJ
[code] )V'n9dv@ g.~?9Yd
<?php
$rs = database_query ("select * from mytable where id = " .i#U.q,M,M9S,Kd
$my_id);
while ($a = database_get_data ($rs)) {
var_dump ($a);SCNV-t-iCK Z
}
?>)A[3Y;plT2?4s\l
[/code]
A.参数出口(Parameter escapement)
B.输出格式化
C.错误检查~^+N#s"O8a R/V
D.一个SQL查询
E.以上都不对
{,M d3fV!Pp
8.以下那种错误类型无法被自定义的错误处理器捕捉到?(双选)
R ]a-DnUz"H
A.E_WARNING
B.E_ERROR
C.E_USER_ERROR~w{'~/epf
D.E_PARSE