1. 程式人生 > >PHP面試題集錦(一)

PHP面試題集錦(一)

day clu 數據庫緩存 優勢 腳本 源代碼 任務 頁面 文件

1、用PHP打印出前一天的時間格式是2017-5-10 22:21:21(2分)

Answer:

$a = date("Y-m-d H:i:s", strtotime("-1 day")); print_r($a);

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

Answer:

常見的輸出語句

echo()
可以一次輸出多個值,多個值之間用逗號分隔。echo是語言結構(language construct),而並不是真正的函數,因此不能作為表達式的一部分使用。

print()
函數print()打印一個值(它的參數),如果字符串成功顯示則返回true,否則返回false。

print_r()
可以把字符串和數字簡單地打印出來,而數組則以括起來的鍵和值得列表形式顯示,並以Array開頭。但print_r()輸出布爾值和NULL的結果沒有意義,因為都是打印"\n"。因此用var_dump()函數更適合調試。

var_dump()
判斷一個變量的類型與長度,並輸出變量的數值,如果變量有值輸的是變量的值並回返數據類型。此函數顯示關於一個或多個表達式的結構信息,包括表達式的類型與值。數組將遞歸展開值,通過縮進顯示其結構。

3、能夠使HTML和PHP分離開使用的模板(1分) Answer: smarty,phplib

4、使用哪些工具進行版本控制?(1分)

Answer: svn(推薦) git(墻裂推薦學習) cvs
5、優化MYSQL數據庫的方法。(4分,多寫多得) Answer: 語句方面: 1 使用索引,增加查詢效率 2 優化查詢語句,提高索引命中率 數據庫涉及方面: 1 構造分庫分表,提高數據庫的存儲和擴展能力 2 根據需要使用不同的存儲引擎 6、談談你對PHP的理解(送1分) Answer: PHP,一個嵌套的縮寫名稱,是英文超級文本預處理語言(PHP:Hypertext Preprocessor)的縮寫。PHP原始為 Personal Home Page的縮寫,現已經正式更名為 "PHP: Hypertext Preprocessor"的縮寫。註意不是“Hypertext Preprocessor”的縮寫
,這種將名稱放到定義中的寫法被稱作遞歸縮寫。
優勢所在:

1、開放的源代碼:

所有的PHP源代碼事實上都可以得到。 

2、PHP是免費的:

和其它技術相比,PHP本身免費且是開源代碼。 

3、php的快捷性:

程序開發快,運行快,技術本身學習快。嵌入於HTML:因為PHP可以被嵌入於HTML語言,它相對於其他語言。編輯簡單,實用性強,更適合初學者。 

4、跨平臺性強:

由於PHP是運行在服務器端的腳本,可以運行在UNIX、LINUX、WINDOWS、Mac OS下。 

5、效率高:

PHP消耗相當少的系統資源。 

6、圖像處理:

用PHP動態創建圖像 

7、面向對象:

在php4,php5 中,面向對象方面都有了很大的改進,php完全可以用來開發大型商業程序。 

8、專業專註:

PHP支持腳本語言為主,同為類C語言。

技術應用

1,偽靜態

2,靜態頁面生成

3,數據庫緩存

4,過程緩存

5,div+cssw3c標準

6,大負荷

7,分布式

8,flex

9,桌面程序應用(不擅長)

10,支持MVC模型

11,Smarty模版引擎

7.對於大流量的網站,您采用什麽樣的方法來解決訪問量問題?(4分) Answer 1 有效使用緩存,增加緩存命中率 2 使用負載均衡 3 對靜態文件使用CDN進行存儲和加速 4 想法減少數據庫的使用 5 查看出現統計的瓶頸在哪裏 8.語句include和require的區別是什麽?為避免多次包含同一文件,可用(?)語句代替它們? (2分) Answer: 在失敗的時候: include產生一個warning,而require產生直接產生錯誤中斷 require在運行載入 include在運行載入 require_once include_once 9.mysql_fetch_row() 和mysql_fetch_array之間有什麽區別? (1分) Answer: mysql_fetch_array() 是 mysql_fetch_row() 的擴展版本。除了將數據以數字索引方式儲存在數組中之外,還可以將數據作為關聯索引儲存,用字段名作為鍵名。 10.GD庫是做什麽用的? (1分) Answer: 動態的開放的圖片處理庫 11.談談你對MVC模式的理解 Answer: MVC是Model—View—Controler的簡稱。即模型—視圖—控制器。MVC是一種設計模式,它強制性的把應用程序的輸入、處理和輸出分開。 MVC中的模型、視圖、控制器它們分別擔負著不同的任務。 視圖: 視圖是用戶看到並與之交互的界面。視圖向用戶顯示相關的數據,並接受用戶的輸入。視圖不進行任何業務邏輯處理。 模型: 模型表示業務數據和業務處理。相當於JavaBean。一個模型能為多個視圖提供數據。這提高了應用程序的重用性 控制器: 當用戶單擊Web頁面中的提交按鈕時,控制器接受請求並調用相應的模型去處理請求。然後根據處理的結果調用相應的視圖來顯示處理的結果。 MVC的處理過程:首先控制器接受用戶的請求,調用相應的模型來進行業務處理,並返回數據給控制器。控制器調用相應的視圖來顯示處理的結果。並通過視圖呈現給用戶。 (試題來源於網絡,如有侵犯到您的權益,請聯系我。謝謝!)

PHP面試題集錦(一)