20 Common PHP Job Interview Questions and Answers

Taylor Hawkes

Author: - at the lake.

I've been interviewed by many companies for PHP development positions, every company has a slightly different interview process, but there seems to be a lot of commonalities among them. I've outlined below the main areas that companies look for knowledge in, and some questions/answers you may get asked. At the end of the day you will not be able to entirely fake your way through a good interview, but I thought this would be a huge help for newer or mid level developers going into an interview. If you are totally new to PHP or programming www.teamtreehouse.com is a great place to start. Don't forget to me on Twitter so you can stay up to date with whats going on in the PHP world.

  1. What is Object Oriented Programming?
  2. likelihood high
    This is usually a pretty open ended question. You should understand classes (objects are instantiated classes), abstract classes, interfaces, methods, properties,inheritance, multiple inheritance as well as why OOP is helpful as compared to procedural programming.
  3. In PHP what is the difference between a Class and an Interface?
  4. likelihood high
    Interfaces do not contain business logic, only method signatures that define a template that any classes implementing the interface must contain. Lets take an auto mobile for example. If we were to create and interface for a car we would want to define a few methods like drive, stop, turn left , turn right. This mean that any vehicle that is a car (aka implements the interface car) must have methods for these things, If they do not PHP will throw an error. So if your car is an BMW , Honda or Ford it must be able to stop. How it stops is up to each car (or PHP class) but it must be able to stop. Technically we can decide not to use an interface for cars, but then some types of cars are not forced to have a "stop" method.
  5. What is MVC?
  6. likelihood high
    Most programmers know this, but interviewers will likely look for a deep understanding of MVC, and some explanation or examples on how/why/ when you used it.

    MVC- Model, View, Controller - is simply a way of organizing your code into 3 separate layers each with there own job.

    Model - Usually contains data access code and all of you business logic code.
    View - Contains markup/design code, generally html,xml, json.
    Controller - Usually contains very little code, just whatever is needed to call the Model code and render the View code.
  7. Explain how a PHP session works?
  8. likelihood high
    A PHP session cookie is set in the clients browser, on every request the client sends that cookie to the server. PHP then uses that cookie to select the corresponding session information. By default PHP session_start() will store session data in files, you can also store sessions in a database.
  9. What are some of the big changes PHP has gone through in the past few years?
  10. likelihood high
    There are a number, but the big ones people are looking for are:
    a. PHP 5.0 realised the object model (AKA OOP).
    b. 5.1 added PDO - for accessing databases.
    c. 5.3 - added namespace support and late static bindings.
  11. What is the difference between $_GET and $_POST
  12. likelihood high
    This is a great question because an interviewer can tell how deeply you understand HTTP and the request/response. If you don't have good understanding of HTTP protocol, google around and get a grasp on it.
    Good answer
    Explain the HTTP protocol and how every request contains a method, generally(GET,POST,PUT,DELETE) and what each method signifies.
    Bad answer
    $_GET stores variables passed in url as query strings. $_POST stores variables past from using method = $_POST
  13. In a PHP class what are the three visibility keywords of a property or method?
  14. likelihood medium
    public, private and protected. The default is public.
    Public -> Any class may instantiate the class and call the method or property.
    Protected -> Only the class itself or inherited (children) classes may call a method or property.
    Private -> Only the class itself may call a method or property.
  15. What is Polymorphism?
  16. likelihood medium
    Don't get scared by the big word. It's simply the idea that one object can can take on many forms. So in PHP OOP one class "cars" may have two classes that extend it, for example a "Honda" class and a "BMW" class.
  17. How do you load classes in PHP?
  18. likelihood medium
    They are trying to gauge your understanding of how class auto loading works. Review the "autoload" and "spl_autoload_register" function (note:you should use the later). The autoload function basically triggers a function when a class is instantiated, you can put whatever logic you like in it but generally you want to include the class file based on some sort of naming convention.
  19. What is the value of "$day" in the below code?
  20. likelihood medium
    $wed= 1;    
    $day = ($wed==1) ? 'today' : 'tommorrow';
    // $day is now set to 'today'
    
    Companies often ask about the ternary operator (?). which is simply a shorthand for if else statements.
  21. What is the Scope Resolution Operator?
  22. likelihood medium
    "::" double colons is the scope operator it is used to call methods of a class that has not been instantiated. You should also understand static methods and how they differ from regular methods.
  23. What are some PHP Design patterns you have worked with?
  24. likelihood medium
    Design patterns are simply commonly used techniques within your code, they often are implemented in different ways so they can be a bit tricky to grasp without writing them yourself. If you are unfamiliar with them I would start by learning the Singleton Pattern and the Strategy Pattern.
  25. What is the difference between single quotes and double quotes?
  26. likelihood medium
    Great answer at below link.
  27. What does ob_start do?
  28. likelihood medium
    Makes it so PHP does not output anything. Companies ask this because many large frameworks wrap a bunch of code in ob_start() and ob_get_clean(). So understanding how that function works is pretty important.
  29. What does "&" mean in '&$var' ?
  30. likelihood medium
    '&' indicates a reference
  31. What is the meaning of a final class and a final method?
  32. likelihood medium
    Final keywords indicates that the class or method cannot be extended.
  33. Does PHP support multiple inheritance?
  34. likelihood medium
    No. You should understand what multiple inheritance is.
  35. What are some magic methods in PHP, how might you use them?
  36. likelihood medium
    Magic methods are basically triggers that occur when particular events happen in your coding. __GET, __SET are magic methods that are called (behind the seen) when you get or set a class property.
  37. Are objects in PHP 5 passed by value or reference?
  38. likelihood medium
    This is basically a trick questions. To understand how they are passed you need to understand how objects are instantiated. Study the below link:
  39. What is the difference between $var and $$var?
  40. likelihood medium
    $$var sets the value of $var as a variable.
                $day='monday';
                $$day='first day of week';
                echo $monday; //outputs 'first day of week'
                

Comments (98)

You're reviewing: Common php questions
Newest | Oldest   Helpful   Positive | Critical
Full StarFull StarFull StarFull StarHalf Star 4.5/5 (71)
1 2 3 > [last]
Gravatar
Full StarFull StarFull StarFull StarFull Star
julee says...
very helpfull
6th October 2016 5:41am
Gravatar
Full StarFull StarFull StarFull StarFull Star
Ahsgdfloqifg says...
Pgksrjgiohi hw hweokfjeq ojfe jfweiogwo gwoj wijf gdhgtrj575 y6u75tyhgf 5yu5regr
4th November 2016 6:22am
Gravatar
Full StarFull StarFull StarEmpty StarEmpty Star
Iopafeopt says...
Ugireojfe whfiwehfjwehwhfjehfwefhweh 777uiop fweh iwehf weiohf wieohf iwehf iweyu59tu328hfire iuwfodhqw934785 h3urh9wjfwgut h9wh9889wh98r h4wt93qrj29th2 rj2ghw9tfq.
5th November 2016 4:02am
Gravatar
Iopafeopt says...
Ugireojfe whfiwehfjwehwhfjehfwefhweh 777uiop fweh iwehf weiohf wieohf iwehf iweyu59tu328hfire iuwfodhqw934785 h3urh9wjfwgut h9wh9889wh98r h4wt93qrj29th2 rj2ghw9tfq.
8th November 2016 5:44am
Gravatar
Full StarFull StarFull StarFull StarEmpty Star
Xewrtyuoipye says...
Xighefjeo orj wokwp dkow pwk wodj d hfdgfhgf 4756 5uhtyjur urt45
12th November 2016 6:12am
Gravatar
Full StarFull StarFull StarFull StarEmpty Star
Saleh Muhammad says...
intersting in php language
1st October 2016 9:55am
Gravatar
Full StarFull StarFull StarFull StarFull Star
Tom says...
Also question about triple equal is included sometimes
17th August 2016 10:51am
Gravatar
Full StarFull StarFull StarFull StarEmpty Star
DINDI JOSEPH says...
helpful information.
1st August 2016 11:58am
Gravatar
Full StarFull StarFull StarFull StarFull Star
Martina says...
Thank you :)
5th July 2016 4:07pm
Gravatar
Full StarFull StarEmpty StarEmpty StarEmpty Star
sadik says...
how Falcon PHP framework work??
Most probably asking this type of question now days.
26th May 2016 4:48am
Gravatar
Full StarFull StarFull StarFull StarFull Star
Anthony Walter says...
I'm using this to prep for a phone interview as we speak!

Anyway, the syntax of the ternary operator threw me off a little bit:
$day = ($wed==1) ? 'today' : 'tommorrow';
Mainly because I'm used to seeing these encased fully in parenthesis so:
$day = (($wed==1) ? 'today' : 'tomorrow');

...which is how the guy does the syntax in the little help link. I don't know if it HAS to be like that but to me it looks a little better mainly looked like you were doing = = two times in one line.

(And there is a typo in 'tommorrow' lol)

25th April 2016 9:45pm
Gravatar
Full StarFull StarFull StarFull StarFull Star
Najeeb says...
Excellent work.thanks for sharing it
6th April 2016 10:14am
Gravatar
Full StarFull StarFull StarFull StarFull Star
Dan O says...
One of the best, if not the best, PHP questions. It gets to the heart of many issues, separating the "think you know" from "you really know."
28th February 2016 7:04am
Gravatar
Full StarFull StarFull StarFull StarEmpty Star
Deepti says...
It includes many questions having good concept.
12th January 2016 11:40am
Gravatar
Full StarFull StarFull StarFull StarFull Star
Arun Verma says...
Excellent tutorial
Thanks for share it.
7th January 2016 4:52pm
Gravatar
Full StarFull StarFull StarFull StarEmpty Star
Abdullah says...
Nice update information.
6th January 2016 1:01pm
Gravatar
Full StarFull StarFull StarFull StarFull Star
bapu says...
iugffiudgfdiugrduifufiurfiuq......
18th December 2015 1:25pm
Gravatar
Full StarFull StarEmpty StarEmpty StarEmpty Star
raja says...
Actually it's okay but all are knows question please add new question .. new concepts like traits ...or ... tricky question it can be helpful to the developers
27th November 2015 10:44am
Gravatar
Full StarFull StarFull StarFull StarEmpty Star
Muhammad Hashim says...
good information and good skills and best improvements....................
..............................................................................
19th November 2015 5:10pm
Gravatar
Full StarFull StarFull StarFull StarFull Star
Archana says...
This helped me alot. thanks..
17th November 2015 12:05pm
1 2 3 > [last]
Page 1 of 5

Add Comment

* Required information
(will not be published)
blank
blank
blank
Powered by Commentics
Copyright 2008 Woodstitch all rights reserved