Those 3 PHP questions

Hi PHP Gurus,

I have a question for you all. If you are asked to interview a candidate with 5 years of experience in PHP and you are allowed to ask only 3 theoretical questions and based on the answers of those 3 questions you have to select / reject the candidate. What would be those 3 questions?

Thanks & Regards

PS: Mods, if this is not the correct section pls move this thread to the appropriate one.

I actually have two tests I have them take. 1 is a simple database with 3 tables and I need them to write a query, it requires a join - so that’s what i’m looking for or if they can’t write it off the top of their head - then atleast tell me it requires a join.

Second one is a basic contact form with a simple handler to mail out and store in db, lots of things wrong about it (mostly bad practice - more than outright bugs) and I expect them to point out some/most of what’s wrong.

If I had to make a third, it would be related to HTML/CSS, but that’s harder to asses without them actually building something out.

Thanks wonshikee.

I was actually asking for theoretical questions and not practicle ones. For example, i’d like to ask them if there is a hotel booking system to be developed and a scenario where there is only 1 room available for a day, how would you prevent more than one user to book the room?

In that case, I would definitely ask a security related question to see if they actually spent any time learning it. Perhaps if you want to be specific, it could be related to passwords - such as how they are: stored, recovered, generated, authenticated, stretched, salted, or encrypted - depending on how/why it’s hashed/encrypted. Or something related to forms - such as XSS or CSRF.

Another could be related to how one will structure a database, seeing if they properly follow normalization practices given a specific data requirement

The whole thing could be about a hotel booking system, so you would be asking about various parts - how it handles temporary holds on rooms to prevent duplicate registration (your example), how the db would be structured, security issues related to user registration, etc.

Being person with 5yrs exp, he should be knowing php, sql ie joins and all, creating tables and html/css and all stuff of a junior developer…
You need to ask questions that makes a person display his knowledge…as wonshikee mentioned questions based on security, how to use webservices, API’s, OAuth authentication, SOAP based connections and all…

There are a great many online assessment centers that can evaluate a candidates actual knowledge, so I probably wouldn’t bother with syntax related questions. Rather, I’d go for more practical questions, as mentioned above. Can they explain the difference between an achitecture and a framework? Do they know how to develop using test driven principles? Most commercial systems now-a-days are distributed, where each company has a part of the whole. Can they work against interfaces provided by another facet? Things like that. One things to note, however, is that anybody can say anything. They may know the buzz words or the lingo, but doing it is another matter. I’d place previous employment credentials, portfolio, and references above answers to questions like these. If these are entry level positions, I’d just use the test results, and ask if they are willing to spend a little extra time on-job or after hours, for training. My first position used Delphi (yeah, old), which I had never used. I was taught to use it on-the-job. Sometimes, it isn’t what one knows, but how willing they are to learn.