PHP面試題

1.用PHP打印出前一天凌晨的時間,格式是2006-6-10 22:22:22
echo date("Y-m-d 00:00:00", strtotime("-1 day"));
2.jQuery中當(dāng)頁面完全載入后使 <div id="test">test</div> 隱藏

$(document).ready(function(){
    $("#test").hide();
});

3.linux下改變文件權(quán)限的命令愉昆?如使test.php變?yōu)樗杏脩艨勺x寫不可執(zhí)行访诱。
chmod 666 test.php
4.MySQL如何取得當(dāng)前時間的UNIX時間戳?如何格式化UNIX時間戳锋拖?

UNIX_TIMESTAMP();
FROM_UNIXTIME(UNIX_TIMESTAMP(), '%Y-%m-%d %H:%i:%s');

5.PHP中如何驗證郵件格式是否正確诈悍?

filter_var('bob@example.com', FILTER_VALIDATE_EMAIL);
//或者正則 TODO

6.用戶表a(user_id, user_name),發(fā)表文章的表b(a_id兽埃,user_id, create_time, content),其中a_id為文章id侥钳,用一個sql語句得到每一個用戶在2010-1-1以后發(fā)表文章數(shù)量的列表

SELECT a.user_id AS user_id, COUNT(b.a_id) AS num FROM a LEFT JOIN b ON a.user_id = b.a_id WHERE a.create_time > '2010-1-1';

7.請用PHP遍歷目錄下所有文件和文件夾

function tree($dir) { 
    $mydir = dir($dir); 

    while($file = $mydir->read()) { 
        if((is_dir("$dir/$file")) 
        && ($file!=".") && ($file!="..")) {
            echo $file, "\\n"; 
            tree("$dir/$file"); 
        } else {
            echo $file, "\\n"; 
        }
    } 

    $mydir->close(); 
}

8.寫出你知道的幾個HTTP返回狀態(tài)碼,并說明用途

200 ok

301 永久重定向
302 臨時重定向

對瀏覽器一樣都做跳轉(zhuǎn)柄错,對搜索引擎不一樣舷夺。
301 搜索引擎在抓取新內(nèi)容的同時也將舊的網(wǎng)址替換為重定向之后的網(wǎng)址,302 搜索引擎會抓取新的內(nèi)容而保留舊的網(wǎng)址售貌。
304 文檔未修改 一般用在做靜態(tài)資源緩存

403 拒絕
404 未找到

500 內(nèi)部錯誤  常見錯誤可能是文件目錄權(quán)限或數(shù)據(jù)庫連接問題
501 未實現(xiàn)
502 錯誤網(wǎng)關(guān)
503 服務(wù)不可用

9.Linux命令给猾,請用Linux命令獲取文件log.txt的行數(shù)
wc -l log.txt //-c 字節(jié)數(shù) -w 字?jǐn)?shù)
10.請使用PHP描述冒泡排序和快排,對象可以是一個數(shù)組

$arr = array(1,3,4,5,9,6,2);

function maopao($arr) {  
  $len = count($arr);
  for($i=1; $i<$len; $i++) {
    for($k=0; $k<$len-$i; $k++) {
       if($arr[$k]>$arr[$k+1]) {
            $tmp=$arr[$k+1];
            $arr[$k+1]=$arr[$k];
            $arr[$k]=$tmp;
        }
    }
  }
  return $arr;
} 
//Ο(logN)
function quick($arr) {
    $len = count($arr);
    if($len <= 1) {
        return $arr;
    }

    $base = $arr[0];

    $left = array();  //小于 base
    $right = array();  //大于 base
    for($i=1; $i<$len; $i++) {
        if($base > $arr[$i]) {
            $left[] = $arr[$i];
        } else {
            $right[] = $arr[$i];
        }
    }

    $left = quick($left);
    $right = quick($right);

    return array_merge($left, array($base), $right);
}

11.PHP5中魔術(shù)方法函數(shù)有哪幾個颂跨,請舉例說明各自用法

    __construct()敢伸, __destruct(), __call()恒削, __callStatic()池颈, __get()尾序, __set(), __isset()躯砰, __unset()每币, __clone() 

__sleep()、 __wakeup()

對應(yīng) serialize()/unserialize()琢歇,__sleep 清理對象兰怠,__wakeup 預(yù)先準(zhǔn)備對象需要的資源

__toString()用于一個類被當(dāng)成字符串時應(yīng)怎樣回應(yīng)

12.如何在命令行下運行PHP腳本(寫出兩種方式)同時向PHP腳本傳遞參數(shù)?

$argv矿微、getopt()

13.請寫一段PHP代碼痕慢、確保多個進(jìn)程同時寫入同一文件成功

$fd = fopen("test.txt", "a");
if(flock($fd, LOCK_EX)) { // or LOCK_NB 區(qū)別 阻塞 與 非阻塞
    fwrite($fd, "write");
    flock($fd, LOCK_UN);
} else {
    echo "locking";
}

fclose($fd);

14.請描述mysql的innodb和myisam的區(qū)別

Innodb支持事務(wù)處理與外鍵。
Innodb行級鎖涌矢。MyISAM表鎖掖举。寫入頻繁時MyISAM可能會出現(xiàn)lock table。
MyISAM支持全文索引娜庇。
count(*)MyISAM比較快塔次。
災(zāi)后恢復(fù)機(jī)制Innodb比較完善。
Innodb是官方推薦的引擎名秀。

15.一個MySQL數(shù)據(jù)表励负,每天寫入數(shù)據(jù)量非常大,該如何優(yōu)化寫效率
上下文沒給全匕得。具體問題具體分析继榆。常規(guī)做法:檢查索引是否過多,讀寫分離汁掠,切分(水平or垂直)略吨。
16.如何進(jìn)行防SQL注入

1)對特殊字符進(jìn)行轉(zhuǎn)義(mysql_escape_string、addslashes)考阱、過濾或者使用預(yù)編譯的SQL語句綁定變量
2)最小權(quán)限原則翠忠,不用root賬戶。
3)SQL語句運行出錯時乞榨,不要顯示錯誤信息給用戶秽之。```
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市吃既,隨后出現(xiàn)的幾起案子考榨,更是在濱河造成了極大的恐慌,老刑警劉巖鹦倚,帶你破解...
    沈念sama閱讀 218,941評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件董虱,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)愤诱,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來捐友,“玉大人淫半,你說我怎么就攤上這事∠蛔” “怎么了科吭?”我有些...
    開封第一講書人閱讀 165,345評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長猴鲫。 經(jīng)常有香客問我对人,道長,這世上最難降的妖魔是什么拂共? 我笑而不...
    開封第一講書人閱讀 58,851評論 1 295
  • 正文 為了忘掉前任牺弄,我火速辦了婚禮,結(jié)果婚禮上宜狐,老公的妹妹穿的比我還像新娘势告。我一直安慰自己,他們只是感情好抚恒,可當(dāng)我...
    茶點故事閱讀 67,868評論 6 392
  • 文/花漫 我一把揭開白布咱台。 她就那樣靜靜地躺著,像睡著了一般俭驮。 火紅的嫁衣襯著肌膚如雪回溺。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,688評論 1 305
  • 那天混萝,我揣著相機(jī)與錄音遗遵,去河邊找鬼。 笑死譬圣,一個胖子當(dāng)著我的面吹牛瓮恭,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播厘熟,決...
    沈念sama閱讀 40,414評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼屯蹦,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了绳姨?” 一聲冷哼從身側(cè)響起登澜,我...
    開封第一講書人閱讀 39,319評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎飘庄,沒想到半個月后脑蠕,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,775評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年谴仙,在試婚紗的時候發(fā)現(xiàn)自己被綠了迂求。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,096評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡晃跺,死狀恐怖揩局,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情掀虎,我是刑警寧澤凌盯,帶...
    沈念sama閱讀 35,789評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站烹玉,受9級特大地震影響驰怎,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜二打,卻給世界環(huán)境...
    茶點故事閱讀 41,437評論 3 331
  • 文/蒙蒙 一县忌、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧址儒,春花似錦芹枷、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至喧伞,卻和暖如春走芋,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背潘鲫。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評論 1 271
  • 我被黑心中介騙來泰國打工翁逞, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人溉仑。 一個月前我還...
    沈念sama閱讀 48,308評論 3 372
  • 正文 我出身青樓挖函,卻偏偏與公主長得像,于是被迫代替她去往敵國和親浊竟。 傳聞我的和親對象是個殘疾皇子怨喘,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,037評論 2 355

推薦閱讀更多精彩內(nèi)容