首頁  >  文章  >  後端開發  >  php程式設計師面試問題及答案

php程式設計師面試問題及答案

WBOY
WBOY原創
2016-07-25 08:59:271306瀏覽
) class b
  1. class my_class
  2. {
  3. function my_funct ($my_param)
  4. {
  5. user_error ("please Edefine ); >}
  6. function b()
  7. {
  8. return 10;
  9. }
  10. }
  11. ?>
複製代碼
A.多重繼承 B.介面 C.抽象方法 D. private 方法 E.函數重載(function overloading)

7. 假設定義了一個 testclass 類,它的建構子的函數名稱是什麼? 15 A. __construct B. initialize C. testclass D. __testclass E.只有 pHp5 才支援建構子

8. 一個類別如何覆寫預設的序列化機制? A.使用__shutdown 和__startup 方法 B.呼叫 register_shutdown_function()函數 C.使用__sleep()和__wakeup()方法 D.無法覆蓋預設序列化機制 E.使用 ob_start()將類別放入輸出緩衝

9. 下列哪些物件導向的概念無法在 pHp4 中實現? 抽象類別 Final 類 public、private、protected(ppp)方法 介面 A.抽象類別 B. ppp 方法 C. ppp 方法和介面 D.以上所有都不可用 E.以上皆可使用

10.如何在類別的內部呼叫 mymethod 方法? A. $self=>mymethod(); B. $this->mymethod(); C. $current->mymethod(); D. $this::mymethod() E.以上都不對

11.以下腳本輸出什麼?

  1. class my_class
  2. {
  3. var $my_var;
  4. function _my_class ($value)
  5. {
  6. function _my_class ($value)
  7. { >my_var = $value;
  8. }
  9. }
  10. $a = new my_class (10);
  11. echo $a->my_var;
  12. ?>
複製程式碼

A. 10 B. Null C. Empty D.什麼都沒有 E.一個錯誤

12.以下腳本輸出什麼?

  1. class my_class
  2. {
  3. var $value;
  4. }
  5. $a = new my_class $value;
  6. }
  7. $a = new my_class;
  8. >my_value = 5;
  9. $b = $a;
  10. $b->my_value = 10;
  11. echo $a->my_value;
?>
?>

?>
  1. 複製程式碼
  2. A. 10 B. 5 C. 2 D. Null E.什麼都沒有
  3. 13.以下腳本輸出什麼?
  4. $global_obj = null;
  5. class my_class
  6. {
  7. var $value;
  8. function>function(
global $global_obj;
$global_obj = &$this;}}
$a = new my_class;

$a->my_value = 5;my_value = 10;

echo $a->my_value;

?>

複製程式碼
  1. A. 5 B. 10 C.什麼都沒有 D.構造函數將報錯 E. 510
  2. 14.考慮如下一段程式碼,執行時,$eight_tenths->to_string 方法傳回的字串是 8/10 而不是希望的 4/5,為什麼?
  3. class fraction {

  4. var $numerator;
  5. var $denominator;
  6. function fraction($n,>var $denominator;
  7. function fraction($n,> $d) {
  8. $this->set_numerator($n);
  9. $this->set_denominator($d);
  10. }
  11. function set_numerator($num) {
  12. $this- >numerator = (int)$num;
  13. }
  14. function set_denominator($num) {
  15. $this->denominator = (int)$num;
  16. }
  17. function to_string() {
  18. return “{$this->numerator} / {$this->denominator}”;
  19. }
  20. }
  21. function gcd($a, $b) {

  22. return ($b > 0) ? gcd($b, $a % $b) : $a;
  23. }
  24. function reduce_fraction($fraction) {

  25. $gcd = gcd($fraction->numerator,
  26. $fraction->denominator);
  27. $fraction->numerator /= $gcd;
$fraction->denominator /= $gcd;
}$eight_tenths = new fraction(8,10);/* Reduce the fraction */
reduce_fraction($eight_tenths);

var_dump($eight_tenths->to_string()); >?>

複製程式碼
  1. A. reduce_fraction 函數必須傳回一個值 B. reduce_fraction 函數必須接受一個整數值 C. gcd 函數有問題 D.必須以引用的方式傳遞$eight_tenths 對象 E.物件的實例不能傳遞給方法以外的其他結構。
  2. 15.以下程式碼是做什麼的?
require_once("myclass.php");myclass::mymethod();?> > 複製程式碼

A.靜態呼叫 mymethod 方法 B.產生 myclass 的實例並呼叫 mymethod 方法 C.產生一個語法錯誤 D.預設 myclass 類別最後被建立的實例並呼叫 mymethod() E.呼叫名為 myclass::mymethod()的函式

16. pHp 中有靜態類別變數嗎? A.有 B.沒有

17.以下腳本輸出什麼?

  1. class a
  2. {
  3. function a ($x = 1)
  4. {
  5. $this->myvar = $x ;
  6. }
  7. }
  8. class b extends a
  9. {
  10. var $myvar;
  11. function b ($x = 2)
  12. {
  13. $this->myvar = $x;
  14. parent::a();
  15. }
  16. }
  17. $obj = new b;
  18. echo $obj->myvar;
  19. ?>
複製程式碼

A. 1 B. 2 C.一個錯誤,因為沒有定義 a::$myvar D.一個警告,因為沒有定義 a::$myvar E.什麼都沒有

18.如何即時載入一個類別? A.使用__autoload 魔術函數 B.把它們定義為 forward 類 C.實現一個特殊的錯誤處理手段 D.不可能 E.用有條件限制的 include 來包含它們

19. __________提供了一個高效能的解決物件導向中重複出現的問題的方案? 答案:__________

20.以下腳本輸出什麼?

  1. class a
  2. {
  3. function a()
  4. {
  5. echo parent called;
  6. }
  7. }
  8. }
  9. }
  10. }
  11. }
  12. }
  13. }
  14. }
  15. }
}
}}}
}

}}}

{function b()
{
}
}
$c = new b();
?>
複製程式碼A. parent called B.一個錯誤 C.一個警告 D.什麼都沒有 1 2 下一頁 尾頁
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn