糯米文學吧

位置:首頁 > 計算機 > php語言

PHP中級程序員常見面試題有哪些

php語言1.32W

PHP中級程序員常見面試題有哪些?考生們需要多做練習,就跟隨本站小編一起去了解下吧,想了解更多相關信息請持續關注我們應屆畢業生考試網!

PHP中級程序員常見面試題有哪些

1.寫一個函數,儘可能高效的,從一個標準url裏取出文件的擴展名例如: 需要取出php或 答: 1、$a= 2、$b=parse_url($a); 3、Echosubstr

1.寫一個函數,儘可能高效的,從一個標準url裏取出文件的擴展名例如: 需要取出php或

答: 1、$a=" 2、$b=parse_url($a); 3、Echosubstr($b['path'],strpos($b['path'],'.')); 或者: 4、Echoend(explode('.',$b['path']));2

2.描述一下大流量高併發量網站的解決方案

d   答: 1、確認服務器硬件是否足夠支持當前的流量。

2、使用memcache緩存技術,將動態數據緩存到內存中,動態網頁直接調用這些文件,而不必在訪問數據庫。

3、禁止外部的盜鏈。

4、外部網站的圖片或者文件盜鏈往往會帶來大量的負載壓力,因此應該嚴格限制外部對自身圖片或者文件盜鏈,目前可以簡單的通過refer來控制盜 鏈,apache自己就可以通過配置來禁止盜鏈。

5、控制大文件的下載。 大文件的下載會佔用很大的流量,對於非SCSI硬盤來説會消耗,使得網站響應能力下降。

6、使用不同的主機分流主要流量

7、使用流量統計軟件。 在網站上安裝一個流量統計軟件,可以即時知道哪些地方耗費了大量流量,哪些頁面需要再進行優化。

8、分庫分表。

9、Sphinx全文索引引擎。

如何設計或配置Mysql,才能達到高效使用的目的。

答:

1、數據庫設計方面,設計結構良好的數據庫,允許部分數據宂餘。 選取最適用的字段屬性,儘可能把字段設置為NOTNULL,這樣在查詢的時候,數據庫不用去比較NULL值。

2、系統架構設計方面,表散列,把海量數據散列到幾個不同的`表裏面,集羣,數據庫查詢和寫入分開。 寫高效sql語句,以提高效率。使用連接(join)來代替子查詢使用聯合(union)來代替手動創建的臨時表所得皆必須,只從數據庫取必須的數據。必 要的時候用不同的存儲引擎,比如Innodb可以減少死鎖,HEAP可以提高一個數量級的查詢速度。

使用事務使用外鍵使用索引24.如何進行防SQL注 入?

答:

1、過濾掉一些常見的數據庫操作關鍵字:select,insert,update,delete,and,*等或者通過系統函 數:addslashes(需要被過濾的內容)來進行過濾。

2、在PHP配置文件中Register_globals=off;設置為關閉狀態 //作用將註冊全局變量關閉。比如:接收POST表單的值使用$_POST['user'],如果將register_globals=on;直接使 用$user可以接收表單的值。

3、SQL語句書寫的時候儘量不要省略小引號(tab鍵上面那個)和單引號

4、提高數據庫命名技巧,對於一些重要的字段根據程序的特點命名,取不易被猜到的

5、對於常用的方法加以封裝,避免直接暴漏SQL語句

6、開啟PHP安全模式Safe_mode=on;

7、打開magic_quotes_gpc來防止SQL注入 Magic_quotes_gpc=off;默認是關閉的,它打開後將自動把用户提交的sql語句的查詢進行轉換,把'轉為',這對防止sql注入有重 大作用。因此開啟:magic_quotes_gpc=on;

8、控制錯誤信息關閉錯誤提示信息,將錯誤信息寫到系統日誌。

9、使用mysqli或pdo預處理。

用PHP寫出一個安全的用户登錄系統需要注意哪些方面。

答:

1、密碼要使用MD5(密碼+字符串)進行加 密。

2、登錄表單的名稱不要跟數據庫字段一樣,以免暴漏表字段。

3、用户表的表名、字段名、密碼儘量用不容易被猜到的。

4、要使用驗證碼驗證登陸,以防止 暴力破解。

5、驗證提交的數據是不是來自本網站。

6、登錄後台處理代碼數據庫部分使用預處理,做好過濾,防止sql注入。

使用過哪些PHP框架。試 描述其優劣點。

答:

1、BroPHP框架:優點:輕量級學習型框架,配置簡單,操作簡單,容易上手,提供了比較全面的文檔。缺點:

2、ThinkPHP框 架:優點:功能比較全面,配置相對比較簡單,操作相對比較簡單,有很多使用示例程序。缺點:提供的操作方法太多,新手不知如何選擇,文檔不夠全面。

用過哪些版本控制工具?