初中級PHP面試題型一(附答案)

面試題型一
1、氣泡排序,面試前一定要記住哦!

氣泡排序
2、快速排序,面試前一定要記住哦!

快速排序
3、請說明 PHP 中傳值與傳引用的區別,什麼時候傳值什麼時候傳引用?
按值傳遞:函式範圍內對值的任何改變在函式外部都會被忽略
按引用傳遞:函式範圍內對值的任何改變在函式外部也能反映出這些修改
優缺點:按值傳遞時,php必須複製值。特別是對於大型的字串和物件來說,這將會是一個代價很大的操作。按引用傳遞則不需要複製值,對於效能提高很有好處。(優缺點會考到)
4、MySQL資料庫中的欄位型別varchar和char的主要區別是什麼?
Varchar是變長,節省儲存空間,char是固定長度。查詢效率要char型快,因為varchar是非定長,必須先查詢長度,然後進行資料的提取,比char定長型別多了一個步驟,所以效率低一些。
5、MySQL資料庫的常用儲存引擎以及它們的區別?
MyISAM:不支援事務,表鎖,易產生碎片,要經常優化,讀寫速度較快,支援全文索引。
InnoDB:支援事務,行鎖,有崩潰恢復能力。讀寫速度比MyISAM慢,5.6之後支援全文索引。
儲存引擎是基於表的,而不是資料庫
6、對於大流量的網站,採用什麼樣的方法來解決訪問量問題?
首先,確認伺服器硬體是否足夠支援當前的流量
其次,優化資料庫訪問。
第三,禁止外部的盜鏈。
第四,控制大檔案的下載。
第五,使用不同主機分流主要流量
第六,使用流量分析統計軟體
第七,儘量使用靜態頁,快取
7、什麼是面向物件?主要特徵是什麼?
面向物件是程式的一種設計方式,它利於提高程式的重用性,使程式結構更加清晰。主要特徵:封裝、繼承、多型。
8、SESSION 與 COOKIE的區別是什麼?這是重點
SESSION儲存在伺服器端,COOKIE儲存在客戶端。Session比較安全,cookie用某些手段可以修改,不安全。Session依賴於cookie進行傳遞。禁用cookie後,session還可以使用,在儲存session的檔案中,生成sessionID,通過get傳參的方式將sessionID傳到要實現session共享的頁面,讀取sessionID,從而從session中獲取資料。
9、對快取技術的瞭解?redis是個考點
1、快取技術是將動態內容快取到檔案中,在一定時間內訪問動態頁面直接呼叫快取檔案,而不必重新訪問資料庫。
2、使用memcache可以做快取。
10、表單中get和post提交方式的區別
get是顯式的,資料從url中可以看到,傳輸的資料量小,安全性低;
post是隱式的,傳送的資料量較大,安全性較高