Pull to refresh

Практика прохождения собеседований или как я переехал в столицу

PHP *
Привет, %хаброюзер%!

Сегодня я поделюсь с вами своим опытом прохождения собеседований на вакансии PHP-программиста в «белокаменной»Москве.

Введение


Начну издалека. Наверное, у каждого опытного разработчика живущему в провинциальном городке возникают мысли о переезде в другой город, где IT сфера наиболее развита. Так же получилось и у меня… У меня выбор встал между Санкт-Петербургом и Москвой, после первой поездки в Питер первый вариант отпал сам собой — город просто не понравился. Но в плане выбора города — тут все индивидуально, кому что нравится больше. Я выбрал столицу для возможного переезда в течение года.

После того, как я определился с городом я начал поиск интересных для себя предложений. По опыту скажу, что искать стоит в первую очередь на HH, а так же на МоемКруге, не стоит и забывать о pruffi. По опыту общения с компаниями в процессе я понял, что без очных собеседований не обойтись, хотя некоторые идут на Skype собеседования с последующим очным.

На очные собеседования я выделил 3 полных дня — этого более чем достаточно. В один день реально проходить 3 собеседования, но не более того, т.к. обычно собеседование занимает порядка 1.5-2 часов.

В итоге, для одной компании делал тестовое задание (1-2 дня), примерно с 2-3 проходил Skype собеседования. Договориться о Skype собеседовании очень важно, с моей точки зрения, на ней можно сразу понять подходим ли мы друг другу и сэкономить кучу времени.

Примерно через неделю-две у меня было порядка 8 приглашений на очные собеседования, которые устраивали меня и предложения были очень интересными.

О подготовке


В процессе Skype собеседований можно примерно проанализировать пробелы в знаниях и компенсировать их до очного собеседования, пока есть время.
Первым делом рекомендую освежить в памяти паттерны проектирования и ООП — без глубокого знания этой темы ехать на собеседования бесполезно. По подготовке рекомендую две книги:
  • Приемы объектно-ориентированного проектирования. Паттерны проектирования, Э. Гамма, Р. Хелм, Р. Джонсон, Дж. Влиссидес. (в быту — банда четырех)
  • PHP. Объекты, шаблоны и методики программирования, Мэтт Зандстра
Я разобрал около 15-20 паттернов, но в реальности спрашивают про основные. Вот те, о которых меня точно спрашивали:
  1. Порождающие: Singleton, Factory method, Abstract Factory, Builder
  2. Структурные: Composite, Decorator, Facade, Adapter
  3. Поведенческие: Strategy
причем нужно уметь сравнивать, понимать чем отличаются друг от друга, представлять как реализовывать. Код реализации держать в голове нет никакой необходимости.

В зависимости от вакансии, на которую претендуешь, спрашивают вопросы по *nix командам, как сделать те или иные вещи (спрашивали, примерно в 2х собеседованиях). В некоторых компаниях, ведущие PHP-программисты выполняют роль и администратора и архитектора приложения и проектировщика БД и фронтэнд, у одной компании точно такое было :)

Основные вопросы, которые спрашивают можно найти на хабре: тут и тут — обязательно посмотрите, если есть пробелы — обязательно разберите.
Практически на каждом собеседовании есть вопросы по сравнению и преобразованию типов в PHP, к примеру, нужно понимать и объяснить что будет в результате подобных сравнений:
  1. '1top' == 1
  2. '0tw0111' == a (где «a» неопределенная константа)
и т.п…
Так же почти всегда встречаются вопросы на знание свежих версий PHP, что в них нового и т.п. Очень часто есть задача с клонированием объектов, как это в PHP 4 и PHP 5.

Замечу, что задач на логику не было нигде, но мне кажется, такие компании все таки существуют :)

Что касается БД. Если претендуете на проект с MySQL, то вас обязательно спросят о типах таблиц и их различиях, а так же, что такое индексы, как они устроены и какие бывают. Вас обязательно попросят написать SQL-запрос, где, почти наверняка, будут JOIN, HAVING, GROUP BY.

Сейчас у большинства серьезных вакансий встречается пункт HighLoad. Тут вас почти наверняка спросят про методы, какими вы будете пользоваться для оптимизации проекта под высокие нагрузки. Один раз спрашивали про акселераторы их особенности и как они работают.

Критерии, по которым я «оценивал» предложения:
  • Профессионализм команды.
  • Интерес к будущему проекту, над которым нужно будет работать.
  • Соц. плюшки, к примеру, наличие ДМС.
  • Заинтересованность в кадре работодателем.
  • Рабочее место.
По итогам собеседований, как оказалось, я прошел по всем вакансиям, куда ходил. Оставалось только выбрать наиболее подходящий вариант, что я и сделал не долго думая :)

Особенности Москвы


По просьбам, немного о Москве и ее особенностях.
Цены:
  1. На еду цены как везде и даже дешевле, если покупать в дешевых супермаркетах типа Ашана и Пятерочки
  2. С одеждой дела так же как и с едой :) тут все доступно в той же Меге
Квартиры:
  1. Смотреть предложения всегда можно на сайте cian.ru, риэлторы работают в основном с ним. Но дозвониться самим до указанных телефонов у вас не факт что получится
  2. Найти интересующую вас квартиру, скорее всего, займет у вас не более недели.
  3. С животными отказывают в 90% случаях
  4. В Москве при съеме нужно платить: за 1 месяц владельцу + за 1 месяц как залог (или за последний месяц), эта сумма потом отдается при выселении + за 1 месяц риэлтору. Т.е. в итоге при съеме нужно сходу отдать тройную цену. Как пишут в комментариях, цену работы риэлтора реально сбить до 50%.
  5. Рекомендую северо-запад для аренды квартиры. Тут много хороших-зеленых районов.
  6. Цены: хорошая однушка 27-30. В двушках и выше — не подкован, не могу ничего точного сказать.
P.S. Если появились вопросы, я с радостью на них отвечу. Возможно, не все моменты подробно осветил.

UPD.: Добавил еще некоторые вопросы, которые я вспомнил + рассказал про особенности аренды и цен в Москве.
Tags:
Hubs:
Total votes 279: ↑168.5 and ↓110.5 +58
Views 18K
Comments Comments 174