[Zend权威认证试题讲解]第十二章 -调试与性能管理
作为一个开发者,无论你经验多么丰富,或者无论你多么努力,你的程序中总会有bug。这是生命中一个必然的部分,如同死亡与缴税(尽管并没有后面两个那么严重)。6_,YwGA5q$J$p_#U要想解决bug,首先要能找到bug。事实上,许多开发者花费了无数小时茫然得盯着代码,只是因为他们没有把程序的容错能力摆在首位。忽略了这个部分,那么期望一个没有bug的程序就是——不可能的。rZ ^6a3n%H:Uv;M!g
本章测试题将考察你对调试和性能管理相关知识的了解,以及如何用PHP做好这两件事。-Tp'Khui(n
i1BUH%Q7k'MG"D
问题
#`1P w8wdv2]J~~0~
1.以下脚本如何用三元操作替代? `5\uVO/_b0]f
[code]
<?php u*Ln7T;f*Z-u.}
if ($a < 10) {
if ($b > 11) {%Alx:Q{Z&O
if ($c == 10 && $d != $c) {
$x = 0;"q?s5}7[&@b
} else {
$x = 1;
}
}
}i@9PLg b
?>,Fz1`ZKr|
[/code]
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;2B9N_MBWS
C.$x = (($a < 10 && $b > 11) || ($c == 1 && $d != $c)) ? 0 : 1;
D.$x = ($a < 10 && $b > 11 && $c == 1 && $d != $c) ? 1 : 0;sy&i4jLK9t
E.以上都不对fi`/uE['l|^
OaWH,F)w
,n2c FaO ]
2.有一个脚本由于要从远程获取数据,因而运行速度很慢,以下那种方法能对其进行优化?(双选)
2l%X| x"Ty
A.安装操作码缓存(opcode cache)v#qLF.G`
B.优化或者升级你的网络连接
C.添置更多的硬件
D.增加服务器的可用RAM
E.使用连接缓存^ k1YCO2wl
3.架设生产环境下的服务器时,需要做哪些步骤?(双选) e |'M;i @puN4P
A.关闭错误报告)`/Yo'h4IR1g'^
B.打开错误日志
C.关闭错误日志
D.关闭错误显示
E.使用@抑错符9PD2A&D2yy!f!S]
4.______操作符能对操作数的数据类型进行严格的比较?#j5f5iB ^#\.AW
答案:____________
5.操作码缓存(opcode cache)能做什么?
A.把脚本编译成二进制对象,使它运行得更快
B.代替Zend引擎加快解释器的运行
C.缓存脚本输出以提高执行效率+oiP-JO YJL?!\
D.缓存解析器产生的中间码,以提高运行效率
E.在内存中缓存脚本,减少从硬盘中读取的次数3?H1s`.pc,L
6s#Z ] p4a'BVy1S
6.以下哪些情况容易造成系统资源枯竭?(双选)"R-HDMi|b*^
A.RAM太小
B.使用了低带宽的连接
C.虚拟内存超过2GBO1q_6Rqj
D.允许同时运行太多的服务器进程bHI"bL0^8K:V)u%qd
E.以上都不对'kt0lL!T jzn^
:sC.H:I-@9]3z)` ye
7.以下脚本缺了些什么?(双选)
[code]
<?phpJ qR9O8e.t1?
$rs = database_query ("select * from mytable where id = " .!x}#Jk[r
$my_id);8O:LUDR@ K
while ($a = database_get_data ($rs)) {
var_dump ($a);&Qn0R]k5h
}
?>'C|2Sv,CU
[/code]
A.参数出口(Parameter escapement)
B.输出格式化0^'u2lG,t
C.错误检查&S"a}oa0Y
D.一个SQL查询6T1k(PKrg ?-g
E.以上都不对i*M?4~Tw-v8ff
4wdZkvw$}4K
8.以下那种错误类型无法被自定义的错误处理器捕捉到?(双选)