PHP的面試題集

PHP 基礎教程 PHP 是一種創建動態交互性站點的強有力的服務器端腳本語言。以下是小編爲大家搜索整理的PHP的面試題集,希望能給大家帶來幫助!更多精彩內容請及時關注我們應屆畢業生考試網!

PHP的面試題集

面試題1

1、用PHP打印出前一天的時間格式是2006-5-10 22:21:21

2、echo(),print(),print_r()的區別

3、能夠使HTML和PHP分離開使用的模板

4、如何實現PHP、JSP交互?

5、使用哪些工具進行版本控制?

6、如何實現字符串翻轉?

7、優化MYSQL數據庫的方法。

8、談談事務處理

9、apache+mysql+php實現最大負載的方法

10、實現中文字串截取無亂碼的方法。

答案:

date('Y-m-d H:i:s', strtotime('-1 day'));

是語言結構,無返回值;print功能和echo基本相同,不同的是print是函數,有返回值;print_r是遞歸打印,用於輸出數組對象

much,其實PHP本身就是一種模版引擎,我用過的是smarty,常見的還有PHPLib,FastTemplate,Savant這裏有個模板引擎列表:

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

和SVN,SVN號稱下一代CVS,功能強大,不過CVS是老牌,市佔率很高.我一直用SVN,題目是問用什麼工具,呃,這個可能需要這麼回答:CVS Server on Apache作服務端,WinCVS作客戶端;Subversion on Apache/DAV 做服務端,TortoiseSVN做客戶端,或者Subclipse做客戶端.

6.用strrev函數唄,不準用PHP內置的就自己寫:

function strrev($str)

{

$len=strlen($str);

$newstr = '';

for($i=$len;$i>=0;$i--)

{

$newstr .= $str{$i};

}

return $newstr;

}

7.大學聯考政治題,把你知道的知識點都寫上吧.我的.答案:

(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語句,比如修改文章的時候,如果用戶只修改了標題,那就update ... set title = ? where article_id = ?不要set content = ?(大文本)

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

8.如同是個編程語言都會有答應Hello World的例子一樣,是本數據庫的教材都會講A給B的賬戶轉賬50美元的例子,回答這個就好了.不過據我所知,用MySQL的企業,很少用MySQL來實現事務處理.何況現在Oracle收購了InnoDB的公司.

9.參見第七題的答案,那個地方搞好了這個問題就迎刃而解了.

10.哈哈哈,我猜出題的人是不是被substr的中文處理問題煩惱很久了,是不是還用了網上流傳的用正則匹配中文字符然後截取的函數,其實,有非常簡單的解決方法:mb_substr()

面試題2

var $empty = '';

var $null = NULL;

var $bool = FALSE;

var $notSet;

var $array = array();

1.

$a = "hello";

$b = &$a;

unset($b);

$b = "world";

what is $a?

2.

$a = 1;

$x = &$a;

$b = $a++;

what is $b?

3.

$x = empty($array);

what is $x? true or false

4.您是否用過版本控制軟件? 如果有您用的版本控制軟件的名字是?

5.您是否用過模板引擎? 如果有您用的模板引擎的名字是?

6.請簡單闡述您最得意的開發之作.

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

8.用PHP寫出顯示客戶端IP與服務器IP的代碼:

答案一次更新blog的時候再寫.