- 進(jìn)制運算
可以是讓他模擬一些簡單的字符串函數(shù)蝌以,類似 bin2hex先馆、base_convert、base64_encode框咙,或者單純的咕痛,讓他手動算一下 7 進(jìn)制的 54321 顯示為 9 進(jìn)制是多少。
應(yīng)該高中或者之前就能接觸到 2 進(jìn)制 10 進(jìn)制之間的換算了吧扁耐,當(dāng)然暇检,他當(dāng)時很可能沒聽懂。通常的情況婉称,如果以前沒留意這個問題但有理解能力的块仆,可能能在幾分鐘的做出一些成功不成功的嘗試。至少不應(yīng)該很茫然王暗。最糟糕的情況悔据,連整數(shù)的最大值是多少都不知道,那就算了俗壹。
- 描述一下常見的關(guān)于讀取文件內(nèi)容的操作科汗,及各自的特點
應(yīng)該不用遲疑太久就把 file、fopen绷雏、file_get_contents头滔、readfile 列出來。表現(xiàn)好點還可以提下 readfile 的流式讀取不占內(nèi)存之類的涎显。如果看的教材太老坤检,可能只會說 fopen。最糟糕的辯解是不說跟數(shù)據(jù)庫打交道比較多期吓,文件操作沒怎么接觸過早歇,完全無視文件靜態(tài)化的存在。
- 怎么模擬一個 POST 表單提交
答 socket 或者 cURL 都可以讨勤。
- 列舉一些常規(guī)優(yōu)化方式
正確索引(就不強求完全理解多列索引了箭跳,最好能知道每個查詢只能用到一個索引),知道索引提高查詢速度潭千、降低插入速度谱姓。正確的字段類型(能知道 char 和 varchar 的區(qū)別和優(yōu)缺點)。text 類字段可以單放一個表用主鍵關(guān)聯(lián)刨晴∈哦危總之他能說的越多越好。順便問問他他所知道的最大處理能力是每秒多少條割捅,哪怕是測試環(huán)境里的 benchmarking(今天看到份簡歷,號稱三年工作經(jīng)驗帚桩,將半個月三萬條插入形容為他所遇到的最高的負(fù)載亿驾,寫在簡歷的醒目位置)。
- “你知道账嚎,把時間存在數(shù)據(jù)庫里有兩種方法莫瞬,一種是用時間戳儡蔓,就是 PHP 函數(shù) time() 產(chǎn)生的那種整數(shù),另一種是 MySQL 里字段類型設(shè)成 datetime疼邀。那么喂江,為什么一定要后一種方式?”
最簡單的一個例子旁振,如果存的是時間戳获询,你無法按類似“所有周三的數(shù)據(jù)”這種方式顯示內(nèi)容。這表明了他的學(xué)習(xí)階段:是否接觸了類似日志分析類的東西拐袜。因為這些是早晚都要接觸到的吉嚣。
- 簡單聯(lián)表查詢
有這么兩個表
user 表:
id name
1 張三
2 李四
3 王五
4 趙六
apple 表:
id user number
1 1 5
2 3 3
3 1 8
4 4 6
5 3 2
6 4 2
apple 表的 user 字段跟 user 表的 id 對應(yīng),一條 SQL 語句查出每個人都有多少蘋果
如果他不知道 join蹬铺,可能會這么寫
SELECT user.name, SUM(apple.number) FROM user, apple WHERE user.id = apple.user GROUP BY user.id
正確答案應(yīng)該是這樣
SELECT user.name, SUM(apple.number) FROM user LEFT JOIN apple ON user.id = apple.user GROUP BY id
這兩條語句的差別是尝哆,不用 join 無法顯示出李四有 0 個蘋果 -_-
- 假設(shè)我們要做一個公交系統(tǒng)的常見服務(wù),就是做查公交車怎么倒車的甜攀。假設(shè)完全由你自己來搞秋泄,我只關(guān)心最后結(jié)果,你會怎么做這個項目规阀。說的越詳細(xì)越好恒序。
可能需要不斷提示±蚜玻考查一個人的做事能力奸焙,比方說他首先會想到需要數(shù)據(jù),數(shù)據(jù)庫應(yīng)該怎么設(shè)計彤敛,有幾個表与帆,什么樣的字段。
可以加分的地方可以有這么幾個點墨榄。給站名編 id玄糟,匹配數(shù)字的速度要遠(yuǎn)大于匹配字符串。站點之間要距離的數(shù)據(jù)袄秩,這樣計算最優(yōu)倒車路線應(yīng)該能考慮到站數(shù)阵翎,倒車次數(shù)、距離等權(quán)值之剧。如果很有遠(yuǎn)見郭卫,任意兩點之間的數(shù)據(jù)應(yīng)該是提前算好的,比方說有 200 條公交線路和 2000 個站點背稼,始發(fā)終點的組合可能是 2000 * 1000贰军,每種線路可能有 1 - 6 種方案,有個表是來裝這近一千萬行結(jié)果的蟹肘,如果有線路變化词疼,再用本地的機器重新算一遍線路俯树。這樣整個系統(tǒng)才有實用價值。不然可能每次查詢都需要耗費數(shù)秒或者更長時間贰盗,只能當(dāng)單機軟件用许饿。
這些題本身是交流的話題,而不是“做對 5 道以上我就招你”這種門檻舵盈。我面試時每道題都會給予充分的時間陋率,如果他做不上來,也起碼能判斷他的思考方式书释,而忌諱說“如果你不知道就明說翘贮,咱們趕緊做下一題”。同時也能觀察出性格等方面爆惧。比方說第 6 題狸页,有人把 SUM 寫成 COUNT,我就問他你看看前面寫的是否有問題扯再,同時又怕太明顯芍耘,又補充一句“也可能什么錯誤也沒有、我在誤導(dǎo)你熄阻,你自己判斷”斋竞,于是他就不再理會、繼續(xù)接著寫完整個 SQL秃殉。再綜合他的其他一些表現(xiàn)坝初,我的結(jié)論是此人主見極強的,我不會用钾军。屬于出了 BUG 第一念頭是 BUG 在解釋器上鳄袍、做出來的程序跟產(chǎn)品需求不符時會說是你產(chǎn)品沒說明白的那種。相反吏恭,我很欣賞那些在做完第一道題的 7 進(jìn)制轉(zhuǎn)換后還知道驗算的拗小,因為既然是筆算就很容易出錯。我覺得這種人思考嚴(yán)謹(jǐn)樱哼、負(fù)責(zé)任哀九。
其他的一些知識,比方說 memcache搅幅、SVN阅束、單元測試這些,都屬于經(jīng)驗問題茄唐,應(yīng)屆生很少需要接觸到這些東西(甚至文件靜態(tài)化也很少碰到)息裸,不像上面,我需要以此來判斷面試者對編程是否已經(jīng)入門。
還是在 ngacn 上看到的一句話界牡,團隊需要兩種人,要么 NB 的漾抬,要么聽話的宿亡。
一、PHP基礎(chǔ)
題目1:表單中 get與post提交方法的區(qū)別?
題目2:在HTTP 1.0中纳令,狀態(tài)碼401的含義是(?);如果返回“找不到文件”的提示挽荠,則可用 header 函數(shù),其語句為(?);
題目3:session與cookie的區(qū)別?
題目4:如何用php的環(huán)境變量得到一個網(wǎng)頁地址的內(nèi)容平绩?ip地址又要怎樣得到圈匆?
題目5:語句 include 和 require 都能把另外一個文件包含到當(dāng)前文件中,它們的區(qū)別是(捏雌?)跃赚;為了避免多次包含同一文件,可以用語句(性湿?)來代替它們纬傲。
題目6:類的屬性可以序列化后保存到 session 中,從而以后可以恢復(fù)整個類肤频,這要用到的函數(shù)是(叹括?)。
二宵荒、PHP進(jìn)階
題目1汁雷、請說明在php.ini中safe_mode開啟之后對于PHP系統(tǒng)函數(shù)的影響?
題目2:你用什么方法檢查PHP腳本的執(zhí)行效率(通常是腳本執(zhí)行時間)和數(shù)據(jù)庫SQL的效率(通常是數(shù)據(jù)庫Query時間)报咳,并定位和分析腳本執(zhí)行和數(shù)據(jù)庫查詢的瓶頸所在侠讯?
題目3:請簡述項目中優(yōu)化sql語句執(zhí)行效率的方法,從哪些方面,sql語句性能如何分析?
三、考察項目理解能力
問題1:請談?wù)勀銓T項目開發(fā)實施的理解少孝,以及自己如何這個過程中把工作做得最好继低?
四、考察需求詳細(xì)設(shè)計能力
問題1:請談?wù)勀銓κ裁词切枨笊宰撸裁词切枨笤O(shè)計工作的理解袁翁?并簡單舉例,一個現(xiàn)實中的需求原型婿脸,并對其進(jìn)行剖析與分解粱胜,使其轉(zhuǎn)化為實際的功能點與流程?
五狐树、考察其學(xué)習(xí)ecstore及ec-os的能力
問題1:請談?wù)勀銓cstore與ecos系統(tǒng)的理解焙压?
六、大約花15分鐘寫一小段自己認(rèn)為比較經(jīng)典的代碼,并闡述代碼亮點所在(加分-可選)
問題
1. 選擇合適的答案填入空白處
PHP 是一種______腳本語言涯曲,基于______引擎野哭。PHP 最常被用來開發(fā)動態(tài)的______內(nèi)
容,此外幻件,它同樣還可被用來生成______(以及其他)文檔拨黔。
A.動態(tài),PHP绰沥,數(shù)據(jù)庫篱蝇,HTML
B.嵌入式,Zend徽曲,HTML零截,XML
C.基于 Perl 的,PHP秃臣,Web涧衙,靜態(tài)
D.嵌入式,Zend甜刻,Docbook 文檔绍撞,MySQL
E.基于 Zend 的,PHP得院,圖像傻铣,HTML
1. 唯一有意義的答案是 B。PHP 是一種基于 Zend 引擎的腳本語言祥绞,它通常被嵌入在 HTML
代碼中非洲。它主要被用來開發(fā) HTML 文檔,但是也可以用它來開發(fā)其他類型的文檔蜕径,比
如 XML两踏。
2.以下哪種標(biāo)簽不是 PHP 起始/結(jié)束符?
A.<% %>
B.//
C.<?php ?>
D./* */
E.
2. PHP 編程中兜喻,人們不太使用<% %>和兩個標(biāo)簽梦染,但它們確實是合法的 PHP 界定符。
標(biāo)簽是非法的朴皆,因此正確的答案是 D帕识。記住,根據(jù) php.ini 文件中的配置不同遂铡,這
當(dāng)中的某些標(biāo)簽無法在特定的情況下使用肮疗。
3.以下代碼哪個不符合 PHP 語法?
A.$_10
B.${“MyVar”}
C.&$something
D.$10_somethings
E.$aVaR
3. PHP 變量以一個美元符號為開頭扒接,后面跟上任意數(shù)量的數(shù)字伪货、字母和下劃線们衙。${“MyVar”}
是一個合法的變量名,它使用的是較松散的命名約定碱呼。&$something 是對$something 的
引用蒙挑。然而,變量名不能以數(shù)字為開頭愚臀,$10_somethings 是非法的脆荷,因此答案是 D。
4.運行以下代碼將顯示什么懊悯?
define(myvalue, "10");
$myarray[10] = "Dog";
$myarray[] = "Human";
$myarray['myvalue'] = "Cat";
$myarray["Dog"] = "Cat";
print "The value is: ";
print $myarray[myvalue]."\n";
?>
2
A.The Value is: Dog
B.The Value is: Cat
C.The Value is: Human
D.The Value is: 10
E.Dog
4. 注意,$myarray 的鍵值并沒有打上引號梦皮。所以炭分,正在訪問的鍵不是 myvalue 字符串,
而是常量 myvalue 的值剑肯。最終訪問的是$myarray[10]捧毛,值是 Dog,答案是 A让网。
5. print()和 echo()有什么區(qū)別呀忧?
A.print()能作為表達(dá)式的一部分,echo()不能
B.echo()能作為表達(dá)式的一部分溃睹,print()不能
C.echo()能在 CLI(命令行)版本的 PHP 中使用而账,print()不能
D.print()能在 CLI(命令行)版本的 PHP 中使用,echo()不能
E.沒有區(qū)別:兩個函數(shù)都打印文本因篇!
5. 盡管 print()和 echo()在絕大多數(shù)情況下可以互換使用泞辐,但它們之間還是有一處不同。
print()是函數(shù)竞滓,有返回值咐吼;echo()實際上是一個語言結(jié)構(gòu),沒有返回值商佑,并且不能在表
達(dá)式中使用锯茄。因此,答案是 A茶没。
6.以下腳本輸出什么肌幽?
$a = 10;
$b = 20;
$c = 4;
$d = 8;
$e = 1.0;
$f = $c + $d * 2;
$g = $f % 20;
$h = $b - $a + $c + 2;
$i = $h << $c;
$j = $i * $e;
print $j;
?>
A.128
B.42
C.242.0
D.256
E.342
6. %運算符表示取模,它返回兩個操作數(shù)相除的余數(shù)礁叔。<<是左移運算符牍颈,相當(dāng)于乘以 2
的 N 次方。最后的答案乘以了一個浮點數(shù)琅关,改變了它的數(shù)據(jù)類型煮岁。但是讥蔽,由于小數(shù)點
后是零,因此輸出的結(jié)果不包含小數(shù)部分画机。答案是 256(D)冶伞。
7.如何給變量$a,$b 和$c 賦值才能使以下腳本顯示字符串“Hello, World!”?
$string = "Hello, World!";
$a = ?;
3
$b = ?;
$c = ?;
if($a) {
if($b && !$c) {
echo "Goodbye Cruel World!";
} else if(!$b && !$c) {
echo "Nothing here";
}
}
else {
if(!$b) {
if(!$a && (!$b && $c)) {
echo "Hello, World!";
} else {
echo "Goodbye World!";
}
} else {
echo "Not quite.";
}
}
?>
A.False, True, False
B.True, True, False
C.False, True, True
D.False, False, True
E.True, True, True
7. 根據(jù)條件式的邏輯步氏,要想得到 Hello, World!字符串响禽,必須要在第一個 if 結(jié)構(gòu)中滿足 else
的條件。因此$a 必須為 False荚醒,然后$b 也必須為 False芋类。最內(nèi)層的條件語句的實現(xiàn)要求
先前的兩個變量($a 和$b)是 False,而$c 必須是 True(答案是 D)界阁。
8.以下腳本輸出什么侯繁?
$array = '0123456789ABCDEFG';
$s = '';
for ($i = 1; $i < 50; $i++) {
$s .= $array[rand(0,strlen ($array) - 1)];
}
echo $s;
?>
A.50 個隨機字符組成的字符串
B.49 個相同字符組成的字符串,因為沒有初始化隨機數(shù)生成器
C.49 個隨機字符組成的字符串
D.什么都沒有泡躯,因為$array 不是數(shù)組
4
E.49 個字母‘G’組成的字符串
8. 正確答案是 C贮竟。從 PHP4.2.0 開始,除非已經(jīng)給定了一個偽隨機整數(shù)列较剃,否則不再需要
用 srand()函數(shù)初始化隨機數(shù)生成器咕别。此外,即使隨機數(shù)生成器沒有被事先播種写穴,腳本
仍然會生成 49 個偽隨機字符惰拱。盡管$array 變量是字符串,但可以用訪問數(shù)組的方式進(jìn)
行訪問——使用數(shù)字索引訪問某個位置上的字符啊送。最后弓颈,for 循環(huán)將從 1 開始執(zhí)行到 50,
也就是執(zhí)行了 49 次
9.哪種語句結(jié)構(gòu)用來表現(xiàn)以下條件判斷最合適删掀?
if($a == 'a') {
somefunction();
} else if ($a == 'b') {
anotherfunction();
} else if ($a == 'c') {
dosomething();
} else {
donothing();
}
?>
A.沒有 default 的 switch 語句
B.一個遞歸函數(shù)
C.while 語句
D.無法用別的形式表現(xiàn)該邏輯
E.有 default 的 switch 語句
9. 用一系列的 if…else 語句來檢查一個條件的代碼塊翔冀,最適合用 switch 語句來替代。
switch($a) {
case 'a':
somefunction();
break;
case 'b':
10
anotherfunction();
break;
case 'c':
dosomething();
break;
default:
donothing();
}
?>
因為 if 語句中有一個捕捉所有其他條件的 else披泪,對應(yīng)的纤子,switch 代碼塊需要一個 default。
正確答案是 E款票。
10.要修改每個元素的值控硼,如何遍歷$myarray 數(shù)組最合適?
$myarray = array ("My String","Another String","Hi, Mom!");
?>
A.用 for 循環(huán)
B.用 foreach 循環(huán)
C.用 while 循環(huán)
D.用 do…while 循環(huán)
E.辦不到艾少!
10.通常情況下卡乾,foreach 語句是遍歷數(shù)組的首選。但是缚够,由于 foreach 語句是在數(shù)組的副
本上進(jìn)行操作幔妨,而我們需要給數(shù)組中每個元素重新賦值鹦赎,所以在這里 foreach 就不適用
了。盡管也可以用 while 循環(huán)和 do…while 循環(huán)误堡,但由于數(shù)組是順序索引的古话,最合適的
語句還是 for 語句。因此答案是 A锁施。
$myarray = array ("My String", "Another String", "Hi, Mom!");
for($i = 0; $i < count($myarray); $i++)
{
$myarray[$i] .= " ($i)";
}
?>
11.考慮如下代碼片段:
define("STOP_AT", 1024);
$result = array();
/* 在此處填入代碼 */
{
5
$result[] = $idx;
}
print_r($result);
?>
標(biāo)記處填入什么代碼才能產(chǎn)生如下數(shù)組輸出陪踩?
Array
{
[0] => 1
[1] => 2
[2] => 4
[3] => 8
[4] => 16
[5] => 32
[6] => 64
[7] => 128
[8] => 256
[9] => 512
}
A.foreach($result as $key => $val)
B.while($idx *= 2)
C.for($idx = 1; $idx < STOP_AT; $idx *= 2)
D.for($idx *= 2; STOP_AT >= $idx; $idx = 0)
E.while($idx < STOP_AT) do $idx *= 2
11.由于題目只允許填寫一行代碼,唯一合適的是 for 循環(huán)悉抵,因此答案只能是 C 或者 D肩狂。
要選出能生成正確結(jié)果的 for 循環(huán),我們必須先復(fù)習(xí)一下 for 循環(huán)的構(gòu)成要素姥饰。PHP 中婚温,
for 循環(huán)是這樣聲明的:
for(<初始化>;<繼續(xù)執(zhí)行,直到>;<重復(fù)執(zhí)行>)
<初始化>在循環(huán)開始時執(zhí)行一次媳否,然后 for 循環(huán)開始執(zhí)行大括號內(nèi)的代碼,直到<繼續(xù)
執(zhí)行荆秦,直到>的值為 False篱竭。每完成一次循環(huán),執(zhí)行一次<重復(fù)執(zhí)行>步绸。因此掺逼,正確的代
碼塊應(yīng)該是:
for ($idx = 1; $idx < STOP_AT; $idx = 2)
答案是 C。
12.為用戶定義函數(shù) is_leap()選擇一個合適的函數(shù)聲明瓤介。is_leap 使用 2000 作為默認(rèn)年份吕喘。
/ 函數(shù)聲明處 /
{
$is_leap = (!($year %4) && (($year % 100) ||
!($year % 400)));
return $is_leap;
}
var_dump(is_leap(1987)); / Displays false /
var_dump(is_leap()); / Displays true */
?>
A.function is_leap($year = 2000)
B.is_leap($year default 2000)
C.function is_leap($year default 2000)
6
D.function is_leap($year)
E.function is_leap(2000 = $year)
12.5 個選項中,只有兩個是合法的 PHP 函數(shù)聲明(A 和 D)刑桑。在這兩個選項中氯质,只有一
個設(shè)置了參數(shù)的默認(rèn)值——答案是 A。
13.運行以下代碼將顯示什么值祠斧?假設(shè)代碼運行時的 URL 是:testscript.php?c=25
function process($c, $d = 25)
{
global $e;
$retval = $c + $d - $_GET['c'] - $e;
return $retval;
}
$e = 10;
echo process(5);
?>
A.25
B.-5
C.10
D.5
E.0
13.本題考察 PHP 中變量作用域的相關(guān)知識闻察。你必須明確 global 關(guān)鍵字是如何將變量引入
本地域的,以及$_GET琢锋、$_POST辕漂、$_COOKIE、$_REQUEST 等超級全局變量的作用
域吴超。本題中钉嘹,最終的數(shù)學(xué)表達(dá)式是 5+25-25-10,等于-5鲸阻,答案是 B跋涣。
14.考慮如下代碼:
function myfunction($a, $b = true)
{
if($a && !$b) {
echo "Hello, World!\n";
}
}
$s = array(0 => “my”,
1 => “call”,
2 => ‘$function’,
3 => ‘ ‘,
4 => “function”,
5 => ‘$a’,
6 => ‘$b’,
7 => ‘a(chǎn)’,
8 => ‘b’,
9 => ”);
$a = true;
7
$b = false;
/* Group A /
$name = $s[?].$s[?].$s[?].$s[?].$s[?].$s[?];
/ Group B */
$name(${$s[?]}, ${$s[?]});
?>
腳本中的每個問號(?)代表$s 數(shù)組的一個數(shù)字索引缨睡。要想代碼執(zhí)行時顯示 Hello, World!字符
串,該如何選擇數(shù)字索引仆潮?
A.Group A: 4,3,0,4,9,9 Group B: 7,8
B.Group A: 1,3,0,4,9,9 Group B: 7,6
C.Group A: 1,3,2,3,0,4 Group B: 5,8
D.Group A: 0,4,9,9,9,9 Group B: 7,8
E.Group A: 4,3,0,4,9,9 Group B: 7,8
14.函數(shù)能被以一個包含著函數(shù)名的變量后面加上括號(以及必要的參數(shù))的形式動態(tài)
調(diào)用宏蛉。對于Group A來說,合適的索引組合是0性置,4拾并,9,9鹏浅,9嗅义,9,產(chǎn)生字符串myfunction隐砸。
另一方面之碗,參數(shù)將使用${}結(jié)構(gòu)的可變變量。對Group B來說季希,合適的索引應(yīng)該是7
和8褪那,等于${‘a(chǎn)’}$和{‘b’}——即$a和$b。因此答案是D式塌。
15.運行時(run-time)包含一個 PHP 腳本使用______博敬,而編譯時(compile-time)包含一
個 PHP 腳本使用______。
A.include_once, include
B.require, include
C.require_once, include
D.include, require
E.以上皆可
15.在較新版本的 PHP 中峰尝,require(或 requier_once())和 include()(或 include_once())只有
一個區(qū)別——如果包含的文件不存在偏窝,前者將產(chǎn)生一個致命錯誤,同時終止腳本的執(zhí)
行武学;而后者只會產(chǎn)生一個警告祭往。因此答案 E 正確。
16.什么情況下聲明函數(shù)時不能給參數(shù)賦默認(rèn)值火窒?
A.當(dāng)參數(shù)是布爾值時
B.當(dāng)函數(shù)是類中的成員時
C.當(dāng)參數(shù)是通過引用傳遞時
D.當(dāng)函數(shù)只有一個參數(shù)時
E.永遠(yuǎn)不會
16.當(dāng)參數(shù)被聲明為通過引用傳遞時硼补,你不能給它賦默認(rèn)值,此時解釋器期望獲得一個能
在函數(shù)內(nèi)部進(jìn)行修改的變量熏矿。答案是 C括勺。
17.______操作符在兩個操作數(shù)中有一個(不是全部)為 True 時返回 True。
答案:____________
17.正確答案是邏輯異或(xor)運算符曲掰。
18.全等運算符===如何比較兩個值疾捍?
A.把它們轉(zhuǎn)換成相同的數(shù)據(jù)類型再比較轉(zhuǎn)換后的值
B.只在兩者的數(shù)據(jù)類型和值都相同時才返回 True
8
C.如果兩個值是字符串,則進(jìn)行詞匯比較
D.基于 strcmp 函數(shù)進(jìn)行比較
E.把兩個值都轉(zhuǎn)換成字符串再比較
18.全等運算符比較兩個操作數(shù)的數(shù)據(jù)類型和值栏妖,兩者中有一個不同乱豆,都會返回 False。因
此答案是 B吊趾。
19.以下哪個選項是把整型變量$a 的值乘以 4宛裕?(雙選)
A.$a *= pow (2, 2);
B.$a >>= 2;
C.$a <<= 2;
D.$a += $a + $a;
E.一個都不對
19.答案是 A 和 C瑟啃。A 選項中,pow 函數(shù)計算 2 的平方揩尸,答案是 4蛹屿。C 選項中,左移運算
符將$a 的值左移兩位岩榆,相當(dāng)于乘以 4错负。
20.一段腳本如何才算徹底終止?
A.當(dāng)調(diào)用 exit()時
B.當(dāng)執(zhí)行到文件結(jié)尾時
C.當(dāng) PHP 崩潰時
D.當(dāng) Apache 由于系統(tǒng)故障而終止時
20.答案是 A勇边。一段腳本并不會在執(zhí)行到文件末尾時終止犹撒,所以當(dāng)前文件才能被其他腳本
包含。至于 PHP 和 Apache 崩潰粒褒,這兩個說法就太惡搞了识颊。