Home  >  Article  >  Backend Development  >  PHP programmer interview questions and answers

PHP programmer interview questions and answers

WBOY
WBOYOriginal
2016-07-25 08:59:271311browse
  1. class my_class
  2. {
  3. function my_funct ($my_param)
  4. {
  5. user_error ("please define me", E_ERROR);
  6. }
  7. function b()
  8. {
  9. return 10;
  10. }
  11. }
  12. ?> ;
Copy code

A. multiple inheritance B. interface C. abstract method D. private method E. Function overloading

7. Suppose a testclass class is defined, what is the function name of its constructor? 15 A. __construct B. initialize C. testclass D. __testclass E. Only pHp5 supports constructors

8. How can a class override the default serialization mechanism? A. Using __shutdown and __startup methods B. Call the register_shutdown_function() function C. Use the __sleep() and __wakeup() methods D. Unable to override default serialization mechanism E. Use ob_start() to put the class into the output buffer

9. Which of the following object-oriented concepts cannot be implemented in PHP4? abstract class Final class public, private, protected (ppp) methods interface A. abstract class B. ppp method C. ppp methods and interfaces D. All of the above are unavailable E. All of the above are available

10. How to call mymethod method inside a class? A. $self=>mymethod(); B. $this->mymethod(); C. $current->mymethod(); D. $this::mymethod() E. None of the above is correct

11. What does the following script output?

  1. class my_class
  2. {
  3. var $my_var;
  4. function _my_class ($value)
  5. {
  6. $this->my_var = $value;
  7. }
  8. }
  9. $a = new my_class (10);
  10. echo $a->my_var;
  11. ?>
Copy code

A. 10 B. Null C. Empty D. Nothing at all E. A mistake

12. What does the following script output?

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

A. 10 B. 5 C. 2 D. Null E. Nothing

13. What does the following script output?

  1. $global_obj = null;
  2. class my_class
  3. {
  4. var $value;
  5. function my_class()
  6. {
  7. global $global_obj;
  8. $global_obj = &$this;
  9. }
  10. }
  11. $a = new my_class;
  12. $a->my_value = 5;
  13. $global_obj->my_value = 10;
  14. echo $a->my_value;
  15. ?>
Copy code

A. 5 B. 10 C. Nothing at all D. The constructor will report an error E. 510

14. Consider the following piece of code. When executed, the string returned by the $eight_tenths->to_string method is 8/10 instead of the expected 4/5. Why?

  1. class fraction {

  2. var $numerator;
  3. var $denominator;
  4. function fraction($n, $d) {
  5. $this->set_numerator($n);
  6. $this ->set_denominator($d);
  7. }
  8. function set_numerator($num) {
  9. $this->numerator = (int)$num;
  10. }
  11. function set_denominator($num) {
  12. $this->denominator = (int)$num;
  13. }
  14. function to_string() {
  15. return "{$this->numerator} / {$this->denominator}";
  16. }
  17. }

  18. return ($b > 0) ? gcd($b, $a % $b) : $a;
  19. }

  20. function reduce_fraction ($fraction) {

  21. $gcd = gcd($fraction->numerator,
  22. $fraction->denominator);
  23. $fraction->numerator /= $gcd;
  24. $fraction->denominator /= $gcd ;
  25. }
  26. $eight_tenths = new fraction(8,10);
  27. /* Reduce the fraction */
  28. reduce_fraction($eight_tenths);
  29. var_dump($eight_tenths->to_string());
  30. ?>
  31. < /p>
Copy code

A. The reduce_fraction function must return a value B. The reduce_fraction function must accept an integer value C. There is a problem with gcd function D. The $eight_tenths object must be passed by reference E. Instances of objects cannot be passed to structures other than methods.

15. What does the following code do?

  1. require_once("myclass.php");
  2. myclass::mymethod();
  3. ?>
Copy code

A. Static call mymethod method B. Generate an instance of myclass and call the mymethod method C. generates a syntax error D. The default myclass class is the last instance created and calls mymethod() E. Call the function named myclass::mymethod()

16. Are there static class variables in PHP? A. have B. No

17. What does the following script output?

  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. ? >
Copy code

A. 1 B. 2 C. An error because a::$myvar is not defined D. A warning because a::$myvar is not defined E. Nothing

18. How to load a class on the fly? A. Use the __autoload magic function B. Define them as forward classes C. Implement a special error handling method D. impossible E. Include them with conditional include

19. __________ provides a high-performance solution to a recurring problem in object-oriented programming? Answer: __________

20. What does the following script output?

  1. class a
  2. {
  3. function a()
  4. {
  5. echo parent called;
  6. }
  7. }
  8. class b
  9. {
  10. function b()
  11. {
  12. }
  13. }
  14. $c = new b() ;
  15. ?>
Copy code

A. parent called B. a mistake C. a warning D. Nothing 1 2 Next page Last page



Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn