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的時候再寫.
-
PHP緩存技術
PHP具有非常強大的功能,所有的CGI的功能PHP都能實現,而且支持幾乎所有流行的數據庫以及操作系統。最重要的是PHP可以用C、C++進行程序的擴展!以下是小編為大家搜索整理的PHP緩存技術,希望能給大家帶來幫助!更多精彩內容請及時關注我們應屆畢業生考試網!全頁面靜態...
-
PHP學習入門的一些基礎知識
導語:PHP是一種通用開源腳本語言。語法吸收了C語言、Java和Perl的特點,利於學習,使用廣泛,主要適用於Web開發領域。下面我們來看看PHP學習入門的一些基礎知識,希望對大家有所幫助。一,PHP腳本代碼標記PHP的腳本是文件中一對特殊標記所包括的內容,如ASP是“”,PHP可看...
-
PHP時間和日期函數怎麼操作
php函數的多樣化和功能相近真是一大特點,同一個應用可以用多種函數實現,這恐怕也是開源的一個弊端了;通過對PHP時間函數的系統學習,充分理解了時間戳和時區的概念(這個真的很重要),有需要的小夥伴可以參考下。PHP中所有函數都是UNIX紀元的,即從1970年1月1日開始的。日...
-
編譯chm格式PHP手冊的方法
微軟的chm文件格式是很受我們喜愛的,因為它可以把很多HTML文件打包成一個文件,容易傳輸和分享。而且非常方便易用,支持索引、搜索等。正因為這樣,大家通常都使用chm版本的PHP手冊。php.net會定期編譯PHP手冊,提供各種版本供大家下載,包括chm格式。由於是定期編譯,所以...