Отбор PHP кандидатов в нашей компании.

Думаю статья будет полезна тем, кто хочет подготовиться к собеседованию, но не знает за какую книжку схватиться.

Любой отбор начинается с небольшого письменного теста, который позволяет определить ваш приблизительный уровень. Тут не будет трудных вопросов: немного на понимание синтаксиса, типов и функций PHP; еще немного на тему javascript; и еще кусочек на составление запросов к базе данных.

Если вы успешно справились с тестом(это набрали хотя бы треть правильных ответов) – сразу же начинается второй этап – собеседование. Как правило интервью проводят 2 человека. Диалог начинается с вольной темы “Почему именно PHP?” или “Какие были интересные проекты?”. Далее идут вопросы по теории. Если вы претендуете на должность выше начинающего разработчика, вы должны разбираться в следующих темах:

1. Проектирование и ООП

  • 3 базовых понятия ООП
  • модификаторы доступа
  • статические члены класса
  • магические методы, конструктор
  • Абстрактный класс и Интерфейс
  • шаблоны проектирования, Синглтон

2. Клиент-серверное взаимодействие

  • идея DNS
  • протокол HTTP, заголовки, GET/POST
  • логика работы session и cookies

3. Работа с базой данных

  • типы данных
  • отличия индексов
  • нормализация
  • виды движков (engine) таблиц
  • joins
  • views, triggers, procedures, functions, transactions
  • понимание агрегирующих операций

4. Настройка рабочей среды и администрирование

  • настройка вебсервера и виртуальных хостов
  • самые основные команды для работы в среде Linux

5. Базовые принципы HTML/CSS

  • типы элементов
  • позиционирование
  • селекторы и их приоритетность

6. JavaScript

  • элементы и их события
  • работа с объектами
  • jQuery

7. Регулярные выражения

  • пониманием базовых принципов

 

Напоследок мы обычно даем задачу на логику или пространственное мышление. Для начинающих разработчиков будет большим плюсом ее решение: этим вы покажете, что можете быстро анализировать информацию и обладаете аналитическим складом ума.

Успешной вам подготовки!

Буду рад услышать критику или предложения в комментариях.

P.S.: так же могу порекомендовать вам менее структурированную, но не менее информативную статью на блоге Антона Шевчука.