php程序員面試題目_php程序員面試問題
對于PHP程序員來說,在求職面試中,做好面試準(zhǔn)備很有必要,那么你了解面試中的題目了嗎?下面小編已經(jīng)為你們整理了php程序員面試題目,一起來看看吧。
php程序員面試題目一
1、用PHP打印出前一天的時間格式為-11-29 15:39:24
echo date('Y-m-d H:i:s',strtotime('-1 days'));
2、echo()、print()、print_r()之間的區(qū)別?
echo是PHP語句,print和print_r是函數(shù),語句沒有返回值,函數(shù)可以有返回值。
echo輸出一個或多個字符串
print()只能打印出簡單類型變量的值
print_r()可以打印出復(fù)雜類型變量的值
3、能夠使HTML和PHP分離開使用的模板
Smarty、Dwoo、TinyButSting、template lite、Savant、Phemplate、XTemplate
4、使用哪些工具進(jìn)行版本控制
CVS、SVN、VSS
5、數(shù)據(jù)庫中的事務(wù)是什么?
答:事務(wù)就是一系列的操作,這些操作完成一項(xiàng)任務(wù)。只要這些操作里有一個操作沒有成功,事務(wù)就操作失敗,發(fā)生回滾事件。即撤消前面的操作,這樣可以保證數(shù)據(jù)的一致性。而且可以把操作暫時放在緩存里,等所有操作都成功有提交數(shù)據(jù)庫,這樣保證費(fèi)時的操作都是有效操作。
6、用PHP寫出顯示客戶端IP與服務(wù)器IP的代碼
答:$_SERVER["SERVER_ADDR"]服務(wù)器
$_SERVER["REMOTE_ADDR"]客戶端
7、error_reporting(2047)什么作用?
答:PHP 顯示所有錯誤 E_ALL
php程序員面試題目二
1、表單中g(shù)et和post提交方法的區(qū)別?
get方法通過URL請求來傳遞用戶數(shù)據(jù),將表單中的各字段名稱及內(nèi)容,以成對的字符串連接,置于action屬性所指的程序URL后,受URL長度的限制,數(shù)據(jù)量不會大于1024字節(jié)
get是用來從服務(wù)器上獲得數(shù)據(jù),而post是用來向服務(wù)器上傳遞數(shù)據(jù)
get是不安全的,傳輸?shù)臄?shù)據(jù)量小,但執(zhí)行效率比post高,而post相對安全,傳輸?shù)臄?shù)據(jù)量大,可達(dá)2M
2、session與cookie的區(qū)別?
cookie數(shù)據(jù)存放在客戶的瀏覽器上,session數(shù)據(jù)放在服務(wù)器上。
cookie不是很安全,別人可以分析存放在本地的COOKIE并進(jìn)行COOKIE欺騙,
而session因?yàn)閿?shù)據(jù)存放在服務(wù)器端,相對安全
session會在一定的時間內(nèi)保存在服務(wù)器上,當(dāng)訪問量增多,會比較占用你服務(wù)器的性能
單個cookie在客戶端的限制是3K,就是說一個站點(diǎn)在客戶端存放的COOKIE不能大于3K
個人建議:將登陸信息等重要的信息存放為session,其他信息如需保留,可以放在COOKIE中
3、數(shù)據(jù)庫中的事務(wù)是什么?
事務(wù)(transaction)是作為一個單元的一組有序的數(shù)據(jù)庫操作,如果組中的所有操作都成功,則認(rèn)為事務(wù)是成功的,即使有一個操作失敗,事務(wù)也是不成功的。如果所有操作完成,事務(wù)則提交,其修改將作用于所有其他數(shù)據(jù)庫進(jìn)程。如果一個操作失敗,則事務(wù)將回滾,該事務(wù)所有操作的影響將取消。
4、empty,is_null,isset,unset的區(qū)別?
isset判斷變量是否已存在,
unset把變量刪除(釋放)掉
empty判斷變量是否為空
is_null判斷變量是否為null
php程序員面試題目三
1、打開php.ini中的Safe_mode,會影響哪些函數(shù)?
答:01:用戶輸入輸出函數(shù)(fopen() file()require(),只能用于調(diào)用這些函數(shù)有相同腳本的擁有者)
02:創(chuàng)建新文件(限制用戶只在該用戶擁有目錄下創(chuàng)建文件)
03:用戶調(diào)用popen() systen()exec()等腳本,只有腳本處在sa fe_mode_exec_dir配置指令指定的 錄中才可能
04:加強(qiáng)HTTP認(rèn)證,認(rèn)證腳本擁有者的UID的劃入認(rèn)證領(lǐng)域范圍內(nèi),此外啟用安全模式下,不會設(shè)置PHP_AUTH
05:mysql服務(wù)器所用的用戶名必須與調(diào)用mysql_connect()的文件的擁有者用戶名相同
06:受影響的函數(shù)變量以及配置命令達(dá)到40個
2、 MySQL數(shù)據(jù)庫,怎么優(yōu)化?
答:(1)配置優(yōu)化(服務(wù)器配置)
調(diào)節(jié)服務(wù)器參數(shù)(shell->mysqld-help 生成mysql配置選項(xiàng)和可配置變量的表)。
(2)建表優(yōu)化(表、字段設(shè)置)
(3)查詢優(yōu)化(sql語句)
3、寫一個函數(shù)
要求:能夠遍歷一個文件夾下的所有文件和子文件夾。(目錄操作)
$d = dir(dirname(__file__));
echo “Handle: ” . $d->handle . “\n”;
echo “Path: ” . $d->path . “\n”;
while ( false !== ($entry = $d->read ()) ) {
echo $entry . “<br />”;
}
$d->close ();
4、能夠使HTML和PHP分離開使用的模板
答:Smarty
8使用哪些工具進(jìn)行版本控制?
答:cvs
5、用PHP打印出前一天的時間格式是2006-5-10 22:21:21
答:echo date(‘Y-m-d H:i:s’, strtotime(‘-1 days’));
6、如何實(shí)現(xiàn)字符串翻轉(zhuǎn)?(3分)
答:echo strrev($a);
7、請寫一個函數(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、簡述如何得到當(dāng)前執(zhí)行腳本路徑,包括所得到參數(shù)。
答:$script_name = basename(__file__); print_r($script_name);
9、檢測一個變量是否有設(shè)置的函數(shù)是否?是否為空的函數(shù)是?
答:isset($str),empty($str);
看了“php程序員面試題目”