- 相關(guān)推薦
php面試官常問(wèn)的問(wèn)題
PHP程序員參加求職面試中,要學(xué)會(huì)做好面試準(zhǔn)備,了解面試常問(wèn)的問(wèn)題很重要,那么面試官常問(wèn)哪些面試問(wèn)題呢?下面陽(yáng)光網(wǎng)小編已經(jīng)為你們整理了php面試官常問(wèn)的問(wèn)題,一起來(lái)看看吧。
php面試官常問(wèn)的問(wèn)題一
1、PHP可以和sql server/oracle等數(shù)據(jù)庫(kù)連接嗎?
答:可以
2、寫出PHP5權(quán)限控制修飾符?
答:public(公共),private(私用),protected(繼承)
3、請(qǐng)寫出php5的構(gòu)造函數(shù)和析構(gòu)函數(shù)?
答: 構(gòu)造函數(shù):官方稱自定義函數(shù)
析構(gòu)函數(shù):垃圾回收函數(shù)(__destruct)
4、表單中 get與post提交方法的區(qū)別?
答:get是發(fā)送請(qǐng)求HTTP協(xié)議通過(guò)url參數(shù)傳遞進(jìn)行接收,而post是實(shí)體數(shù)據(jù),可以通過(guò)表單提交大量信息.
5、session與cookie的區(qū)別?
答:session:儲(chǔ)存用戶訪問(wèn)的全局唯一變量,存儲(chǔ)在服務(wù)器上的`php指定的目錄中的(session_dir)的位置進(jìn)行的存放
cookie:用來(lái)存儲(chǔ)連續(xù)訪問(wèn)一個(gè)頁(yè)面時(shí)所使用,是存儲(chǔ)在客戶端,對(duì)于Cookie來(lái)說(shuō)是存儲(chǔ)在用戶WIN的Temp目錄中的。
兩者都可通過(guò)時(shí)間來(lái)設(shè)置時(shí)間長(zhǎng)短
6、用PHP打印出前一天的時(shí)間格式是2010-7-3 12:28:21?
答:echo date(‘Y-m-d H:i:s’, strtotime(‘-1 days’));
php面試官常問(wèn)的問(wèn)題二
1、e2ho(),print(),print_r()的區(qū)別?
答:echo是PHP語(yǔ)句, print和print_r是函數(shù),語(yǔ)句沒有返回值,函數(shù)可以有返回值(即便沒有用)
print() 只能打印出簡(jiǎn)單類型變量的值(如int,string)
print_r() 可以打印出復(fù)雜類型變量的值(如數(shù)組,對(duì)象)
echo 輸出一個(gè)或者多個(gè)字符串
2、能夠使HTML和PHP分離開使用的模板?
答:Smarty, TinyButStrong,XTemplate, Savant,Template Lite, Dwoo, phemplate
3、哪些工具進(jìn)行版本控制?
答:cvs,svn,vss;
4、如何實(shí)現(xiàn)字符串翻轉(zhuǎn)?
答:echo strrev($a); //strrev — 顛倒字符串
5、優(yōu)化查詢語(yǔ)句?
a.最好在相同字段進(jìn)行比較操作,在建立好的索引字段上盡量減少函數(shù)操作
例子1:
SELECT * FROM order WHERE YEAR(orderDate)<2008;(慢)
SELECT * FROM order WHERE orderDate<"2008-01-01";(快)
例子2:
SELECT * FROM order WHERE addtime/7<24;(慢)
SELECT * FROM order WHERE addtime<24*7;(快)
例子3:
SELECT * FROM order WHERE title like "%good%";
SELECT * FROM order WHERE title>=”good” and name<"good";
6、對(duì)于大流量的網(wǎng)站,您采用什么樣的方法來(lái)解決訪問(wèn)量問(wèn)題?
答:確認(rèn)服務(wù)器硬件是否足夠支持當(dāng)前的'流量,數(shù)據(jù)庫(kù)讀寫分離,優(yōu)化數(shù)據(jù)表,
程序功能規(guī)則,禁止外部的盜鏈,控制大文件的下載,使用不同主機(jī)分流主要流量
php面試官常問(wèn)的問(wèn)題三
1、得查詢結(jié)果集總數(shù)的函數(shù)是?
答:mysql_num_rows($result);
2、$arr = array(‘james’, ‘tom’, ‘symfony’); 請(qǐng)打印出第一個(gè)元素的值?
答:echo $arr[0];
3、===”是什么?試舉一個(gè)“==”是真但“===”是假的例子。
“===”是既可以返回布爾值“假”,也可以返回一個(gè)不是布爾值但卻可以賦與“假”值的函式,strpos() 和 strrpos() 便是其中兩個(gè)例子。
if (strpos("abc", "a") == true){ // 這部分永不會(huì)被執(zhí)行,因?yàn)?"a" 的'位置是 0,換算成布爾值“假”}if (strpos("abc", "a") === true){ // 這部份會(huì)被執(zhí)行,因?yàn)?ldquo;===”保證函式 strpos() 的送回值不會(huì)換算成布爾值.}
4、以下程序的輸出結(jié)果
$str=“cd”;
$$str=“hotdog”;
$$str.=“ok”;
echo $cd;
?>
答案:hotdogok
5、給你三個(gè)數(shù),寫程序求出其最大值。
$var1=1;
$var2=7;
$var3=8;
$max=$var1>$var2?$var1:$var2;
$max=$max>$var3?$max:$var3;
echo $max;
6、將一個(gè)選擇2號(hào)選項(xiàng)的ip為127.0.0.1的用戶在當(dāng)前時(shí)間的投票記錄到數(shù)據(jù)庫(kù)的SQL
答:insert into poll (ip,time,iid) values('127.0.0.1',now(),2);
7、個(gè)函數(shù)驗(yàn)證電子郵件的格式是否正確 ?
答:function checkEmail($email)
{
$pregEmail = "/([a-z0-9]*[-_\.]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0-9]+)+[\.][a-z]{2,3}([\.][a-z]{2})?/i";
return preg_match($pregEmail,$email);
}
8、表 menu(mainmenu,submenu,url),請(qǐng)用遞歸法寫出一樹形菜單,將所有的menu列出來(lái)
function GenerateMenu($id=0,$str="")
{
$result=mysql_query("select mainmenu,url,submenu from menu where mainmenu=$id");
while($row=mysql_fetch_array($result))
{
echo $str.$row["url"]."
";
GenerateMenu($row["submenu"],$str."--");
}
mysql_free_result($result);
}
$link=mysql_connect("localhost","root","");
mysql_select_db("phpinterview");
GenerateMenu();
mysql_close($link)
?>
【php面試官常問(wèn)的問(wèn)題】相關(guān)文章:
面試官常問(wèn)的問(wèn)題04-03
學(xué)校面試官常問(wèn)的問(wèn)題12-09
面試官常問(wèn)的問(wèn)題大全04-03
面試官常問(wèn)的問(wèn)題英文04-03