Pull to refresh

Собеседования на должность PHP разработчика

Reading time3 min
Views71K

Довольно часто (постоянно) мне приходиться проводить собеседование людей желающих устроитсья в мой отдел на должность «junior PHP developer» и «PHP developer». И, с завидным постоянством, я и team-lead отдела задаем одни и те же вопросы…

Каждое собеседование начинается с одного и того же вопроса:

— Почему PHP?

И, как ни странно, некоторые умудряются «засыпаться» уже на нем:
— Пробывал язык N — такой сложный, и поэтому решил учить PHP
или еще лучше:
— Решил пока поработать в PHP отделе, а потом перейти в отдел .Net
Но чаще всего слышим один из следующих ответов:
— Делал страничку — понадобилась динамика — выбор пал на PHP
— Кто-то, зачем-то посоветовал
— Преподавали в ВУЗе — только PHP и смог осилить

Далее, приближаемся к программированию, мы пытаемся понять имеет ли собеседуемый хоть какое-нить представление о ООП, о абстракции, наследовании, инкапсуляции и полиморфизме. Ага, кто-то лекции прогуливал в университете ;)

А теперь начинается самое оно:

— Какую версию PHP использовали? В чем различия между четвертой и пятой версиями?

— Какими сторонними библиотеками пользовались?

— Опыт работы с различными CMF/CMS?

— Типы данных в PHP?(их всего 8, не верите — читайте мануал)

— Назови по памяти функции для работы с массивами, строками

— Что такое сериализация?

И далее несколько практических вопросов…

— Что такое Apache? А mod_rewrite?

— Аббревиатура SVN и CVS о чем-нить говорят?

— Багтрекинг системы? BugZilla? JIRA?

Не забываем и о БД:

— Что такое реляционная база данных?

— Нормализация, денормализация

— И чуть-чуть практики (связь многое-ко-многим в MySQL, каталог товаров произвольной вложенности)

HTML + CSS + W3C (знания HTML на базовом уровне считаю обязательным):

— Нарисуй-ка простенькую форму для отправки файла

— CSS знаешь? В чем разница между записью #my и .my?

— Расшифруй вот такую запись в CSS ... (и далее что-то невообразимое, но вполне читабельное, задаю не часто, если только испытуемый заявляет что знает CSS)

— Что такое стандарты W3C?

Linux:

— С *nix знаком?

— Apache и PHP сетапил?

Сетевые технологии и не только:

— Знаешь что такое уровни модели OSI? Назови хотя бы их количество. (это вопрос на «пять»)

— По какому протоколу осуществляется передача данных в сети Интернет?

— Расскажи что поисходит, когда в строке браузера набираешь адрес и нажимаешь Enter?

Иностранные языки:

Тут особо не мучаем, если же в резюме указан уровень знания английского как «хорошо» — вот тогда нам на помощь спешит COTOHA — лучше правдиво пишите — уровень университета или начальной школы… ;)

Бывает, озадачиваем каким-нить тестом на сообразительность (поменяй-ка друг значение переменных A и B местами не используя третью переменную)

Вот подумываем написать тест, который однозначно говорил бы о уровне знаний человека (brainbench для новичков не подходит), если у кого есть что предложить — пишите в комментариях…

Кросспост: PHP: Собеседование (и там уже много содержательных комментариев)

Upd: Вторым, или даже первым вопросом наверное скоро будет: «Читаете ли вы Хабр по пятницам?»…

Upd: На ряд вопросов из комментариев отвечу тут:
  • Разве должен PHP разработчик знать это… ? — Если человек не ответил на ряд вопросов на собеседовании, это не значит, что он его провалил, возможно некоторые вопросы слишком отстранены от разработки, но их знание никогда не будет лишним
  • Вам действительно нужно это всё? — Да, ибо мы используем системы контроля версий и багтрекинг системы, мы сталкиваемся с готовыми CMS системами, кодим используя Zend Framework и CMF/CMS которую сами разрабатываем
  • На какую ЗП можно претендовать после прохождения собеседования? — ЗП оговаривается по окончанию испытательного срока, если Вас интересуют более подробная информация см. на www.developers.org.ua
  • Есть мануал, зачем помнить на память! — Мне не нужен в отделе человек который каждые пять минут будет лазить в мануал, дабы узнать как построить цикл «for» или отсортировать массив, или еще хуже — будет отвлекать окружающих для этой цели
  • Дайте лучше тестовое задание! — Ситуация нынче такова, что junior разработчик не будет делать тестовое задание, а скорей просто пойдет на собеседование в другую компанию
  • В какой компании такое «невдалое» собеседование, не пойду в неё работать! — 3 клика мышки отделяет Вас от ответа, если не нашли — мы Вас не ждем...
Tags:
Hubs:
Total votes 86: ↑70 and ↓16+54
Comments515

Articles