Questions to discover a php guru

Do you have a question? Post it now! No Registration Necessary.  Now with pictures!

Threaded View


I will be hiring a php guru to help us architect a highly scalable web
site/web application; the problem is I am coming from Microsoft .NET
world and not too much familiar with the platform.
What kinds of questions would you advice to ask the person on the
interview to see if he/she is:
1. Proficient with php
2. Proficient with MySQL (development, maybe some administration)
3. Has web app architecture skills and knows how to build scalable

Your ideas are highly appreciated!

Thank you,

Re: Questions to discover a php guru

In article

Quoted text here. Click to load it

I'm by no means a php "developer", but I have built a site "from
scratch" rather than use any existing package.  OK, OK, OK.  It was
stupid but back in 2002, there wasn't much for CMS packages or they
didn't work on my shared hosting platform.

Anyway, I come from a programming and system administration background,
am _not_ an artist so sites aren't "pretty", but I think those are two
different people (or one expensive person).  The web architect should
have skills similar to mine--how to build large, scalable systems with
analysis and design skills to make something can be supported in the
long term as needs evolve.

Some php questions:

What is "safe" mode?  

What does "register globals = on" do?

What's the major difference between call by reference and call by value
as applied to php?

And some architect-type questions:

What's a major difference between a Java and php run-time environment?

Accounting is complaining that their queries are running slow.  How
would you fix this problem?

Some MySQL questions (I'm not a mysql admin, but have used databases for
some years, so feel free to ridicule these questions):

What's the difference between an inner and outer join?

Describe a database injection attack and how to prevent it.

How do you backup mysql databases?

DeeDee, don't press that button!  DeeDee!  NO!  Dee...
[I filter all Goggle Groups posts, so any reply may be automatically by ignored]

Re: Questions to discover a php guru

Quoted text here. Click to load it
Why would you want a developer to wory about backing up MySQL
databases? Surely that is the DBA's job.

Re: Questions to discover a php guru

Andrey wrote:
Quoted text here. Click to load it

   How do you handle .NET hires? I would think this would be similar.

   Ask him/her to send you any utility that they have written that uses
PHP and MySQL and is OO.

   I'm sure there are tons of php developers that have never gotten
beyond procedural code, throw them out. Look for someone that has a good
grasp on OO and uses it. Look to see how the code is documented. What
you are looking for is code that can be altered without breaking aps
that already use that. I'm sure the same applies to .NET. Programming
languages and administration skills can be picked up quickly,
programming style comes with experience.

  Then you can tell him about your project and ask how he would go about
it. After a while a good programmer has done something similar and knows
the questions to ask and the routes to take. The questions he asks are
as important as the ones you ask. And remember, you are going to be
working with them, so you'll need to see how you interact.

   Of course, if you have no real programming experience yourself, you
are pretty much up the creek. I don't think you are going to get a good
programmer with a quiz.

   Just my 2 cents...


Quoted text here. Click to load it

Re: Questions to discover a php guru

Quoted text here. Click to load it

World + dog can claim to be a PHP programmer. PHP is easy - the hard
bit is knowing how to apply it effectively. Really you should you be
trying to recruit a **programmer** who happens to know a bit about PHP
rather than a PHP programmer.

I would be very wary of any suggestions you get here - otherwise it
will turn into a tick-the-box interview where you're not in a position
to understand what the person is telling you but just listening out
for some magic words in the response. Think about getting a PHP
consultant in to help with the capability part of the interviewing

With that in mind....

I'd ask them what experience they have working as part of a team of
developers (and expecting an answer that includes mention of some sort
of versioning system).

How they would go about isolating a performance problem on a website
(expecting mention of webserver and database logs)

How they would ensure a script which performs well in test will scale
well in live (mention of parallelization / mutexes / locking, using

A good understanding of how to use content caching: e.g. how to go
about implementing good caching with user selectable themes (answer
should mention pushing theme data into CSS, and/or using VARIES
headers, reverse proxying).

Then you can start answering the PHP specific questions.

But I do take issue with some of Michael's questions - safe mode and
register_globals? No.

Perhaps ask them about porting an application from PHP4 to PHP5 (where
the answer should mention register_globals - since its probably old
code, also the change from pass by val to pass by ref for objects).

What problems would they foresee with having a mysql database
replicated across multiple machines using auto-generated insert_ids
(ans: you can't consolidate to the same schema unless you seed the
insert ids to avoid collisions).


Re: Questions to discover a php guru

Quoted text here. Click to load it

The difference is not really that big in approach. If you really know a
.NET language, you know that the language itself is easy. The main
skills are in good Object Oriented knowledge and in knowledge of the
(huge) library.
There is one main difference though: .NET tends to hide specific
knowledge from the programmer, whereas PHP expects you to know what you
are doing. There is no sales argument that PHP is "easy to click an
application together".

So, for instance, ask what the difference in approach is between a PC
application and a web application in the object model.

Specifically, ask him about web safety. Let him name a few injection
attacks and what to do about them. Alas, the web has lost its innocence...

Quoted text here. Click to load it

Both are hard. I have worked as an ASP .NET programmer before I ran back
screaming to PHP, so I can compare SQL server and MySQL, and ASP .NET
and PHP. But for someone who never had anything to do with .NET, this
may be hard.
But I think it is good to ask him about PHP6. If he is a real guru, he
must have looked into it.

Quoted text here. Click to load it

This is one that you should be able to answer yourself. Just ask him
about web safety, modular programming, source code control, unit tests,
test driven design, agile programming methods, etc.

Good luck,
Willem Bogaerts

Application smith
Kratz B.V. /

Site Timeline