PHP面試題及答案

來源:文萃谷 3.02W

PHP是一種通用開源指令碼語言,下面是本站小編為大家搜尋整理的關於PHP面試題及答案題,歡迎參考閱讀,希望對大家有所幫助!想了解更多相關資訊請持續關注我們應屆畢業生考試網!

PHP面試題及答案

  練習題

1. echo count(“abc”); 輸出什麼?

答案:1

2. 用PHP程式碼寫出顯示客戶端IP與伺服器IP的程式碼。

答案:客戶端 getenv(‘REMOTE_ADDR’); 伺服器端 getenv(‘SERVER_ADDR’);

// gethostbyname(“”);

3. error_reporting(2047)什麼作用?

答案:相當於 error_reporting(‘E_ALL’); 輸出所有的錯誤。

4.如何實現PHP、JSP互動?

答案: 題目有點含糊不清,SOAP,XML_RPC,Socket function,CURL都可以實現這些,如果是考PHP和Java的整合,PHP內建了這種機制(如果考PHP和的整合,也可以這麼回答), 例如$foo = new Java(‘em’);

5. 開啟中的Safe_mode,會影響哪些引數?至少說出6個。

答案:此模組開啟時,php將檢查當前指令碼的擁有者是否和受操作文件的擁有者相同,因此,將影響檔案操作類函式,程式執行函式(program Execution Functions)。這些函式有info,basename,fopen,system,exec,proc_open 等函式;

6. 請寫一個函式驗證電子郵件的格式是否正確(要求使用正則)。

function checkEmail($mail){

$reg = ‘/^w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$/’;

$rst = preg_match($reg , $mail);

if($rst){

return TRUE;

}else {

return FALSE;

} }

7. 寫個函式用來對二維陣列排序。

答案:array_multisort() 。

8、優化MYSQL資料庫的方法。

答案:(1).資料庫設計方面,這是DBA和Architect的責任,設計結構良好的資料庫,必要的時候,去正規化(英文是這個:denormalize,中文翻譯成啥我不知道),允許部分資料冗餘,避免JOIN操作,以提高查詢效率。

(2).系統架構設計方面,表雜湊,把海量資料雜湊到幾個不同的表裡面.快慢表,快表只留最新資料,慢表是歷史存檔.叢集,主伺服器Read & write,從伺服器read only,或者N臺伺服器,各機器互為Master。

(3).(1)和(2)超越PHP programmer的要求了,會更好,不會沒關係.檢查有沒有少加索引。

(4).寫高效的SQL語句,看看有沒有寫低效的SQL語句,比如生成笛卡爾積的全連線啊,大量的Group By和order by,沒有limit等等.必要的時候,把資料庫邏輯封裝到DBMS端的儲存過程裡面.快取查詢結果,explain每一個sql語句。

(5).所得皆必須,只從資料庫取必需的資料,比如查詢某篇文章的評論數,select count(*) … where article_id = ? 就可以了,不要先select * … where article_id = ?然後msql_num_rows. 只傳送必須的SQL語句,比如修改文章的時候,如果使用者只修改了標題,那就… set title = ? where article_id = ?不要set content = ?(大文字)。

(6).必要的時候用不同的儲存引擎,比如InnoDB可以減少死鎖,HEAp可以提高一個數量級的查詢速度。

  練習題二

1.請寫出PHP5許可權控制修飾符。

答案:private protected public。

2.對於大流量的網站,您採用什麼樣的方法來解決訪問量問題?

答案:首先,確認伺服器硬體是否足夠支援當前的流量。

其次,優化資料庫訪問。

第三,禁止外部的盜鏈。

第四,控制大檔案的'下載。

第五,使用不同主機分流主要流量 第六,使用流量分析統計軟體。

3.在HTTP 1.0中,狀態碼 401 的含義是?;如果返回"找不到檔案"的提示,則可用 header 函式, 其語句是?

答案:401的含義是未授權。

header(“HTTp/1.0 404 Not Found”);———找不到檔案

header(“HTTp/1.1 403 Forbidden”);———不允許訪問

4.以Apache模組的方式安裝PHP,在檔案中首先要怎樣動態裝載PHP模組,然後再用什麼語句使得Apache把所有副檔名為php的檔案都作為PHP指令碼處理。

答案:動態裝載PHP模組:LoadModule php5_module "c:/php/"

把所有副檔名為php的檔案都作為pHp指令碼處理: AddType application/x-httpd-php-source AddType application/x-httpd-php 5 4 3 l

5.類的屬性可以序列化後儲存到 session 中,從而以後可以恢復整個類,這要用到的函式是?

答案:serialize() /unserialize()。

6.一個函式的引數不能是對變數的引用,除非在中把什麼模組設為on。

答案:allow_call_time_pass_reference。

熱門標籤