Собеседование на PHP-программиста

Сегодня отсобеседовали 4-х кандидатов на должность PHP-программиста.

Дабы в посте были не только эмоции, набросаю сюда список вопросов, которые задавал, мало ли кому пригодиться. Вдохновлялся постом на хабре.

  1. Опыт разработки на PHP. Какие приложения писал?
  2. Почему вы выбрали PHP?
  3. Предпочтительная среда разработки?
  4. Опыт работы с CMS и сторонними библиотеками.
  5. Какие вы знаете типы данных в PHP?
  6. Что такое сериализация?
  7. Как у вас с проектированием БД?
    рисуем структуру для банальной гостевухи (конкретное задание ниже),
    рассказываем, как будем укладывать в БД категории неограниченной вложенности (обычно предлагают parent_id, узнаем знает ли человек о nested sets).
  8. Что такое нормализация БД?
  9. CSS: В чем разница между записями .my #my
  10. Адекватность оценки времени разработки.
    Я предлагал кандидату оценить время разработки вот такого скрипта:
    Гостевая книга.
    Посетители:

    • просмотр гостевой книге в виде ленты по 20 постов на страницу;
    • регистрация.

    Пользователи:

    • авторизация,
    • восстановление пароля,
    • добавление постов в гостевуху.

    Администратор:

    • редактирование постов,
    • добавление ответов на посты (1 пост — 1 ответ).

    Адекватным ответом я считал 4 — 8 часов. 16 долго, но в целом адекватно :)
    Вот для этой задачи мы рисовали БД выше. Отдельное внимание тому, как кандидат планиирует хранить пароли (в открытом виде или хэш), и тому, как реализуется ответ на посты админом (в отдельной таблице или в той же где посты).

  11. Если бы вам предложили работу сразу в нескольких компаниях, в какую бы вы пошли? (навеяно постом Фрица о мотивации)
  12. Еще ряд вопросов орг. характера (график, например).

Ну и собственно все. Из 4-х кандидатов, прошедших отбор по резюме, с вопросами удовлетворительно справился только один. Все 4 заявляли о знаниях CSS, на простой вопрос №9 уверенно ответил один, второй ответил, но с трудом, двое других не ответили.

О nested sets не знает никто. Сериализация/нормализация — один человек. И один смог примерно сформулировать суть нормализации, не зная что это такое («Я не знаю,  но думаю, что это примерно ээ..»). В назначенное время пришел один. Один опазадал на 7 минут, другой на 15, третий пришел вообще на полчаса раньше. Один кстати пришел с другом :) Ну типа просто за компанию...

Все типы данных в php не назвал никто (я бы тоже назвал только 7 из 8ми), лучшие назвали по 6 и двое других назвали 3 и 4.

Удивительно, но все знакомы с линуксами. Причем не только как юзеры, но и как админы. Делаю вывод, что линуксоиды притягиваются :)

В общем и целом, картина не впечатлила. Видимо, мало денег. Серьезные программеры тут хотят получать Питерскую зарплату. А я пока не готов ее платить.

P.S. Все 4 — с опытом админства. И ни одного бородатого. Это не труодмины!!! :-D

Подписка на блог

Подпишись и получай уведомления, когда будет опубликован новый пост