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()