Привет! Меня зовут Олег Гордиенов, сейчас я — фронтенд-девелопер в компании Smart Techno Lab. Раньше я был сооснователем турагентства и даже одного столярного производства. Я поступил в Яндекс Практикум в ноябре 2021 года на направление веб-разработки и параллельно с обучением начал искать работу.
Первое резюме отправил в апреле, а первого июня уже вышел в компанию, где работаю до сих пор. За два месяца я отправил около 100 откликов на разные вакансии, сдал четыре тестовых задания, получил два приглашения на стажировку и одно — на работу. В этой статье я расскажу, какие бывают этапы собеседования в IT, как я их проходил и как к ним можно подготовиться.
В IT бывает два вида собеседований:
– нетехническое;
– техническое.
Роль нетехнического собеседования может выполнять и первый разговор с эйчаром, и финальная беседа с основателем проекта — всё зависит от компании. В моём случае нетехническое собеседование было и в начале трудоустройства, и в конце.
НЕТЕХНИЧЕСКОЕ СОБЕСЕДОВАНИЕ
Этап 1. Интервью с эйчаром
Представим, что вы откликнулись на вакансию и ваше резюме заинтересовало потенциальных работодателей. Первый этап — телефонный разговор с HR-менеджером. Я называю его мимолётным собеседованием.
Как правило, эйчар во время разговора проверяет исключительно коммуникативные навыки. На этом этапе важны два момента.
Будьте доброжелательны. Это ваш первый разговор с работодателем — вам звонят, чтобы узнать, насколько вы в целом адекватны, можете поддерживать разговор и главное — заинтересованы в вакансии и готовы ли пройти следующие этапы собеседования.
Этап 2. Тестовое задание
Если разговор с эйчаром прошёл хорошо, вам, скорее всего, дадут тестовое задание. Они бывают не во всех компаниях, но особенно распространены при найме на джуниор-позиции. Во-время поиска работы я выполнил как минимум четыре тестовых задания.
Старайтесь не отказываться от тестовых, даже если они большие, сложные и за их выполнение не платят. Если вы новичок, для вас это является хорошей практикой, а если вы опытный разработчик – это возможность доказать свои навыки и быстрее перейти к следующему этапу собеседования.
Здесь можно найти примеры тестовых заданий для прокачки для разных сфер разработки.
ТЕХНИЧЕСКОЕ СОБЕСЕДОВАНИЕ
На этом этапе начинается самое сложное. Формат технического собеседования в каждой компании разный. Где-то просят разобрать тестовое задание, а где-то сразу переходят к так называемой алгоритмической секции (о ней я расскажу чуть позже).
Моё собеседование представляло собой смесь из технического и нетехнического собеседования. Расскажу по порядку о каждом возможном этапе.
Этап 1. Разбор тестового задания
Это может быть онлайн-созвон или личная встреча, где вас попросят рассказать, почему вы использовали те или иные приемы при выполнении тестового.
Посмотрите ещё раз на тестовое задание перед собеседованием. Бывает, что спустя пару недель ты смотришь на свой код и не понимаешь, почему ты написал его именно так. А даже если понимаешь, можешь увидеть, как его улучшить.
Попробуйте обсудить свой код с друзьями и коллегами. Если вы джун — покажите его сеньору и приходите на собеседование уже с готовыми вариантами улучшения.
Будьте готовы обосновать то или иное решение. Для этого у вас в голове должно быть как минимум два варианта решения задачи. Покажите, что у вас были альтернативные пути, а если их не было, самое время их найти и продемонстрировать это на собеседовании.
Не держитесь за своё решение. Скорее всего, его будут критиковать, даже если вы сеньор. Как говорится, в кодинге нет пределов совершенству, поэтому не принимайте критику на свой счёт.
Этап 2. Теоретическая часть
Техническое собеседование может быть не связано с тестовым заданием. Вас будут просто прогонять по теоретическим аспектам языков программирования, спросят, что такое JavaScript, всплытие, замыкание и так далее. В интернете можно найти множество материалов, которые помогут подготовиться к технической части.
Что помогло мне подготовиться к техническому собеседованию:
– Cписок вопросов, которые встречаются на технических собеседованиях (и ответы к ним);
– Ещё больше вопросов с разбором;
– Настольная книга для тех, кто ищет работу (на английском);
– Книги по разным направлениям разработки, которые стоит прочитать;
– Список сообществ, разделённый по сферам разработки, на которые стоит подписаться.
Этап 3. Алгоритмическая секция
Эта ещё одна теоретическая часть. Она посвящена фундаментальным знаниям о структурах данных, об алгоритмах, о сортировке, о поиске — что и как может быть реализовано на разных языках. Одним словом — махровая теория.
Как правило, этот этап проходят мидлы и сеньоры. Особенно в случае собеседования в крупную компанию. Тем не менее, быть готовым к такому рода разговору важно всем.
Простой совет здесь один для всех — чуть более фундаментально подходить к тому, чего касаешься: стараться узнать, что стоит за той или иной технологией, на каких паттернах она работает.
Ниже еще несколько советов, как подготовиться к алгоритмической секции.
Посмотрите на YouTube примеры публичных собеседований. В это может быть сложно поверить, но в реальности они примерно так и проходят.
– Собеседование Junior Frontend разработчика;
– Собеседование Junior Backend разработчика;
– Собеседование Middle iOS-разработчика.
Пройдите mock-интервью. Так в IT называют тестовые собеседования. Его может провести кто-то из вашего же нетворкинга, уже действующие разработчики с большим опытом.
Например, в Практикуме есть программа трудоустройства, во время которой мне удалось пройти тестовые собеседования со специалистами карьерного центра.
Кроме того, я прошёл пробное интервью с тимлидом из Яндекса, на которое подписался в соцсетях. Написал ему чёткое персональное сообщение в LinkedIn, и он с удовольствием согласился провести интервью. Именно после этого тестового собеседования я осознал, что дело не в недостатке моих знаний, а в моём подходе к поиску работы. Я перестал искать работу только на HeadHunter и стал писать более персонализированные сопроводительные письма — подгонял их буквально под позицию, компанию и человека.
Этап 4. Финальное собеседование
После семи кругов ада остаётся последний — разговор с главным работодателем. Это может быть основатель компании или руководитель отдела.
Изучите в деталях, с кем будете говорить. Если с эйчаром главная задача — показать себя вменяемым человеком и получить тестовое, а на техническом собеседовании — объяснить, насколько хорошо вы разбираетесь в языках программирования, то задача разговора с фаундером компании — продемонстрировать, что вы хорошо понимаете, как устроен бизнес компании, насколько вы командный игрок и готовы разделить ценности бренда.
Постарайтесь узнать про компанию как можно больше. Ваш работодатель должен сделать вывод, что вы не просто можете писать код, но и понимаете цели и задачи, которые решает его бизнес.
Задавайте вопросы. Я считаю, что именно это добавляет очки и является важной частью репрезентации. Ты задаёшь вопросы, получаешь информацию, примеряешь на себя позицию, компанию, руководителя, коллег. В этот момент происходит синергия. Вы показываете, что вам не всё равно и в то же время сами решаете, подходит ли вам компания.
Мне кажется очень важным понимать, почему вы хотите работать в той или иной компании. Вот, например, Яндекс. Понятно, что это большая компания с хорошими зарплатами — а что ещё? Почему вам важно там работать? Например, потому что там есть движ. Или потому что там можно быстро вырасти. Постарайтесь найти свой ответ. Всем желаю удачи и скорее найти работу своей мечты!
Яндекс Практикум — сервис онлайн-образования, который помогает людям любого возраста освоить новую цифровую профессию. Курсы построены на задачах из реальной рабочей практики. Их программа состоит из бесплатной вводной части и платного продолжения. Во время учёбы студентов поддерживают наставники, ревьюеры и кураторы, а сотрудники карьерного центра помогают найти вакансию и сделать первые шаги в профессии.