В статьях на JavaRush мы стремимся регулярно затрагивать такую важную, особенно для малоопытных или совсем начинающих программистов тему, как трудоустройство. Мы уже разбирали, как Java-джуниор может прокачать скиллы и получить практический опыт, где легче найти работу и как понравиться работодателю, а также как сделать крутое резюме и прокачать LinkedIn профиль, чтобы максимально увеличить свои шансы на трудоустройство. Java-джуниор на собеседовании: как подготовиться и что спрашивать - 1Сегодня осветим еще одну сторону успешного трудоустройства для программиста, а именно — поговорим о том, как подготовиться к собеседованию, какую стратегию поведения в ходе интервью следует избрать и какие вопросы задавать интервьюерам, чтобы не показаться дураком. А если повезет, то еще и произвести впечатление крутого про (или, будем реалистами, хотя бы крепкого середнячка).

Предварительная подготовка. Базовый чеклист

1. Изучить компанию-работодателя

Несмотря на то, что процесс программирования сам по себе не так уж сильно зависит от сферы работы компании, для успешного собеседования все же очень желательно, а зачастую и необходимо знать, чем компания занимается и какие продукты разрабатывает. Для начала имеет смысл изучить общую информацию о компании и о том, в какой отрасли она работает, хорошенько полазить по ее официальному сайту и страницам в соцсетях, почитать блог (если он есть). Не лишним будет и посмотреть последние новости, в которых упоминается компания и ее продукты, — это, в частности, поможет понять какие проблемы и задачи стоят перед данной организацией в текущий момент, в каком направлении она двигается и какими преимуществами обладает по сравнению с конкурентами. Java-джуниор на собеседовании: как подготовиться и что спрашивать - 2Понимание того, в чем состоит миссия компании и что вообще происходит в той индустрии, в которой она работает, будет полезным в ходе собеседования. Это поможет сформировать правильные вопросы к интервьюеру (о вопросах и том, почему они важны, поговорим ниже) и выбрать более разумную стратегию в той части собеседования, когда кандидату нужно рассказать о своем опыте и кратко пройтись по пунктам, указанным в резюме.

2. Поискать в интернете советы и стандартные вопросы собеседований в этой компании

Зачастую в интернете можно найти довольно-таки подробную информацию о том, как проходят интервью в той или иной компании, вместе с советами от тех, кто уже собеседовался на аналогичные позиции. В первую очередь это актуально для крупных компаний, процесс отбора кандидатов в которых стандартизирован и занимает несколько этапов. Наиболее популярными сайтами с информацией о компаниях по всему миру, их подходе к найму персонала и, самое главное, отзывами нынешних и бывших сотрудников, являются Glassdoor и Indeed. Это если говорить о глобальных ресурсах. На русскоязычном пространстве свои “герои” — отзывы о работодателях айтишники чаще всего предпочитают оставлять на таких ресурсах, как украинский Dou.ua, русский Хабр Карьера, беларусский dev.by (ну и небезызвестный ресурс без цензуры, который можно нагуглить по запросу “прекрасное it”). В разделе отзывов о компании на вышеперечисленных ресурсах очень часто можно найти достаточно подробные описания не только всего процесса собеседования, включая его продолжительность и подход к проведению беседы, но и конкретные вопросы, которые задают всем кандидатам.

3. Просмотреть свой Git-репозиторий

Тем, у кого есть опыт работы над сторонними проектами и личными пет-проджектами, а иметь их программистам с небольшим опытом работы категорически рекомендуется, есть смысл перед собеседованием просмотреть свой Git-репозиторий: обновить его, если нужно, удалить или скрыть те проекты, показывать которые не очень хочется, и наоборот, выставить на первый план те, которыми не грех и похвастаться. Также многие опытные специалисты советуют лишний раз просмотреть свой код, чтобы убедиться в том, что он понятен хотя бы самому автору, ведь весьма вероятно, что интервьюеры, посмотрев на примеры кода, захотят задать несколько вопросов. Вроде таких: "чему вы научились в ходе работы над этим проектом?”, "почему вы написали код именно таким образом?", "что было самым сложным в данном проекте?", "приходилось ли вам принимать какие-либо решения в ходе работы над проектом?" и т.д. Неспособность объяснить свой код и рассказать о тонкостях работы над тем или иным проектом может существенно подпортить впечатление от кандидата. С другой стороны, хороший Git-репозиторий поможет показать свои самые сильные стороны, способность к профессиональному росту и желание прогрессировать.

4. Попрактиковаться в решении задач по программированию

Технические задачи по программированию даются кандидатам на том или ином этапе основного собеседования почти всегда, поэтому хорошим решением будет попрактиковаться в их решении. Причем задачи зачастую дают даже весьма опытным программистам — они служат больше для оценки логических навыков и способности находить решения, чем для проверки непосредственно скиллов в программировании. И их решение, если не иметь в этом большого опыта, в условиях собеседования, когда время ограничено, может вызвать неожиданные затруднения. Java-джуниор на собеседовании: как подготовиться и что спрашивать - 3Существует довольно много ресурсов с задачами по программированию. Среди англоязычных сайтов большой популярностью пользуются LeetCode, CodinGame и Cracking the Coding Interview и многие другие. Ну а лучшим ресурсом с задачами по программированию на Java на русском языке бесспорно является JavaRush.

5. Подготовить список вопросов и тем для разговора

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

Какие вопросы задавать? Чеклист 10 лучших вопросов к интервьюеру

Такая тема, как вопросы, которые кандидату имеет смысл задавать представителям компании в ходе собеседования, незаслуженно обделена вниманием и считается маловажной, ведь при планировании интервью все стремятся в первую очередь подготовиться к тому, чтобы отвечать, а не спрашивать. О том, почему задавать правильные вопросы интервьюерам важно, мы уже рассказали выше. А теперь приведем небольшой список вопросов, которые будут наиболее уместны и вместе с тем полезны в ходе собеседования на позицию программиста. Но сначала — пару цитат с мнениями и советами “бывалых.” “Самые лучшие вопросы к интервьюеру — те, которые требуют развернутого ответа и позволяют получить более глубокое понимание компании, команды людей, с которыми придется работать, и самой должности. Они позволяют больше узнать об инструментах и практиках разработки программного обеспечения в этой компании, о том, как построен процесс принятия решений, какие технологии используются и даже то, чего можно ожидать от этой компании в плане карьерного роста и профессионального развития,” — считает Джоанна Троп-Блустоун (Joanna Tropp-Bluestone), карьерный стратег и управляющая рекрутинговой фирмы Negotiation Geek. Java-джуниор на собеседовании: как подготовиться и что спрашивать - 4“Не существует универсальных вопросов, которые потенциальные разработчики должны задавать нанимателям на собеседовании. Нужно “чувствовать” своего собеседника и задавать вопросы под стать ему. И конечно же нужно учитывать бэкграунд своего собеседника (HR это или специалист с техническими знаниями), думая о том, что спрашивать,” — советует Коди Суонн (Cody Swann), исполнительный директор компании Gunner Technology.

1. Могли бы вы рассказать о членах команды, с которыми мне предстоит работать?

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

2. Каким образом будет измеряться моя производительность?

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

3. Почему вам нравится здесь работать?

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

4. Какие проблемы стоят перед командой прямо сейчас?

“Вопросы о главных проблемах и основных конкурентах демонстрируют, что соискателя заботит траектория движения компании. Это также показывает его уверенность в себе и готовность бороться с трудностями и искать ответы,” — считает Колтон Эндрюс (Kolton Andrus), исполнительный директор компании Gremlin.

5. Какие технологии сейчас использует компания?

“Меня всегда больше впечатляют те кандидаты, которые проявляют искренний интерес к технологиям. Имеет смысл спросить о том, какие технологии используются, и будет ли возможность поработать над чем-то инновационным — выдающиеся разработчики всегда учатся чему-то новому,” — советует Иан МакКларти (Ian McClarty), президент компании PhoenixNAP Global IT Services. И еще ряд вопросов, которые эксперты с опытом найма кодеров чаще всего советуют задавать интервьюерам в ходе собеседования на позицию программиста:
  • Какую выгоду получают клиенты от пользования вашим продуктом или услугой?
  • Предусмотрены ли возможности для карьерного роста?
  • Есть ли у вас замечания по поводу моего резюме и опыта работы?
  • Какие методологии разработки применяет ваша компания?
  • Что-нибудь касательно именно той компании, на работу в которой претендует соискатель.
И закончим еще одной хорошей цитатой. “Меня всегда сильнее всего впечатляли те кандидаты, которые заранее изучили информацию о нашей компании и поразмышляли над техническими сложностями при создании подобного продукта. Такие люди обычно задают хорошие вопросы, связанные с архитектурой проекта, выбором технологий, масштабированием и т.д. Для кандидата это хорошая возможность не только проявить себя, но и понять, действительно ли компания знает, что она делает,” — сказал Шон Борман (Sean Borman) из компании Obsidian Security. Java-джуниор на собеседовании: как подготовиться и что спрашивать - 5

Эпилог

Эти советы, вместе с другими материалами по трудоустройству на JavaRush, помогут во время собеседования чувствовать себя более уверенно, повысить шансы на успешный результат, а может, чем черт не шутит, и добиться более привлекательного предложения. Ну а мы в JavaRush будем и дальше работать над материалами, которые помогут начинающему Java-кодеру найти работу. Впрочем, мы помогаем не только словами, но и делом: студенты с подпиской Premium Pro могут отправить нам свое резюме на проверку — наши специалисты изучат его и выдадут рекомендации о том, что в нем следует исправить или улучшить.
Что почитать еще:
  1. Высший пилотаж на техническом интервью: как я попала в Google, Microsoft и не только
  2. 5 советов, как повысить свои шансы найти работу
  3. Разыскивается Java Junior: где легче найти работу и как понравиться работодателю?
  4. Наймите меня! Как начинающему программисту сделать крутое резюме и LinkedIn профиль
  5. Java-джуниор в поиске работы. Как прокачать скиллы и получить практический опыт