你是否正在准備尋找一份PHP開發的工作,並且也在尋找一些關於PHP的面試題及答案?本文為大家分享了一些被提問頻率最高的11個PHP面試題,以及對應的常規回答,每個公司都有自己的面試標准,面試和問題是完全取決於你在工作中所扮演的角色,當然也和你的編程技能息息相關。
問題:請用最簡單的語言告訴我PHP是什麼?
回答:PHP全稱:Hypertext Preprocessor,是一種用來開發動態網站的服務器腳本語言。
問題:什麼是MVC?
回答:MVC由Model(模型), View(視圖)和Controller(控制器)組成,PHP MVC可以更高效地管理好3個不同層的PHP代碼。
Model:數據信息存取層。
View:view層負責將應用的數據以特定的方式展現在界面上。
Controller:通常控制器負責從視圖讀取數據,控制用戶輸入,並向模型發送數據。
問題:在頁面中引用CSS有幾種方式?
回答:在頁面中使用CSS有3中方式:
引用外部CSS文件
內部定義Style樣式
內聯樣式
問題:PHP支持多繼承嗎?
回答:不可以。PHP類只能繼承一個父類,並用關鍵字“extended”標識。
問題:請問PHP中echo和print有什麼區別?
這兩個看起來很相似,因為它們都是將一些值打印在屏幕上。但是echo和print的本質區別在於:echo用來輸出字符串,顯示多個值的時候可以用逗號隔開。只支持基本類型,print不僅可以打印字符串值,而且可以打印函數的返回值。
問題:請問GET和POST方法有什麼區別?
回答:我們再網頁上填寫的表單信息都可以通過這兩個方法將數據傳遞到服務器上,當我們使用GET方法是,所有的信息都會出現在URL地址中,並且使用GET方法最多只能傳遞1024個字符,所以如果在傳輸量小或者安全性不那麼重要的情況下可以使用GET方法。說到POST方法,最多可以傳輸2MB字節的數據,而且可以根據需要調節。
問題:PHP中獲取圖像尺寸大小的方法是什麼?
回答:getimagesize () 獲取圖片的尺寸
Imagesx () 獲取圖片的寬度
Imagesy () 獲取圖片的高度
問題:PHP中的PEAR是什麼?
回答:PEAR也就是為PHP擴展與應用庫(PHP Extension and Application Repository),它是一個PHP擴展及應用的一個代碼倉庫。
問題:如何用PHP和MySQL上傳視頻?
回答:我們可以在數據庫中存放視頻的地址,而不需要將真正的視頻數據存在數據庫中。可以將視頻數據存放在服務器的指定文件夾下,上傳的默認大小是2MB,但是我們也可以在php.ini文件中修改max_file size選項來改變。
問題:PHP中的錯誤類型有哪些?
回答:PHP中遇到的錯誤類型大致有3類。
提示:這都是一些非常正常的信息,而非重大的錯誤,有些甚至不會展示給用戶。比如訪問不存在的變量。
警告:這是有點嚴重的錯誤,將會把警告信息展示給用戶,但不會影響代碼的輸出,比如包含一些不存在的文件。
錯誤:這是真正的嚴重錯誤,比如訪問不存在的PHP類。
問題:如何在PHP中定義常量?
回答:PHP中使用Define () 來定義常量。
復制代碼 代碼如下:
define (“Newconstant”, 30);
問題:如何不使用submit按鈕來提交表單?
如果我們不想用submit按鈕來提交表單,我們也可以用超鏈接來提交,我們可以這樣寫代碼:
復制代碼 代碼如下:
<a href=”javascript: document.myform.submit();”>Submit Me</a>
某大公司的PHP面試題
管理提醒: 本帖被 haowubai 執行取消置頂操作(2009-07-30)
1. 如何用php的環境變量得到一個網頁地址的內容?ip地址又要怎樣得到?
[php]
echo $_SERVER ['PHP_SELF'];
echo $_SERVER ['SERVER_ADDR'];
[/php]
2. 求兩個日期的差數,例如2007-2-5 ~ 2007-3-6 的日期差數
[php]
$begin=strtotime('2007-2-5');
$end=strtotime('2007-3-6');
echo ($end-$begin)/(24*3600);
[/php]
3. 請寫一個函數,實現以下功能:
字符串“open_door” 轉換成 “OpenDoor”、”make_by_id” 轉換成 ”MakeById”。
[php]
function changeStyle(& $str) {
/*$str = str_replace ( "_", " ", $str );
$str = ucwords ( $str );
$str = str_replace ( " ", "", $str );
return $str;*/
$arrStr=explode('_',$str);
foreach($arrStr as $key=>$value){
$arrStr[$key]=strtoupper(substr($value,0,1)).substr($value,1);
}
return implode('',$arrStr);
}
$s = "open_door";
echo changeStyle ( $s );
[/php]
4. 要求寫一段程序,實現以下數組$arr1轉換成數組$arr2:
[php]$arr1 = array (
'0' => array ('fid' => 1, 'tid' => 1, 'name' =>'Name1' ),
'1' => array ('fid' => 1, 'tid' => 2 , 'name' =>'Name2' ),
'2' => array ('fid' => 1, 'tid' => 5 , 'name' =>'Name3' ),
'3' => array ('fid' => 1, 'tid' => 7 , 'name' =>'Name4' ),
'4' => array ('fid' => 3, 'tid' => 9, 'name' =>'Name5' )
);
$arr2 = array......余下全文>>
java異常機制的原理與應用
答:每當程序出現異常之後,如果程序沒有進行相應的處理,則程序會出現中斷現象。
實際上,產生了異常之後,JVM會拋出一個異常類的實例化對象,如果此時使用了try語句捕獲的話,則可以進行異常的處理,否則,交給JVM進行處理。當try語句捕獲異常之後,將與catch語句的異常類型進行匹配,如果匹配成功則執行catch內的語句。簡單的應用:在所以throws語句的地方加入try-catch。標准應用:try-catch-finally-throw-throws一起使用。
2. 垃圾回收機制的優點
答:釋放無用的對象所占用的空間。方式:自動回收,手動回收。使用System.gc(),實際上調用Runtime.getRuntime().gc()
3. Error與Exception區別
答:Error是jvm進行處理,是jvm出錯
exception是可以由程序處理的,可以用try-catch捕獲的
4. final,finally,finallize
答:final定義的變量的值不能改變,定義的方法不能被覆蓋,定義的類不能被繼承
finally是異常的統一出口,finallize是垃圾回收前的收尾工作,是Object類定義的
5. Anonymous Inner Class是否可以extends,是否可以implements Interface
答:允許繼承和實現,因為匿名內部類就是在抽象類和接口的基礎上發展起來的
6. Static Nested Class 與Inner Class的區別
答:使用Static定義的Class就是外部類,可以通過外部類. 內部類直接訪問
而Inner Class是不能被外部訪問的,只能通過外部類的實例再找到內部類實例。
7. HashMap and HashTable?
答:HashMap:1) released in jdk 1.2,new Class 2)采用異步處理方式,性能較高,是非線程安全的 3)允許null
HashTable:1)released in jdk 1.0 ,old Class 2)采用同步處理方式,性能低,是線程安全的3)不允許null
8. assert代表什麼?
答:asserts是jdk 1.4之後發布的新關鍵字,表示斷言,即程序執行到某個地方肯定是預計的值,一般開發很少使用。要使用assert,必須加上 -ea參數
9. gc是什麼?
答:gc是garbage collection,垃圾回收,使用gc可以進行垃圾空間的釋放
10. String s = new String("xyz")產生了幾個對象?
答:一個匿名對象xyz,在棧空間內。一個new實例化的對象,在堆空間內。
11. sleep() and wait()?
答:sleep()是Thread類定義方法,表示線程的休眠,可以自動喚醒
wait()方法是Object類定義的方法,需要手動notify()和notifyAll()//sleep()不釋放資源,wait()釋放資源
12. java中存在goto,但不能使用
13.數組有沒有length(),String有沒有length()?
答:數組有length屬性,String有length()
14. Overload與Override的區別
答:Overload:重載
|- 在一個類中定義的若干方法
|- 所有的方法名相同,但參數類型或個數不同
|- 只有參數有關,與返回類型無關
Overrid......余下全文>>