Как стать junior-разработчиком (Часть 3) | Прохождение технического собеседования

Mikhail Aleksseev
5 min readOct 20, 2020

--

Введение

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

Данная статья третья в цикле про то, как стать junior-разработчиком.

Как стать junior-разработчиком (Часть 1) | Общая информация
Как стать junior-разработчиком (Часть 2) | Как устроен процесс найма, где искать работу и как правильно составить резюме
Как стать junior-разработчиком (Часть 3) | Прохождение собеседования.
Как стать junior-разработчиком (Часть 4) | Изучение языка и Pet Project на примере Java

Процесс собеседования

В большинстве случаев собеседования проходят по одному сценарию, занимают около часа и состоят из следующих этапов:

  1. Рассказ разработчика о себе и опыте (10–20 минут).
    Стоит заранее продумать связный рассказ, чтобы не путаться и в панике не пытаться вспомнить, что же происходило в предыдущем проекте.
  2. Технические вопросы (30–45 минут).
    Задача интервьюера (собеседующего)— определяет уровень знаний кандидата. Чаще всего задают стандартные вопросы, ответ на которые не занимает много времени. Помимо устной части могут попросить решить задачу на бумаге/в текстовом редакторе или посмотреть код и сказать, что стоит поправить.
  3. Рассказ о проектах компании и обсуждение вопросов (5–10 минут).
    На данном этапе интервьюер расскажет о проекте, команде и условиях, которые предоставляет компания. Останется время задать интересующие вопросы и понять, стоит ли продолжать коммуникацию с данной компанией.

1. Рассказ разработчика о себе и опыте

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

На предыдущем месте работы в банке Бравооса я был единственным разработчиком в отделе интеграций. Команда состояла из двух аналитиков, тестировщика и разработчика. Мы применяли Java 8, Spring MVC, Oracle, IBM Integration Bus. За время работы мной были введены в эксплуатацию два проекта. С момента моего погружения в проект нагрузка выросла с 2 000 заявок в сутки до 50 000. На мне была ответственность за работу системы в продакшн и за все время работы не было ни одного падения.

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

Если опыт работы отсутствует, то стоит кратко описать свое образование, пройденные курсы/книги. Рассказать о том, что было выполнено своими руками и какие проекты были реализованы.

В данный момент я обучаюсь на 3 курсе МАИ по специальности “Ракетные комплексы и космонавтика”. Программированием я заинтересовался со второго курса университета. Начал с книги Марка Лутца “Изучаем Python”, после чего прошел курсы от mail.ru на stepic.org, в результате которых мной была разработана crm система для управления продуктовым складом.

2. Технические вопросы

Желательно заранее ознакомиться с перечнем стандартных вопросов и разобрать их. Найти их можно, набрав “Вопросы к собеседованию по языку (выбранный язык программирования)”. Иногда задают хитрые вопросы с профильных конференций, поэтому просмотр докладов значительно повысит шанс успешного прохождения данного этапа.

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

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

3. Рассказ собеседующего о проектах компании и обсуждение вопросов

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

  1. Чем придется заниматься, помимо перечня, указанного в вакансии?
    Бывает, что на бэкенд разработчика перекладывают администрирование и круглосуточную поддержку стендов. Или происходит найм Java разработчика в проект на delphi.
  2. На чем работать, какое будет оборудование?
    У меня был опыт, когда я вышел в офис и увидел квадратный 16 дюймовый монитор 2005 года и системный блок с hdd и 4 гб оперативной памяти. Использовать свое оборудование для работы было запрещено. Приходилось мириться с тем, что ресурсов постоянно не хватало.
  3. Сроки выплаты зп.
    Даже среди крупных компаний встречаются задержки зарплаты. Если интервьюер начинает уходить от ответа или говорить, что задержки бывают, но редко, стоит насторожиться.
  4. Сколько разработчиков на проекте?
    Желательно, чтобы в проекте было несколько более опытных разработчиков. Это даст быстрый рост, позволит набраться опыта и избежать ошибок.
  5. Где находится офис и как добираться, есть ли удаленка?
    Уже после получения оффера может оказаться, что офис компании на другом конце города и дорога до него будет занимать слишком много времени.
  6. Есть ли в проектах тесты?
    Если их совсем нет и не планируется, то скорее всего проект сильно запущен.
  7. Какие перспективы развития мне может предложить компания и кем я могу стать через 5 лет?
    Является обратной стороной вопроса “Кем вы видите себя через 5 лет”. Будет понятно, на какой рост внутри компании можно расчитывать и есть ли перспективы развития.

Резюмируя

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

Обратную связь обычно присылают в течение недели, но могут и не ответить вовсе. Не стоит переживать по поводу отказов, особенно на этапе трудоустройства на первую работу. В большинство компаний возможна повторная подача резюме через небольшой срок, обычно это 3–6 месяцев. Все понимают, что большинство разработчиков постоянно развивается и за короткий промежуток времени со стажера можно вырасти до уверенного джуна.

--

--