Interviewing Senior Level PHP Programmers

This post is intended to educate interviewers and interviewees on what I ask with my programming team to qualify candidates for hiring high level PHP developers.

PHP SECTION

Question #1:

We draw the following URL on a while board and have the candidate identify each part of the URL.  Keep in mind, we start very BASIC to get them comfortable white boarding and then slowly get more difficult.

https://www.example.com/jams/jellies/13

We ask them to identify the SSL piece of the URL, the domain name, the model, view, controller and action.  For any senior level developer, if you ask them what MVC stands for and they say anything other than model, view, controller….you should be wary.

 Question #2:

We ask the candidate to write a function that passes two variables and returns a string.  Again, this is very basic and if they are unable to do this, or take more than 5 minutes to do so you may not be dealing with a senior level developer.

Question #3:

Setup a class called Jams that inherits Jellies.

Question #4:

Please define in your terms what refactoring means?

Question #5:

Write a getter and a setter method that takes in a number with a  decimal and outputs a number without a decimal.

Question #6 (fizz buzz test):

Using php code (not looking for exact syntax) please do the following:

Write a script that echo’s the #’s 1 – 100.

For #’s that are a multiple of 3, print fizz instead of the number

For #’s that are a multiple of 5, print buzz instead of the number

For #’s that are a multiple of 3 and 5, print fizzbuzz instead of the number

This question will give you an in depth look into there problem solving skills, reasoning and there approach to coding while not in front of there computer.

HTML/CSS SECTION:

Question #1:

We draw a basic layout of a website that has a container div centered on a page, a header, navigation, content and footer div inside the container and have the candidate code the layout in html and css on the whiteboard.  We realize there is lots of ways to code layouts, we are just looking to make sure they understand cross browser compliance, standards and aren’t using tables.

Question #2:

What is the proper way to write a break tag that will validate in transitional doc type.

JQUERY/AJAX

Question #1:

Write a basic jquery selector.  Also write a small block of jquery that adds two numbers together and appends the result to a div called total.

Question #2:

Define AJAX and how you have used it in a web application.

GENERAL QUESTIONS:

We then ask them what their strengths are and what their weaknesses are.  Depending on how they answer this question we have the white board something tailored to there strength and white board something tailored to there weakness….to see how weak they are and how strong they are according to us.

This all generally takes about an hour with limited amounts of wasted time.  We are looking for programmers that can program from scratch (not looking for exact syntax but more for deficient/clean decision making.