В качестве ведущего разработчика я провел собеседование с 80 кандидатами. Следуйте моим 8 советам, чтобы увеличить свои шансы на собеседовании.

Как выглядит обычный процесс собеседования?

За последние 2,5 года я провел собеседования с более чем 80 кандидатами в разработчики, и в итоге мы наняли только 4 из них. Но это была верхушка айсберга: обычно мы приглашали 40% людей, подавших заявку на работу.

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

Но позвольте мне поделиться некоторыми личными мыслями о резюме:

  • Включайте эти технологии в свое резюме только в том случае, если у вас есть значительный опыт. Если вы сделали только один проект Java в университете, это хорошо, но не говорите, что у вас хорошие навыки работы с Java, потому что вы этого не сделаете. .
  • Никому нет дела до вашей дипломной работы или итогового балла, если только вы не ищете свою первую работу.
  • Ваша текущая роль больше всего интересна для Interviewer. Так что подробно пишите о проектах и ​​вашей текущей роли. Меньше пишите о своих предыдущих местах работы.
  • Вы почти всегда являетесь частью команды, поэтому было бы интересно увидеть некоторую информацию о вашей команде.
  • Не хвастайтесь своими должностями. Не называйте себя ведущим разработчиком, техническим директором или техническим руководителем, если вы были единственным разработчиком в компании. Многие говорили, что они лиды и не видят разницы между абстрактным классом и интерфейсом.
  • Максимум три страницы формата A4, не больше. Никаких снимков экрана о вашем лучшем сайте Wordpress, никакого длинного описания тривиальных проектов. Включайте только те сертификаты, которые имеют отношение к работе.

Обычно есть 3 раунда собеседования:

  • Техническое интервью: первый раунд. Ваши интервьюеры задают технические вопросы, а вам нужно решать упражнения по кодированию. Некоторые компании просят вас создать реальное приложение дома на основе их требований.
  • Собеседование по коммуникативным навыкам. Интервьюеры должны выяснить, как вы будете действовать в определенных ситуациях: под давлением или когда ситуация неясна.
    Также интересно услышать о ваших слабых местах или рассказ о том, как вы потерпели неудачу и как вы от нее оправились. Но самый важный вопрос: Соответствуете ли вы культуре компании и коллектива? Если нет, вы можете стать лучшим разработчиком в мире, но вас не возьмут на работу.
  • Познакомьтесь с командой: у интервьюеров теперь есть некоторое представление о вашей личности. Совместный обед с командой часто бывает более показательным, чем двухчасовое индивидуальное интервью. Моя команда обедала со многими кандидатами, которые заявляли, что они коммуникабельные, инициативные командные игроки… Потом все время молчали.

Хорошо, допустим, у вас есть интересное резюме, и вас выбрали для первого раунда. Хорошая работа! Вы преодолели первый барьер. Теперь пришло время подготовиться к первому интервью. Это может быть видео или интервью на месте.

Итак, вот мои советы:

1. Будьте пунктуальны

Нет ничего хуже, когда интервьюеры вынуждены ждать кандидата. Если вы знаете, что у вас собеседование по скайпу, придите домой пораньше и подготовьте обстановку. Если у вас собеседование на месте, приходите на 10 минут раньше.

2. Подготовьте среду для видеозвонка

Это важно только для видеозвонков. Вот краткий контрольный список:

  • Всегда проводите интервью в тихой комнате: шумный фон производит плохое впечатление, и вы можете не услышать инструкции интервьюера. Я помню парня, который пытался взять интервью из переполненного ресторана… Нам пришлось остановить интервью, потому что мы не поняли ни слова из того, что парень пытался сказать.
  • Уберите свою комнату: хотя бы вид интервьюера… никто не хочет видеть вашу грязную одежду, коробки, грязную кухню или что-то в этом роде.
  • Проверьте, работают ли ваша камера и микрофон: несколько раз случалось, что мы кому-то звонили и не могли его/ее услышать. Кандидату потребовалось несколько минут, чтобы все настроить.
  • Проверьте, достаточно ли света в комнате: если вы не хотите присоединиться к Империи, проверьте условия освещения в комнате. Интервьюеры любят видеть ваше лицо.
  • Убедитесь, что вы одни в комнате:это очень неловко, когда кто-то еще находится в комнате, но мы не можем видеть этого человека. Я как-то брал интервью у многообещающего кандидата, все прошло очень гладко, потом я пошутил, и кто-то на заднем плане начал смеяться. Жутко …
  • Если вы живете в общей квартире, убедитесь, что ваши соседи по квартире ведут себя тихо:даже лучше, если их вообще нет дома.Мне не случалось несколько раз, чтобы бедный кандидат пытался нам что-то объяснить, но его соседи по квартире напились что ли в соседней комнате, потому что мы слышали постоянный смех, громкое повествование и потом снова смех…
  • Всегда предполагайте, что будут какие-то упражнения по кодированию, поэтому всегда проводите видеозвонки на ноутбуке. Никогда не используйте мобильный телефон для интервью, никогда. И не делайте интервью в туалете…
  • Всегда кладите ноутбук на неподвижную поверхность:старайтесь сидеть на одном месте, не ложитесь на диван… нам не интересно видеть ваши пальцы ног, ваш живот, ковер или потолок.

3. Подготовьтесь к собеседованию на месте

Если у вас есть возможность пойти на собеседование на месте, вам также необходимо заранее подготовиться:

  • Если вы не знаете район, где находится компания, то отправляйтесь туда за день до этого. Проверьте, где вы можете припарковать свой автомобиль или где находится автобусная остановка. Узнайте, как попасть в здание.
  • Носите повседневную одежду, ничего особенного, но не надевайте свою самую часто используемую толстовку с капюшоном.

4. Знайте шаблоны и принципы проектирования

Есть 5 основных принципов, которые каждый разработчик должен знать наизусть: SOLID, SoC, DRY, KISS, YAGNI. Даже если вы будете следовать этим принципам изо дня в день, вы должны быть в состоянии объяснить их, приводя примеры из реальной жизни.

Шаблоны проектирования также очень важны во время собеседования. Любой может написать код или создать конечные точки API. Если вы не знаете определенных шаблонов проектирования, это означает, что вы только поверхностно занимаетесь разработкой программного обеспечения. Ваш код может работать, но его будет сложно поддерживать или рефакторить.

Вот некоторые важные шаблоны проектирования, которые вы должны уметь объяснить: синглтон, фабрика, наблюдатель, адаптер, стратегия, внедрение зависимостей, пул объектов, прототип, фронт-контроллер. », модуль, команда.

Вам также необходимо понимать Функциональное программирование, модульное тестирование и разработку через тестирование.

Если вы проходите собеседование по NodeJS или Javascript, ожидайте вопросов о областях действия, IIFE, использовании этого ключевого слова, обещаниях, clojures, функциях высшего порядка, первоклассных функциях и чистых функциях. функции».

5. Подготовьтесь к решению некоторых типичных упражнений

Интервьюеры почти всегда просят вас

  • исправить код
  • объясните код, который они вам показывают
  • Разработайте REST API на основе некоторых требований
  • Разработайте структуру базы данных
  • Сравните два фреймворка или приложения и расскажите об их плюсах и минусах (PHP и nodeJS, Symfony и Laravel, React и Angular, MySql и MongoDB, Memcached и Redis, Jenkins и Bamboo, Javascript и Typescript, REST и GraphQL).

Эти упражнения ограничены во времени: чем лучше вы подготовитесь дома, тем быстрее вы пройдете собеседование.

6. Узнайте о компании

Если компания интересная, нужно проверить

  • продукты, которые они производят
  • Размер компании, информация об учредителях, информация о человеке, который будет брать у вас интервью
  • Отзывы бывших сотрудников о компании и ее культуре

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

Вы можете сказать интервьюеру, что у вас никогда не было возможности работать с технологией XY, но вы можете объяснить это. Это всегда производит хорошее впечатление, потому что никто не ожидает, что вы знаете все существующие фреймворки.

7. Задавайте вопросы, чтобы узнать больше о компании

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

  • Насколько гибкий график работы?
  • Могу ли я получить Macbook Pro?
  • Каковы преимущества?
  • Как часто я могу работать из дома?

Это все правильные вопросы, но задавайте их только тогда, когда вы начинаете переговоры по контракту.

Если вы заинтересованы в компании, вы должны знать о следующих вещах:

  • Подробности о вашей новой команде. Размер и структура: сколько разработчиков, сколько QA, менеджеров проектов и т. д.
  • Как команда работает вместе? Оценивают ли они вместе, как они решают, кто чем занимается? Используют ли они Scrum или Kanban?
  • Как мой менеджер будет проверять мою работу? Как я узнаю, что они довольны мной?
  • Запросите некоторые подробности о технологиях, которые они используют. Попробуйте начать короткое обсуждение о них.

8. Уметь объяснить интересное приложение, над которым вы работали

Даже если в последнее время вы не работали над чем-то интересным, представьте приложение и объясните это. Интервьюеры хотели бы увидеть и услышать, как вы объясняете архитектуру приложения. Интервьюеры часто просят вас нарисовать структуру на доске. Так что будьте к этому готовы.

Я часто задаю следующий вопрос:

Какое приложение было самым интересным, над которым вы работали? И почему?

И во многих случаях они отвечают примерно так:

Что ж, я создал приложение за 4 дня без использования фреймворка, и это приложение могло экспортировать данные из базы данных в формате CSV. Бизнес-логики там было не так много, но заказчик остался доволен…

Действительно? Это все? Хм, каким должен быть мой следующий вопрос?

Почему вы не использовали какой-либо фреймворк, чтобы облегчить себе жизнь? Почему это было так захватывающе? Это действительно был самый захватывающий проект, над которым вы работали?

Так что выбирайте приложение, где вы сможете показать свои навыки.

Вывод

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

Дальнейшее чтение: