[Zend权威认证试题讲解]第十二章 -调试与性能管理
作为一个开发者,无论你经验多么丰富,或者无论你多么努力,你的程序中总会有bug。这是生命中一个必然的部分,如同死亡与缴税(尽管并没有后面两个那么严重)。K"|*A ] MRi要想解决bug,首先要能找到bug。事实上,许多开发者花费了无数小时茫然得盯着代码,只是因为他们没有把程序的容错能力摆在首位。忽略了这个部分,那么期望一个没有bug的程序就是——不可能的。O4?0u#W0D&o XX
本章测试题将考察你对调试和性能管理相关知识的了解,以及如何用PHP做好这两件事。
:T|rDT;cL9?4p
问题
1.以下脚本如何用三元操作替代? ;f5fFd:X:@%uh2n&s
[code] rBxyV1yb'_:w
<?phpJ1C+h+lwU
if ($a < 10) {
if ($b > 11) { Kh5Rk7^5p
if ($c == 10 && $d != $c) {)V}2JIT
$x = 0;|0Cf:~e]t/WP(P
} else {*r ?Q)sn!}t
$x = 1;1G#s.~-^PBj
}[(J {| n1L!D-^
}
}
?>O yY6W&dX
}4Jk,_&T
[/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;1y#hskvg)ex1`R
C.$x = (($a < 10 && $b > 11) || ($c == 1 && $d != $c)) ? 0 : 1;T tK8}yVl_
D.$x = ($a < 10 && $b > 11 && $c == 1 && $d != $c) ? 1 : 0;5t^rX zUd
E.以上都不对 X9[B g\G}xj&z1K
5^x$h"y6q jJ0DT
2.有一个脚本由于要从远程获取数据,因而运行速度很慢,以下那种方法能对其进行优化?(双选)
m _4x6]I+R:xCc
A.安装操作码缓存(opcode cache)6D.G'b2|v,m0K
B.优化或者升级你的网络连接
C.添置更多的硬件
D.增加服务器的可用RAM2m(le/R6{6A~&s
E.使用连接缓存M1c*{3w ]zR M*s&e
0Y v(n;Rg
3.架设生产环境下的服务器时,需要做哪些步骤?(双选)
"M2U6Mg_[
A.关闭错误报告'Ajcql"\m:P
B.打开错误日志k)rcm7v
C.关闭错误日志;q0R9k0f@
D.关闭错误显示WI1[,e9G'o$HN1_
E.使用@抑错符
7s%H'c4XO7vst0EQ%^8W
4.______操作符能对操作数的数据类型进行严格的比较?0q6qEn h
o1LG"Kkd
答案:____________
5O^@| n jHWO
5.操作码缓存(opcode cache)能做什么?
J5S_:HN
A.把脚本编译成二进制对象,使它运行得更快
B.代替Zend引擎加快解释器的运行
C.缓存脚本输出以提高执行效率
D.缓存解析器产生的中间码,以提高运行效率
E.在内存中缓存脚本,减少从硬盘中读取的次数
?*v*RB1g-cGW[
Dfwfyj8K
6.以下哪些情况容易造成系统资源枯竭?(双选)?vi[5wB
x@"uec
A.RAM太小^vT,B;r;^K
B.使用了低带宽的连接;d e)mE-l
C.虚拟内存超过2GBf"h RMEf| o
D.允许同时运行太多的服务器进程0_f Y?-~`
E.以上都不对F7T7d j0y
i&c'B9d~
7.以下脚本缺了些什么?(双选) s]+r&kslu2f
[code]
<?php
$rs = database_query ("select * from mytable where id = " .
$my_id);,Vyk*Z!c.H$o
while ($a = database_get_data ($rs)) {2[l5UTUT w!fv.[
var_dump ($a);
}He%]uM
?> g ZMlyR9WWvq
[/code]/?8q3].b.a8f(q2u2dJ
A.参数出口(Parameter escapement)
B.输出格式化