![某知名互聯(lián)網(wǎng)下載服務(wù)商PHP工程師面試筆試真題8_第1頁](http://file4.renrendoc.com/view12/M08/00/2C/wKhkGWZb9EuAZCw9AAL3Scf-Bho218.jpg)
![某知名互聯(lián)網(wǎng)下載服務(wù)商PHP工程師面試筆試真題8_第2頁](http://file4.renrendoc.com/view12/M08/00/2C/wKhkGWZb9EuAZCw9AAL3Scf-Bho2182.jpg)
![某知名互聯(lián)網(wǎng)下載服務(wù)商PHP工程師面試筆試真題8_第3頁](http://file4.renrendoc.com/view12/M08/00/2C/wKhkGWZb9EuAZCw9AAL3Scf-Bho2183.jpg)
![某知名互聯(lián)網(wǎng)下載服務(wù)商PHP工程師面試筆試真題8_第4頁](http://file4.renrendoc.com/view12/M08/00/2C/wKhkGWZb9EuAZCw9AAL3Scf-Bho2184.jpg)
![某知名互聯(lián)網(wǎng)下載服務(wù)商PHP工程師面試筆試真題8_第5頁](http://file4.renrendoc.com/view12/M08/00/2C/wKhkGWZb9EuAZCw9AAL3Scf-Bho2185.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
某知名互聯(lián)網(wǎng)下載服務(wù)商PHP工程師面試筆試真題8一、選擇題1.
PHP是一種______的語言。A.編譯型B.解釋型C.兩者都是D.兩者都不是正確答案:B[解析]PHP是一種解釋型語言,(江南博哥)因為其底層是由C語言編寫的,所以PHP代碼需要編譯為opcode之后再交由Zend引擎執(zhí)行,Zend引擎將這些PHP指令轉(zhuǎn)變成C語言指令,而C語言指令又會轉(zhuǎn)變成匯編語言,最后匯編語言將根據(jù)處理器的規(guī)則轉(zhuǎn)變成機(jī)器碼執(zhí)行。
PHP代碼解析需要用到解釋器,它是一種解釋型語言。選項B正確。
所以,本題的答案為B。
2.
以下關(guān)于B/S構(gòu)架的描述中,正確的是______A.需要安裝客戶端的軟件B.不需要安裝就可以使用的軟件C.依托瀏覽器的網(wǎng)絡(luò)系統(tǒng)D.依托Outlook等軟件的郵件系統(tǒng)正確答案:C[解析]B/S結(jié)構(gòu)即瀏覽器和服務(wù)器結(jié)構(gòu),在這種架構(gòu)下,用戶工作界面是通過瀏覽器來實現(xiàn)的,極少部分事務(wù)邏輯在前端(Browser)實現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端(Server)實現(xiàn)。
對于選項A,用戶只需要通過瀏覽器訪問服務(wù)端的代碼,就可以瀏覽操作網(wǎng)頁,無須安裝客戶端,需安裝客戶端的是C/S架構(gòu)。選項A錯誤。
對于選項B,B/S架構(gòu)的軟件是通過瀏覽器打開使用的,但是軟件的部署需要安裝到服務(wù)器中,并且搭建軟件所需要的環(huán)境支持,還要保證軟件和數(shù)據(jù)庫都正常。選項B錯誤。
對于選項C,B/S架構(gòu)下的軟件需要安裝瀏覽器,且計算機(jī)能請求遠(yuǎn)端的服務(wù)器才能使用該軟件。選項C正確。
對于選項D,B/S架構(gòu)主要依賴瀏覽器請求服務(wù)端進(jìn)行訪問操作,并不依托其他郵件系統(tǒng)。選項D錯誤。
所以,本題的答案為C。
3.
以下程序的運(yùn)行結(jié)果是______
<?php
$array='0123456789ABCDEFG';
$s=";
for($i=1;$i<50;$i++){
$s.=$array[rand(0,strlen($array)-1)];
}
echo$s;
?>A.50個隨機(jī)字符組成的字符串B.49個隨機(jī)字符組成的字符串C.49個相同字符組成的字符串,因為沒有初始化隨機(jī)數(shù)生成器D.49個字母“G”組成的字符串正確答案:B[解析]首先$i=1,條件小于50,所以能循環(huán)49次。循環(huán)內(nèi)的$array的鍵是隨機(jī)生成的,每次循環(huán)rand()函數(shù)會自動從0~16中取一個值出來給$s拼接,最終隨機(jī)輸出49個字符組成一個字符串。選項B正確。
所以,本題的答案為B。
4.
如下代碼:
<?php
$fruits=array('strawberry'=>'red','banana'=>'yellow');
?>
不能夠正確得到結(jié)果'yellow'的代碼是______A.echo"Abananais{$fruits['banana']}";B.echo"Abananais$fruits['banana']";C.echo"Abananais{$fruits[banana]}";D.echo"Abananais$fruits[banana]";正確答案:B[解析]對于選項A,在字符串中用{}包括變量可以告訴編譯器花括號內(nèi)是一個變量,選項A是可以直接把yellow輸出的,選項A錯誤。
對于選項B,$fruits['banana']變量被雙引號包括時,編譯器會認(rèn)為單引號也是鍵名的一部分,$fruits的鍵名就不是“banana”而是“'banana'”了,導(dǎo)致執(zhí)行編譯時得不到這個鍵名而報錯,如果需要輸出這個變量,那么可以直接寫成$fruits[banana]進(jìn)行輸出。選項B正確。
對于選項C,用{}括起來的$fruits[banana]在編譯時編譯器知道是變量,然后會判斷banana是不是一個常量,如果不是常量,那么就會被自動轉(zhuǎn)換成字符串輸出對應(yīng)鍵名的值,所以可以得到y(tǒng)ellow,但是輸出前會出現(xiàn)Notice提示這里的banana鍵名問題。選項C錯誤。
對于選項D,雙引號包括的數(shù)組鍵名不用加單引號,否則編譯器會認(rèn)為單引號也是鍵名的一部分,所以$fruits[banana]沒有單引號是正確的。選項D錯誤。
所以,本題的答案為B。
5.
$result=preg_replace("∧s*\[quote\][\n\r]*(.+?)[\n\r]*\[∨quote\]\s*/is","\\1",$str);該語句會匹配和替換出什么樣的$str?______A.[quote][/quote]不區(qū)分大小寫B(tài).[quote][/quote]區(qū)分大小寫C.如果$str="[quote]\t\nabc\t\n[/quote],則$result="\t\nabc\t\n";D.如果$str="[quote]\t\nabc\t\n[/quote],則$result='abc';正確答案:AD[解析]使用preg_replace()函數(shù)正則匹配時不區(qū)分字符串的大小進(jìn)行匹配。選項A正確,選項B錯誤。
對于選項CD,相同的字符串,通過正則匹配后獲得的$result值為abc。選項D正確,選項C錯誤。
所以,本題的答案為AD。
6.
下列有關(guān)繼承的說法中,正確的是______A.子類能繼承父類的所有方法和狀態(tài)B.子類能繼承父類的非私有方法和狀態(tài)C.子類只能繼承父類public方法和狀態(tài)D.子類能繼承父類的方法,而不是狀態(tài)正確答案:B[解析]子類是不能繼承父類的私有(private)方法和變量的,也不能繼承被final關(guān)鍵字修飾的類、方法。選項B正確。
所以,本題的答案為B。
7.
函數(shù)header()不可以被用來______A.轉(zhuǎn)到指定的urlB.引用js文件C.設(shè)置HTTP首部信息狀態(tài)碼D.提示下載文件正確答案:B[解析]header()函數(shù)的作用是向客戶端發(fā)送原始的HTTP報頭,即必須在任何實際的輸出被發(fā)送之前調(diào)用header()函數(shù)。header()函數(shù)不具備引用文件的功能,PHP只能使用include或require、include_once、require_once引用文件。
所以,本題的答案為B。
8.
當(dāng)PDO對象創(chuàng)建成功以后,與數(shù)據(jù)庫的連接已經(jīng)建立,就可以使用PDO對象了,下面不是PDO對象中的成員方法的是______A.errorInfo()B.bindParam()C.exec()D.prepare()正確答案:B[解析]bindParam是PDOStatement類的方法,其余是PDO類的方法(PDOStatement也有errorInfo方法)。
errorInfo:從數(shù)據(jù)庫返回一個含有錯誤信息的數(shù)組,如果有的話。
exec:執(zhí)行一條SQL語句并返回影響的行數(shù)。
prepare:為執(zhí)行準(zhǔn)備一條SQL語句。
所以,本題的答案為B。
9.
考慮如下數(shù)據(jù)表和查詢,如何添加索引能提高查詢速度?______
CREATETABLEMYTABLE(
IDINT,
NAMEVARCHAR(100),
ADDRESS1VARCHAR(100),
ADDRESS2VARCHAR(100),
ZIPCODEVARCHAR(10),
CITYVARCHAR(50),
PROVINCEVARCHAR
(2)
)
SELECTID,VARCHARFROMMYTABLEWHEREIDBETWEEN0AND100ORDERBYNAME,ZIPCODEA.給ID添加索引B.給NAME和ADDRESS1添加索引C.給ID添加索引,然后給NAME和ZIPCODE分別添加索引D.給ZIPCODE和NAME添加索引E.給ZIPCODE添加全文檢索正確答案:C[解析]給ID字段設(shè)置索引能提高where條件執(zhí)行的效率,給NAME和ZIPCODE設(shè)索引則能使排序更快。
所以,本題的答案為C。
10.
以下程序的運(yùn)行結(jié)果為______
<?php
$mystring='abc';
$findme
='a';
$pos=strpos($mystring,$findme);
if($pos===false)
echo"notfound";
else
echo"found";
?>A.notfoundB.foundC.foundnotfoundD.not正確答案:B[解析]strpos()函數(shù)返回查找字符串的第一次出現(xiàn)的位置,a在abc的第一個位置,返回的是0,而0和false不全等,所以執(zhí)行else部分輸出found。
所以,本題的答案為B。
二、填空題1.
在PHP中,用來獲取瀏覽器屬性的方法是______。正確答案:$_SERVER['HTTP_USER_AGENT']。
2.
假設(shè)有一個名為'index.php'的文件的路徑為c:/apache/htdocs/phptutor/index.php,那么basename($_SERVER['PHP_SELF'])的返回值為______。正確答案:/htdocs/phptutor/index.php。[解析]$_SERVER['PHP_SELF']可以獲取到正在執(zhí)行腳本的網(wǎng)頁路徑,除了根路徑不能獲取外,可以獲取具體到除了根路徑后的路徑名+當(dāng)前執(zhí)行文件名。
3.
有關(guān)獲取上傳文件的信息的預(yù)定義數(shù)據(jù)變量的是______。正確答案:$_FILES。[解析]$_FILES超級全局變量是預(yù)定義超級全局?jǐn)?shù)組中唯一的二維數(shù)組。其作用是存儲各種與上傳文件有關(guān)的信息,這些信息對于通過PHP腳本上傳到服務(wù)器的文件至關(guān)重要。
4.
修改MySQL用戶root的密碼的指令是______。正確答案:mysqladmin-urootpasswordtest。[解析]修改MySQL用戶root密碼的指令格式為。mysqladmin-u用戶名password密碼。
5.
PHP的Session擴(kuò)展默認(rèn)將Session數(shù)據(jù)存儲在______。正確答案:FileSystem。[解析]默認(rèn)情況下,PHP把所有會話信息存儲在/tmp文件夾中;在沒有這個文件夾的操作系統(tǒng)中(例如Windows),必須在php.ini中給session.save_path設(shè)置一個合適的位置(例如C:\Temp)。
三、簡答題1.
什么是會話?為什么要使用它?正確答案:會話是指通過HTTP協(xié)議在Web服務(wù)器與客戶端(瀏覽器)之間的相互通信。
因為HTTP協(xié)議是Web服務(wù)器與客戶端(瀏覽器)相互通信的協(xié)議,它是一種無狀態(tài)協(xié)議,即HTTP請求是獨(dú)立且不持久的。HTTP協(xié)議沒有一個內(nèi)建的機(jī)制來維護(hù)兩個事務(wù)之間的狀態(tài),用戶請求一個頁面后再去請求另一個頁面,HTTP無法告訴我們這兩個請求是否來自同一個用戶。所以需要使用HTTP會話控制,去跟蹤一個變量,通過變量追蹤使多個請求事務(wù)之間建立聯(lián)系,從一個網(wǎng)頁到另一個網(wǎng)頁的請求訪問可以知道是同一個用戶。
2.
什么是數(shù)組?數(shù)組根據(jù)索引分為哪兩種?如何區(qū)分?數(shù)組的賦值方式有哪兩種?正確答案:數(shù)組是一個特殊的變量,它可以同時保存一個或一組值的變量。數(shù)組根據(jù)索引可以劃分為關(guān)聯(lián)數(shù)組和索引數(shù)組。關(guān)聯(lián)數(shù)組是指以字符串來做索引值的數(shù)組,索引數(shù)組是指以數(shù)字作為鍵名的數(shù)組。
數(shù)組的聲明方式主要有兩種,分別如下:
1)通過array()函數(shù)聲明數(shù)組。
通過array()聲明一個數(shù)組,在數(shù)組里面使用key=>value鍵值對的形式定義索引和值,或者不定義數(shù)組的索引,直接在array()輸入元素的值聲明數(shù)組。
2)通過賦值直接給數(shù)組進(jìn)行聲明,不需要使用array()函數(shù)。
例如,$arr[0]=1;$arr[1]=2;
但是需要注意,數(shù)組的下標(biāo)不建議使用整數(shù)的字符串值,例如,$arr[1]和$arr['1']表示的是引用同一個元素的值;也不建議使用以0開頭的數(shù)字組合,0開頭的數(shù)字組合下標(biāo)會被強(qiáng)制轉(zhuǎn)換為整數(shù),例如,$arr[01]等價于$arr[1],而$arr['01']則表示的是引用另外一個值。
3.
做一套圖片管理系統(tǒng),關(guān)于用戶圖片的上傳,如何盡量避免以下問題的發(fā)生:
①圖片被盜用;②圖片重復(fù)上傳。圖片上傳保存目錄如何設(shè)置?正確答案:1)可以創(chuàng)建.htaccess文件防盜鏈,并且給上傳的圖片加水印聲明版權(quán)。
2)當(dāng)單擊上傳圖片后,上傳按鈕禁止再次被單擊,直到上傳完成后才能再次上傳。
3)圖片的目錄根據(jù)月份再到日進(jìn)行存放。
4.
什么是HTTP請求?正確答案:HTTP請求是指從客戶端到服務(wù)器端的請求消息,建立HTTP請求需要經(jīng)歷以下7個步驟才能請求成功:
1)建立TCP連接。在HTTP開始工作前,Web瀏覽器需先通過網(wǎng)絡(luò)和Web服務(wù)器連接,連接過程主要使用TCP/IP協(xié)議完成。
2)Web瀏覽器向Web服務(wù)器發(fā)送請求命令。一旦建立了TCP連接,Web瀏覽器就會向Web服務(wù)器發(fā)送請求命令。
3)Web瀏覽器發(fā)送請求頭信息。Web瀏覽器發(fā)送其請求命令后,還要以頭信息的形式向Web服務(wù)器發(fā)送一些信息,瀏覽器最后通過發(fā)送一空白行來通知服務(wù)器它結(jié)束了該頭信息的發(fā)送。
4)Web服務(wù)器應(yīng)答。客戶端向服務(wù)端發(fā)出請求后,服務(wù)端會給客戶端回送應(yīng)答,例如,HTTP/1.1200OK,應(yīng)答的編碼含義為協(xié)議的版本號和應(yīng)答狀態(tài)碼。
5)Web服務(wù)器發(fā)送應(yīng)答頭信息。服務(wù)器會隨同應(yīng)答向用戶發(fā)送關(guān)于它自己的數(shù)據(jù)及被請求的文檔。
6)Web服務(wù)器向瀏覽器發(fā)送數(shù)據(jù)。Web服務(wù)器向瀏覽器發(fā)送頭信息后,它會發(fā)送一個空白行來表示頭信息的發(fā)送到此結(jié)束,接著,它以Content-Type應(yīng)答頭信息所描述的格式發(fā)送用戶所請求的實際數(shù)據(jù)。
7)Web服務(wù)器關(guān)閉TCP連接。一般情況下,一旦Web服務(wù)器向瀏覽器發(fā)送了請求數(shù)據(jù),它就要關(guān)閉TCP連接,然后瀏覽器或者服務(wù)器在其頭信息加入了這行代碼:Connection:keep-alive,TCP連接在發(fā)送后將仍然保持打開狀態(tài),于是,瀏覽器可以繼續(xù)通過相同的連接發(fā)送請求。
5.
數(shù)據(jù)庫中的事務(wù)是什么?它有什么特性?正確答案:事務(wù)是執(zhí)行一系列的操作完成一項任務(wù),如果存在某個操作沒有成功,那么認(rèn)為事務(wù)執(zhí)行失敗,此時發(fā)生回滾事件,撤銷前面的全部操作,進(jìn)而保證數(shù)據(jù)的一致性。為了保證數(shù)據(jù)的一致性,操作會被暫時放在緩存中,等所有操作執(zhí)行成功后才提交數(shù)據(jù)庫執(zhí)行。
事務(wù)作為一個邏輯單元執(zhí)行的一系列操作,具有四大特性,即原子性(Atomicity)、一致性(Consistency)、隔離性(Isolation)、持久性(Durability),簡稱為ACID。
(1)原子性
事務(wù)必須是原子工作單元;對于其數(shù)據(jù)修改,要么全都執(zhí)行,要么全都不執(zhí)行。
(2)一致性
事務(wù)完成時,必須使所有的數(shù)據(jù)都保持一致狀態(tài)。在相關(guān)數(shù)據(jù)庫中,所有規(guī)則都必須應(yīng)用于事務(wù)的修改,以保持所有數(shù)據(jù)的完整性。事務(wù)結(jié)束時,所有的內(nèi)部數(shù)據(jù)結(jié)構(gòu)(例如,B樹索引或雙向鏈表)都必須是正確的。
(3)隔離性
由并發(fā)事務(wù)所做的修改必須與任何其他并發(fā)事務(wù)所做的修改隔離。當(dāng)事務(wù)查看數(shù)據(jù)時,數(shù)據(jù)所處的狀態(tài)要么是另一并發(fā)事務(wù)修改它之前的狀態(tài),要么是另一事務(wù)修改它之后的狀態(tài),事務(wù)不會查看中間狀態(tài)的數(shù)據(jù),這稱為可串行性。因為它能夠重新裝載起始數(shù)據(jù),并且重播一系列事務(wù),所以數(shù)據(jù)結(jié)束時的狀態(tài)與原始事務(wù)執(zhí)行的狀態(tài)相同。
(4)持久性
事務(wù)完成之后,它對于系統(tǒng)的影響是永久性的,即使出現(xiàn)系統(tǒng)故障該修改也將一直保持。
四、編程題1.
按要求編程,創(chuàng)建一個長度為10的數(shù)組,數(shù)組中的元素滿足斐波那契數(shù)列的規(guī)律。(斐波那契數(shù)列,又稱黃金分割數(shù)列,指的是這樣一個數(shù)列:1、1、2、3、5、8、13、21、…在數(shù)學(xué)上,斐波那契數(shù)列以如下遞歸的方法定義:F0=0,F(xiàn)1=1,F(xiàn)n=F(n-1)+F(n-2)(n≥2,n∈N*)。特別指出,第0項是0,第1項是第一個1。)正確答案:根據(jù)題意可知,首先創(chuàng)建一個首項為0、第二項為1的數(shù)組,然后從數(shù)組第三個值開始使用公式進(jìn)行計算把值放入數(shù)組中。
代碼實現(xiàn)為
functionarr_fb($len){
$arr=array(0,1);
for($i=2;$i<$len;$i++){
$arr[$i]=$arr[$i-1]+$arr[$i-2];
}
return$arr;
}
print_r(arr_fb(10));
程序的運(yùn)行結(jié)果為Array([0]=>0[1]=>1[2]=>1[3]=>2[4]=>3[5]=>5[6]=>8[7]=>13[8]=>21[9]=>34)。
2.
使用五種以上方式獲取一個文件的擴(kuò)展名。要求:dir/upload.image.jpg,找出jpg或.jpg。必須使用PHP自帶的處理函數(shù)進(jìn)行處理,方法不能重復(fù),可以封裝成函數(shù),比如getext1($filename),getext2($filename)。正確答案:可以使用以下5種方法:
1)get_ext1($file_name){
returnstrrchr($file_name,'.');
}
2)get_ext2($file_name){
returnsubstr($file_name,strrpos($file_name,'.'));
}
3)get_ext3($file_name){
returnarray_pop(explode('.',$file_name));
}
4)get_ext4($file_name){
$p=pathinfo($file_name);
return$p['extension'];
}
5)get_ext5($doc){
$a=strrev(substr(strrev($doc),0,strpos(strrev($doc),'.'));
return$a;
}
3.
用PHP腳本解析出:/srfi-28/mail-ar
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 酒店照明設(shè)計對顧客用餐心情的影響
- 家庭辦公環(huán)境的衛(wèi)生與健康改善措施
- 臨時勞動合同續(xù)簽協(xié)議
- 臨時工程合作合同范例
- 臨時工雇傭合同協(xié)議
- 中央空調(diào)系統(tǒng)維修保養(yǎng)合同
- 上海商業(yè)地產(chǎn)營銷代理合同
- 交通運(yùn)輸設(shè)備合作協(xié)議
- 上市公司債券發(fā)行專項法律服務(wù)合同
- 臨街商鋪租賃合同書
- 社會主義發(fā)展史(齊魯師范學(xué)院)知到智慧樹章節(jié)答案
- 2023年高考真題-地理(遼寧卷) 含解析
- 課程思政融入高職院校應(yīng)用文寫作課程教學(xué)路徑探析
- 2024全新鋼結(jié)構(gòu)安全培訓(xùn)
- 2025屆高三數(shù)學(xué)一輪復(fù)習(xí)-分段函數(shù)專項訓(xùn)練【含答案】
- 腰椎間盤突出癥課件(共100張課件)
- 《工程力學(xué)》課程教學(xué)大綱
- 2024至2030年中國女裝行業(yè)市場發(fā)展監(jiān)測及投資前景展望報告
- 7.1.2 直觀圖的畫法-【中職專用】高一數(shù)學(xué)教材配套課件(高教版2021·基礎(chǔ)模塊下冊)
- 皮膚癬菌病的分子診斷工具
- SL+575-2012水利水電工程水土保持技術(shù)規(guī)范
評論
0/150
提交評論