面試,是企業(yè)了解人才能力的一個(gè)重要環(huán)節(jié)。下面小編給大家分享下應(yīng)聘php程序員崗位時(shí),企業(yè)HR會(huì)準(zhǔn)備給大家做的面試題:
1.數(shù)據(jù)庫(kù)中的事務(wù)是什么?
答:事務(wù)就是一系列的操作,這些操作完成一項(xiàng)任務(wù)。只要這些操作里有一個(gè)操作沒(méi)有成功,事務(wù)就操作失敗,發(fā)生回滾事件。即撤消前面的操作,這樣可以保證數(shù)據(jù)的一致性。而且可以把操作暫時(shí)放在緩存里,等所有操作都成功有提交數(shù)據(jù)庫(kù),這樣保證費(fèi)時(shí)的操作都是有效操作。
2. 用PHP寫(xiě)出顯示客戶(hù)端IP與服務(wù)器IP的代碼
答:$_SERVER['SERVER_ADDR']服務(wù)器
$_SERVER['REMOTE_ADDR']客戶(hù)端
3. error_reporting(2047)什么作用?
答:PHP 顯示所有錯(cuò)誤 E_ALL
4. 打開(kāi)php.ini中的Safe_mode,會(huì)影響哪些函數(shù)?至少說(shuō)出6個(gè)。
答:1:用戶(hù)輸入輸出函數(shù)(fopen() file()require(),只能用于調(diào)用這些函數(shù)有相同腳本的擁有者)
2:創(chuàng)建新文件(限制用戶(hù)只在該用戶(hù)擁有目錄下創(chuàng)建文件)
3:用戶(hù)調(diào)用popen() systen()exec()等腳本,只有腳本處在sa fe_mode_exec_dir配置指令指定的 錄中才可能
4:加強(qiáng)HTTP認(rèn)證,認(rèn)證腳本擁有者的UID的劃入認(rèn)證領(lǐng)域范圍內(nèi),此外啟用安全模式下,不會(huì)設(shè)置PHP_AUTH
5:mysql服務(wù)器所用的用戶(hù)名必須與調(diào)用mysql_connect()的文件的擁有者用戶(hù)名相同
6:受影響的函數(shù)變量以及配置命令達(dá)到40個(gè)
5. MySQL數(shù)據(jù)庫(kù),怎么優(yōu)化?
答:(1)配置優(yōu)化(服務(wù)器配置)
調(diào)節(jié)服務(wù)器參數(shù)(shell->mysqld-help 生成mysql配置選項(xiàng)和可配置變量的表)。
(2)建表優(yōu)化(表、字段設(shè)置)
(3)查詢(xún)優(yōu)化(sql語(yǔ)句)
6.寫(xiě)一個(gè)函數(shù),能夠遍歷一個(gè)文件夾下的所有文件和子文件夾。(目錄操作)
$d = dir(dirname(__file__));
echo “Handle: ” . $d->handle . “\n”;
echo “Path: ” . $d->path . “\n”;
while ( false !== ($entry = $d->read ()) ) {
echo $entry . “
”;
}
$d->close ();
7、能夠使HTML和PHP分離開(kāi)使用的模板(1分)
答:Smarty
8、使用哪些工具進(jìn)行版本控制?(1分)
答:cvs
9、用PHP打印出前一天的時(shí)間格式是2006-5-10 22:21:21(2分)****************
答:echo date(‘Y-m-d H:i:s’, strtotime(‘-1 days’));
10、如何實(shí)現(xiàn)字符串翻轉(zhuǎn)?(3分)
答:echo strrev($a);
11、MYSQL取得當(dāng)前時(shí)間的函數(shù)是?,格式化日期的函數(shù)是(2分)
答:now(),date()
401代表未被授權(quán),header(“Location:www.xxx.php”);
12. 請(qǐng)寫(xiě)一個(gè)函數(shù)驗(yàn)證電子郵件的格式是否正確 (2分)
答: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);
}
13. 簡(jiǎn)述如何得到當(dāng)前執(zhí)行腳本路徑,包括所得到參數(shù)。(2分)
答:$script_name = basename(__file__); print_r($script_name);
14、檢測(cè)一個(gè)變量是否有設(shè)置的函數(shù)是否?是否為空的函數(shù)是?(2分)
答:isset($str),empty($str);