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.

 

 

 

Best Website Design & SEO Tools

Here is a short list of my favorite website design and SEO Tools. These are a mix of free and paid tools.

Rank Tracker – Paid

Rank Tracker is a tool that I use to manage alot of my SEO projects. Rank Tracker gives you the ability to check rankings on all the major search engines and give you all the insight you need in order to beat your competitors. I pay roughly $100 a month for this service and its worth every penny.

Dreamweaver – Paid

I can’t imagine designing or developing a website without it. Designing websites and building web applications is all about making things happen in a quick efficient manner while delivering a superior product. Dreamweaver gives us the ability to meat deadlines and come up with cross browser compliant error free website designs.

Freshbooks – Free or Paid

Freshbooks is a nice tool to use if you want your accounting to be remote or all done through the cloud. I am a firm advocate of using cloud based services as I never have to worry about losing my data and also don’t have various versions of it.

Web Developer Toolbar – Free

This addon in Firefox is one of my most valuable tools. It gives me the ability to troubleshoot layout issues, sessions and other usefull data for websites. Best of all it’s free and it installs in minutes.

Google Webmaster Help

Occasionally you encounter a problem that you just can’t figure out. Google webmaster help form will help you with this. I recommend reading it.

Firebug Toolbar for Firefox – Free

Firebug is a great way to diagnose issues with your website. It can also help with SEO in regards to page load speed by adding on the PageSpeed add on.

These are all tools I use on a daily basis to make myself more efficient. If you have tools you use, feel free to contact me through this website and recommend them. I always like to hear what other developers use to make their life easier.