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.

Analyzing Your Website Traffic to Understand User Experience

Looking at your website traffic is something you should do on a regular basis so you can better understand how your visitors navigate through your site and why they do the things that they do. Things such as average page views, bounce rate, average time spent on site and top content are all things that should give insight on what your users like and what they don’t like. Since you are likely the owner or manager of the website you are running, you will never truly be able to simulate a user experience on your own simply because you know alot more about your product than your customers do. Below are a few things at when analyzing your traffic:

Bounce Rate:

Bounce rate is the % of times a user enters and leave on the same page. Depending on your industry and the nature of your website, this % will vary. Obviously the lower the better but to really understand why they are bouncing take a look at the average time spent on each page. Are they reading your information, getting what they need and then leaving (spending 2 minutes or more on your website), or are they coming and leaving fairly quickly? If they leave quickly than you need to most likely re-arrange things in a fashion that the user will see what they came for and get more information. If the user comes, stays for a little while and then leaves without requesting more information, than you need to either give them a little less information or give them reasons to navigate through the rest of your site a little. Soft sells or calls to action is high trafficked spots on your website will help. Using key areas in your website real estate to try and get the user to do something rather than using these spots for information purposes. Ask them to join your email list to get free information regarding what they came to your site for.

Average Page Views:

If you have a low average page views number than your content probably needs to be re written or moved around. Try possibly taking a survey of some sort seeing what your current customers are most interested in about your service, or why they use you or your product. Take this information and structure it in a way that the users can navigate through your site and not get all the information they need on one page but enough to keep them interested throughout the whole site. As you see this improve, start implementing calls to action in certain spots as well.

Search Engine Traffic vs Direct Traffic:

This is a little more advanced but one way to try and increase conversion is showing different content based on the source of the traffic. People who are coming directly to your site usually (not always) were referred by someone or have a little more information than usual about your product or service. Possibly think about making the conversion funnel for these visitors a little shorter as they probably don’t need as much information, they just need a little nudge to contact you. Search engine traffic is usually visitors that know what they need or want, just looking for a person to buy it from. Present yourself in a fashion that will showcase your product, it’s features and how it will solve your customer’s problem and then give them a call to action on why they should contact you, buy the product or get more information.

There are ways to detect this in your code and doing it safely. Don’t redirect them to certain pages as if done incorrectly Google may flag you for cloaking. Simply make your page dynamic in a way that you can display information that is more beneficial to the user based on the information you have gathered about the source and other details.