碰見過的PHP面試題

說幾個你知道的設計模式?

  • 單例模式: 保證一個類僅有一個實例,並提供一個訪問他的全局訪問點例如框架中的數據庫鏈接php

  • 策略模式: 針對一組算法,將每個算法封裝到具備共同接口的獨立的類中,例如進入我的主頁時,根據瀏覽者的不一樣,給予不一樣的顯示與操做。mysql

  • 註冊模式: 提供了在程序中有條理的存放並管理一組全局對象 (object),例如ZF框架中的Zend_Registry::set。算法

  • 適配器模式: 將不一樣接口適配成統一的API接口,例如數據操做有mysql、mysqli、pdo等,可利用適配器模式統一接口sql

  • 觀察者模式: 一個對象經過添加一個方法使自己變得可觀察。當可觀察的對象更改時,它會將消息發送到已註冊的觀察者。例如實現實現消息推送數據庫

  • 裝飾器模式: 不修改原類代碼和繼承的狀況下動態擴展類的功能,例如框架的每一個Controller文件會提供before和after方法設計模式

  • 迭代器模式: 提供一個方法順序訪問一個聚合對象中各個元素,在PHP中將繼承 Iterator 類數組

POST和GET有什麼區別?

  • GET是從服務器上獲取數據,POST是向服務器傳送數據安全

  • GET是經過發送HTTP協議經過URl參數傳遞進行接收,而POST是實體數據,經過表單提交服務器

  • GET傳送的數據量較小,不能大於2KB。POST傳送的數據量較大,通常被默認爲不受限制。cookie

  • GET安全性很是低,POST安全性較高

session與cookie的區別?

  • session:存儲在服務器上的php指定的目錄中的(session_dir)的位置

  • cookie:存儲在客戶端,對於Cookie來講是存儲在用戶WIN的Temp目錄中的。

數據庫中的事務是什麼?

  • 事務:指做爲一個單元的一組有序的數據庫操做。若是組中的全部操做都成功,則認爲事務成功,即便只有一個操做失敗,事務也不成功。若是全部操做完成,事務則提交,其修改將做用於全部其餘數據庫進程。若是一個操做失敗,則事務將回滾,該事務全部操做的影響都將取消。

MySQL數據庫存儲引擎有哪些?

  • MyISAM:成熟、穩定、易於管理,快速讀取。一些功能不支持(事務等),表級鎖。

  • InnoDB:支持事務、外鍵等特性、數據行鎖定。空間佔用大,不支持全文索引等。

用PHP打印出前一天的時間格式是2006-5-10 22:21:21?

echo date('Y-m-d H:i:s',time());

MYSQL取得當前時間的函數是?,格式化日期的函數是?

now();
date();

您是否用過模板引擎? 若是有您用的模板引擎的名字是?

smarty 模板引擎

php中傳值與傳引用的區別?何時傳值何時傳引用?

  • 按值傳遞:函數內對值的任何改變在函數外部都會被忽略。

  • 引用傳遞:函數內對值的任何改變在函數外部也能反映出這些修改。

  • 應用場景:按值傳遞時,php必須複製值,而按引用傳遞則不須要複製值,故引用傳遞通常用於大字符串或對象。

對於大流量的網站,您採用什麼樣的方法來解決訪問量問題?

  • 確認服務器硬件是否足夠支持當前的流量

  • 數據庫讀寫分離,優化數據表

  • 程序功能規則,禁止外部的盜鏈,控制大文件的下載

  • 使用不一樣主機分流主要流量

語句include和require的區別是什麼?爲避免屢次包含同一文件,可用什麼語句代替它們?

  • require:無條件包含,即在一個流程裏的require,不管條件成立與否都會先執行。當包含文件不存在或語法錯誤致命錯誤時,會終止程序執行。

  • include:有返回值,當包含文件不存在或語法錯誤致命錯誤,不會終止程序執行。

  • 可使用include_once();或require_once();代替。

echo、print()、print_r()、printf()、sprintf()、var_dump()有什麼區別?

  • echo :是語句不是函數,沒有返回值,可輸出多個變量值,不能輸出數組和對象,只能打印簡單類型(如int,string)。

  • print :是語句不是函數,有返回值 1 ,只能輸出一個變量,不能輸出數組和對象,只能打印簡單類型(如int,string)。

  • print_r :是函數,能夠打印複合類型,例如:float、array、object等。

  • printf :是函數,把文字格式化之後輸出。

  • sprintf :是函數,不打印,而是返回格式化後的文字,其餘的與printf同樣。

  • var_dump :函數,輸出變量的內容、類型或字符串的內容、類型、長度。經常使用來調試。

相關文章
相關標籤/搜索