Код
- Попросите кандидата написать код
- Попросите кандидата прочитать код
Если вы попросите кандидата написать код, убедитесь, что:
- Код нетривиален, но мал
- Вы разрешаете доступ к руководству и Интернету
Если вы попросите кандидата прочитать код, убедитесь, что:
- В коде есть несколько тривиальных ошибок
- В коде есть несколько нетривиальных ошибок
- Код работает нормально, но его можно легко оптимизировать
Вы можете использовать три или более различных фрагмента кода, начиная с более простого и переходя к следующему, только если вы видите, что кандидат справляется с легкостью. Добавьте некоторую рекурсию, чтобы оживить ситуацию.
Ресурсы
Запросите подробный список ресурсов PHP, которые использует кандидат. Книги, блоги, форумы, журналы и т. Д. Вот как мои нынешние работодатели узнали о StackOverflow .
Если кандидат упоминает StackOverflow или Программистов, вы НЕ должны спрашивать или пытаться узнать их имя пользователя. Если бы они хотели рекламировать свою репутацию, они бы включили ссылку « Карьера 2.0» в свое резюме.
Каркасы
Каждый PHP-разработчик должен знать о самых популярных PHP-фреймворках:
и свободно владеть хотя бы одним из них. Вы можете подготовить несколько примеров кода для каждого и попросить кандидата прочитать и объяснить их после того, как они скажут вам, с каким из них они более знакомы.
Отладка и профилирование
Я всегда чувствовал, что разработчикам PHP не хватает навыков отладки и профилирования (возможно, только с разработчиками PHP, с которыми я работал). Если во время обсуждения вы обнаружите, что кандидат активно использует xdebug , не беспокойтесь об остальной части интервью и просто нанимайте их. ;)
Входная санация
Это важно. Вы можете начать с обсуждения того, почему это важно, а затем спросить о наиболее распространенных методах его достижения. Это обсуждение поможет вам о том, что спросить.
Некоторые намеки:
PHP Snafus
В этом великолепном обсуждении вы можете найти много PHP-снафусов . Если вы проводите собеседование на руководящую должность, вам обязательно следует спросить о некоторых из них. Некоторые примеры:
PHP обрабатывает числовые значения в строках:
"01a4" != "001a4" // true
"01e4" == "001e4" // also true
Действительный код PHP :
System.out.print("hello");
В PHP строка так же хороша, как указатель на функцию:
$x = "foo";
function foo(){ echo "wtf"; }
$x(); # "wtf"
Модульное тестирование
Нужно ли мне сказать больше?
Заключение
Хороший PHP-разработчик должен сочетать в себе различные навыки и таланты:
- Хорошее понимание HTTP
- Хорошее понимание конфигурации Apache (даже если вы используете другой веб-сервер в вашей компании)
- По крайней мере, базовое понимание JavaScript
- Отличное понимание HTML / CSS
У этого списка нет конца. Убедитесь, что вы адаптируете собеседование к конкретным потребностям, связанным с открытием работы, вы не хотите нанимать просто хорошего разработчика, но хорошего разработчика, который отлично справляется с тем, что вам немедленно нужно.