Как junior-Java разработчику подготовиться к собеседованиям

Наш Telegram
  • Java
    Работа
    10.02.2023
    собеседование junior-Java

    Тщательная подготовка к прохождению этапов отбора на вакансию Junior Java developer — это скучный, непростой, но очень важный этап поиска работы. Работодатели предъявляют строгие требования к новичкам и ожидают от джуна хороших знаний теории и умения применить её на практике. Команда Учебного центра Maxima рассказывает, об основных шагах на пути к job-офферу и подсказывает, на что нужно обратить внимание начинающему Java-разработчику во время поиска работы. 

    Первичный скрининг и общение с HR-специалистом

    Время технических специалистов стоит дорого, поэтому сперва кандидатов на вакансию «фильтрует» эйчар. В зависимости от установленных процессов, собеседование может занимать 5 минут или превратиться в часовой созвон в Zoom. 

    На этом этапе HR определяет: 

    • подходит ли соискатель по формальным критериям. Например, может ли работать полный день или ищет проект, подразумевающий частичную занятость;
    • заинтересован ли человек в работе или просто «смотрит рынок» и не планирует увольняться;
    • с какими технологиями и инструментами знаком соискатель. Чаще это просто проверка по списку навыков, которые описаны в вакансии;
    • короткий «технический» ликбез. Например, могут спросить, что такое процесс сборки проекта, попросить рассказать об основных командах в системе контроля версий Git, перечислить основные аннотации в JUnit;
    • уровень soft skills собеседника (умение поддерживать диалог, работать в команде и справляться со сложными ситуациями);
    • заинтересованность кандидата (есть ли pet-проекты, изучил ли соискатель информацию о компании и вакансии);
    • общую информацию, важную для трудоустройства (когда кандидат может выйти на проект, готов ли к релокации, уровень зарплатных ожиданий).

    К скринингу обязательно нужно подготовиться, поскольку разговор с эйчаром — «билет» на техническое собеседование. Рекомендуем освежить теоретические знания, отрепетировать рассказ о себе, почитать о компании и внимательно перечитать требования к кандидату в вакансии. 


     

    Тестовое задание

    Этот этап предусмотрен не во всех компаниях, но чаще всего отсев стажёров и джунов происходит именно по результатам тестового. Объём и сложность зависят от особенностей проекта, на который ищут джуниор-разработчика. Например, могут попросить написать программу, которая удалит все пробелы из строки с помощью replace и без или дать задачку на подсчёт повторяющихся слов в строке при помощи HashMap. А бывают и задачи потруднее, например, просят сделать HTTP-сервис для сокращения URL (без проработки UI) и покрыть тестами. Можно поискать примеры типовых заданий и потренироваться.

    Иногда HR просят вместо задания отправить ссылку на pet-проекты. На этом этапе эйчару и нанимающему менеджеру важно понять уровень навыков кандидата и посмотреть, какими инструментами и технологиями пользуется соискатель. Также из хорошо выполненных тестовых можно собрать что-то наподобие «портфолио» и добавить его в свой аккаунт на GitHub; помимо кода нужно приложить описание задачи и подхода к её решению. 

    Техническое интервью

    На одном из финальных этапов отбора технический специалист оценивает, насколько хорошо кандидат владеет hard skills, умеет ли решать практические задачи, быстро ориентироваться в ситуации, хорошо ли изучил теорию. Конкретные вопросы будут зависеть от типа компании и проекта, вакансии, грейда (например, от стажёра ожиданий будет меньше, чем от джуна). Главное, помнить, что от вас ждут понимания темы, а не заученных слово в слово формулировок. 

    Примерный список тем, по которым могут «пройтись» (в кратком формате) может выглядеть так

    • Основы Java: синтаксис, типы данных, коллекции (отличия LinkedList и ArrayList), структуры управления, массивы, рекурсия, обработка исключений;
    • Базовое взаимодействие с Git: команды commit, push, merge, pull и т.д.;
    • ООП: паттерны проектирования, статические и нестатические методы, наследование, классы и абстрактные интерфейсы;
    • Standard Library: списки и ассоциативные массивы, Java Collection API, Stream API;
    • Устройство памяти в JVM (встречается редко);
    • Основы Web (HTTP, HTML, CSS);
    • Сборка проекта с помощью Maven (например, могут спросить про стандартные жизненные циклы);
    • Базы данных: реляционные и нереляционные;
    • SQL: как строится запрос, какие виды join-ов существуют;
    • Spring: какие задачи помогает решать, что такое DI/IOC и бины. Могут попросить рассказать, как применяли на практике;
    • Hibernate;
    • Тестирование: виды тестирования, JUnit для unit-тестов и Mockito для имплементации заглушек; 
    • Методологии разработки (в самых общих словах).

    Выглядит объёмно, однако в реальности никто не будет спрашивать всё подряд, будут ориентироваться на задачи, которые хотят дать на проекте. Поэтому по описанию вакансии примерно можно будет понять, на чём сфокусируется интервьюер. Если вы хотите получить полный список технических вопросов по вашему стеку, загуглите «вопросы junior Java developer».  

    Лайфхак: на YouTube можно отыскать примеры собеседований от реальных компаний, где технические специалисты разбирают распространённые вопросы и ошибки. Хорошо помогает «подсобрать» и структурировать ранее изученную теорию. 

    Вторая часть техсобеседования — небольшая практика. 

    У каждого нанимающего менеджера свой подход и предпочтения, однако чаще всего встречаются алгоритмические задачи, реализация простой функции, проектирование класса и т.д. (на Habr и GitHub можно найти множество разборов типовых задач). Ничего страшного, если вы не сориентируетесь в первую же секунду: начните размышлять вслух и шаг за шагом продвигаться к решению. Лучше всего потренироваться дома и попросить одногруппника или друга побыть слушателем, чтобы перебороть стеснение. 

    Кроме теоретических знаний и практических скиллов техспециалист будет оценивать гибкие навыки. Могут спросить, почему вы выбрали именно Java, есть ли опыт разработки, какие pet-проекты делали, был ли опыт прохождения практики или стажировки в IT-компании. Это простые вопросы, которые покажут, умеете ли вы вести диалог, способны ли обучаться, заинтересованы ли в том, чем хотите заниматься. 

    Готовитесь к собеседованию, но понимаете, что знаний не хватает? Один из способов быстро и качественно решить проблему и стать ближе к работе мечты — записаться на индивидуальное обучение «Основам программирования на Java» к опытному наставнику. После диагностики входных знаний преподаватель разработает учебный трек и предложит удобное расписание уроков. К концу обучения наставник поможет скорректировать пробелы в знаниях и научит справляться с реализацией практических задач. 

    счетчик просмотров4487