PHP程式設計師經典面試問題
1、PHP的意思,它能幹些什麼?
PHP是一個基於服務端來建立動態網站的指令碼語言,您可以用PHP和HTML生成網站主頁,英文的全稱(Professional Home Pages) 1、WEB開發、實現訂單、網路通訊、線上支付、一切網際網路可以實現的工作。
2、指令碼的開發,Shell 指令碼、 windows的計劃任務等
3、軟體的開發,PHP-GTK等第三方的軟體,使用php語法配合其他的語言開發軟體
2、談談對mvc的認識?
由模型(Model),檢視(View),控制器(Controller)完成的應用程式
由模型發出要實現的功能到控制器,控制器接收組織功能傳遞給檢視;參考《PHP100視訊教程》43、44、75、76、77講
3、GD庫是做什麼用的?
GD庫提供了一系列用來處理圖片的功能,使用GD庫可以處理圖片,或者生成圖
片。 在網站上GD庫通常用來生成縮圖或者用來對圖片加水印或者對網站資料
生成報表。現在常用的.GD2功能更強大,可以實現對gif、png圖片的處理
4、資料型別(int char varchar datetime text)的意思; 請問varchar和char有什麼別?
int是數字型別,char固定長度字串,varchar實際長度字串,datetime日期時間型,text文字字串,char的場地固定為建立表設定的長度,varchar為可變長度的字元
5、表單中 get與post提交方法的區別?
get是傳送請求HTTP協議通過url引數傳遞進行接收
而post是實體資料,可以通過表單提交大量資訊.
6、session與cookie的區別?
session:儲存使用者訪問的全域性唯一變數,儲存在伺服器上的php指定的目錄中的一般
用於後臺和安全性比較高的地方。cookie:是儲存在客戶端,對於Cookie來說是儲存在使用者瀏覽器下面的,一般使用者
登陸,負載壓力比較大的地方。可以減輕伺服器的負載。
7、echo(),print(),print_r()的區別?
echo是PHP語句, print和print_r是函式,語句沒有返回值,函式可以有返回值print()只能打印出簡單型別變數的值(如int,string)
print_r() 可以打印出複雜型別變數的值(如陣列,物件)
Echo 輸出一個或者多個字串
8、什麼是模板技術、能夠使HTML和PHP分離開使用的模板?
模板技術就是使PHP和HTML、CSS、JS 分離,實現更加合理和程式碼的部署Smarty ,XTemplate, Template Lite, Easy Template…
9、使用哪些工具進行版本控制?
Cvs 、 Svn 、Vss
參考《PHP100視訊教程》94、95講
10、對於大流量的網站,您採用什麼樣的方法來解決訪問量問題?
確認伺服器硬體是否足夠支援當前的流量,資料庫讀寫分離,優化資料表,
程式功能規則,禁止外部的盜鏈,控制大檔案的下載,使用不同主機分流主要流量
1、PHP程式上可以使用生成靜態檔案實現服務資料庫壓力
2、使用PHP快取技術、或第三方的mamcached 等快取技術實現伺服器壓力參考《PHP100視訊教程》samrty快取技術、mamcached快取用法
11、include和require的區別是什麼?為避免多次包含同一檔案可用什麼代替它們?
包含檔案不存在或者語法錯誤的時候require是致命的,include不是 require需要放在頭部預先載入,而include放在檔案的任何位置隨時載入
還有一對擴充套件函式:require_once() include_once()