On 8 Oct, 20:49, Andrey <muzzzy.nos...@gmail.comwrote:
Hi,
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
codebase
Your ideas are highly appreciated!
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
process.
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
EXPLAIN in SQL).
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).
C.