php高級工程師面試題_php高級程序員面試題
對于PHP高級工程師而言,學會做好面試準備很有必要,那么你知道面試中有哪些面試題嗎?下面小編已經為你們整理了php高級工程師面試題,一起來看看吧。
php高級工程師面試題一
1.高并發大訪問量的mysql優化,服務器優化?
字段建索引、主從數據庫、讀寫分離、表分區、負載均衡。
linux的慢查詢日志會記錄mysql的超時查詢sql語句,定期察看進行優化。
2.大訪問量下秒殺模塊程序怎么設計,如果使用mysql會有多賣的情況,就是訂單超過庫存。
將訂單數據緩存到內存,如果用數據庫直接崩掉,毫無懸念的。
3.緩存的使用
能用靜態的用靜態,不能靜態的用內存緩存,例如memcache、redis,不能緩存的用數據庫。
4.session可不可以跨域?怎么跨域?
將PHP session機制重寫(PHP提供),將session存儲在memcache或者數據庫就可以跨域了。
另外session能以三種方式存儲,文件、數據庫、緩存。
5.了不了解非關系型數據庫?
mongodb
6.會不會寫shell腳本以及linux的操作
還會問一下時下流行的東西,比如做沒做過微信開發,例如微信支付開發、APP移動開發,等等問題。
問的核心東西都是圍繞這些轉的,如果有筆試會讓你寫sql,php功能(例如冒泡排序等排序),還有邏輯題。
php高級工程師面試題二
1.數據庫中的事務是什么?
答:事務就是一系列的操作,這些操作完成一項任務。只要這些操作里有一個操作沒有成功,事務就操作失敗,發生回滾事件。即撤消前面的操作,這樣可以保證數據的一致性。而且可以把操作暫時放在緩存里,等所有操作都成功有提交數據庫,這樣保證費時的操作都是有效操作。
2. 用PHP寫出顯示客戶端IP與服務器IP的代碼
答:$_SERVER['SERVER_ADDR']服務器
$_SERVER['REMOTE_ADDR']客戶端
3. error_reporting(247)什么作用?
答:PHP 顯示所有錯誤 E_ALL
4. 打開php.ini中的Safe_mode,會影響哪些函數?至少說出6個。
答:1:用戶輸入輸出函數(fopen() file()require(),只能用于調用這些函數有相同腳本的擁有者)
2:創建新文件(限制用戶只在該用戶擁有目錄下創建文件)
3:用戶調用popen() systen()exec()等腳本,只有腳本處在sa fe_mode_exec_dir配置指令指定的 錄中才可能
4:加強HTTP認證,認證腳本擁有者的UID的劃入認證領域范圍內,此外啟用安全模式下,不會設置PHP_AUTH
5:mysql服務器所用的用戶名必須與調用mysql_connect()的文件的擁有者用戶名相同
6:受影響的函數變量以及配置命令達到4個
5. MySQL數據庫,怎么優化?
答:(1)配置優化(服務器配置)
調節服務器參數(shell->mysqld-help 生成mysql配置選項和可配置變量的表)。
(2)建表優化(表、字段設置)
(3)查詢優化(sql語句)
6.寫一個函數,能夠遍歷一個文件夾下的所有文件和子文件夾。(目錄操作)
$d = dir(dirname(__file__));
echo ̶Handle: ” . $d->handle . ̶\n”;
echo ̶Path: ” . $d->path . ̶\n”;
while ( false !== ($entry = $d->read ()) ) {
echo $entry . ̶
”;
}
$d->close ();
php高級工程師面試題三
1.數據庫中的事務是什么?
答:事務就是一系列的操作,這些操作完成一項任務。只要這些操作里有一個操作沒有成功,事務就操作失敗,發生回滾事件。即撤消前面的操作,這樣可以保證數據的一致性。而且可以把操作暫時放在緩存里,等所有操作都成功有提交數據庫,這樣保證費時的操作都是有效操作。
2. 用PHP寫出顯示客戶端IP與服務器IP的代碼
答:$_SERVER['SERVER_ADDR']服務器
$_SERVER['REMOTE_ADDR']客戶端
3. error_reporting(247)什么作用?
答:PHP 顯示所有錯誤 E_ALL
4. 打開php.ini中的Safe_mode,會影響哪些函數?至少說出6個。
答:1:用戶輸入輸出函數(fopen() file()require(),只能用于調用這些函數有相同腳本的擁有者)
2:創建新文件(限制用戶只在該用戶擁有目錄下創建文件)
3:用戶調用popen() systen()exec()等腳本,只有腳本處在sa fe_mode_exec_dir配置指令指定的 錄中才可能
4:加強HTTP認證,認證腳本擁有者的UID的劃入認證領域范圍內,此外啟用安全模式下,不會設置PHP_AUTH
5:mysql服務器所用的用戶名必須與調用mysql_connect()的文件的擁有者用戶名相同
6:受影響的函數變量以及配置命令達到4個
5. MySQL數據庫,怎么優化?
答:(1)配置優化(服務器配置)
調節服務器參數(shell->mysqld-help 生成mysql配置選項和可配置變量的表)。
(2)建表優化(表、字段設置)
(3)查詢優化(sql語句)
6.寫一個函數,能夠遍歷一個文件夾下的所有文件和子文件夾。(目錄操作)
$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分離開使用的模板
答:Smarty
8、使用哪些工具進行版本控制?
答:cvs
9、用PHP打印出前一天的時間格式是26-5-1 22:21:21
答:echo date(‘Y-m-d H:i:s’, strtotime(‘-1 days’));
1、如何實現字符串翻轉?(3分)
答:echo strrev($a);
11、MYSQL取得當前時間的函數是?,格式化日期的函數是
答:now(),date()
12. 請寫一個函數驗證電子郵件的格式是否正確
答:function checkEmail($email)
{
$pregEmail = ̶/([a-z-9]*[-_\.]?[a-z-9]+)*@([a-z-9]*[-_]?[a-z-9]+)+[\.][a-z]{2,3}([\.][a-z]{2})?/i”;
return preg_match($pregEmail,$email);
}
13. 簡述如何得到當前執行腳本路徑,包括所得到參數。
答:$script_name = basename(__file__); print_r($script_name);
14、檢測一個變量是否有設置的函數是否?是否為空的函數是?
答:isset($str),empty($str);
看了“php高級工程師面試題”