1. echo count(「abc」); 輸出什麼?php
答案:1java
2. 用PHP代碼寫出顯示客戶端IP與服務器IP的代碼。sql
答案:客戶端 getenv(‘REMOTE_ADDR’); 服務器端 getenv(‘SERVER_ADDR’);數據庫
// gethostbyname(「www.phpmst.com」);數組
3. error_reporting(2047)什麼做用?緩存
答案:至關於 error_reporting(‘E_ALL’); 輸出全部的錯誤。服務器
4.如何實現PHP、JSP交互?架構
答案: 題目有點含糊不清,SOAP,XML_RPC,Socket function,CURL均可以實現這些,若是是考PHP和Java的整合,PHP內置了這種機制(若是考PHP和.NET的整合,也能夠這麼回答), 例如$foo = new Java(‘java.lang.System’);數據庫設計
5. 打開php.ini中的Safe_mode,會影響哪些參數?至少說出6個。函數
答案:此模塊打開時,php將檢查當前腳本的擁有者是否和被操做文件的擁有者相同,所以,將影響文件操做類函數,程序執行函數(program Execution Functions)。這些函數有.pathinfo,basename,fopen,system,exec,proc_open 等函數;
6. 請寫一個函數驗證電子郵件的格式是否正確(要求使用正則)。
function checkEmail($mail){
$reg = ‘/^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$/’;
$rst = preg_match($reg , $mail);
if($rst){
return TRUE;
}else {
return FALSE;
} }
7. 寫個函數用來對二維數組排序。
答案:array_multisort() 。
八、優化MYSQL數據庫的方法。
答案:(1).數據庫設計方面,這是DBA和Architect的責任,設計結構良好的數據庫,必要的時候,去正規化(英文是這個:denormalize,中文翻譯成啥我不知道),容許部分數據冗餘,避免JOIN操做,以提升查詢效率。
(2).系統架構設計方面,表散列,把海量數據散列到幾個不一樣的表裏面.快慢表,快表只留最新數據,慢表是歷史存檔.集羣,主服務器Read & write,從服務器read only,或者N臺服務器,各機器互爲Master。
(3).(1)和(2)超越PHP programmer的要求了,會更好,不會不要緊.檢查有沒有少加索引。
(4).寫高效的SQL語句,看看有沒有寫低效的SQL語句,好比生成笛卡爾積的全鏈接啊,大量的Group By和order by,沒有limit等等.必要的時候,把數據庫邏輯封裝到DBMS端的存儲過程裏面.緩存查詢結果,explain每個sql語句。
(5).所得皆必須,只從數據庫取必需的數據,好比查詢某篇文章的評論數,select count(*) … where article_id = ? 就能夠了,不要先select * … where article_id = ?而後msql_num_rows. 只傳送必須的SQL語句,好比修改文章的時候,若是用戶只修改了標題,那就… set title = ? where article_id = ?不要set content = ?(大文本)。
(6).必要的時候用不一樣的存儲引擎,好比InnoDB能夠減小死鎖,HEAp能夠提升一個數量級的查詢速度。