Как пройти техническое интервью в финтех-проект

Количество вакансий для разработчиков Java за последний год выросло на 25%. Чтобы расти профессионально, стоит выбирать работодателей, развивающих сложные с точки зрения стека технологий проекты, с разработкой с нуля.

Важнейший этап получения работы в Luxoft — техническое интервью. Консультанты GlobalCareer поговорили с Александром Большаковым, Senior Programmer в Luxoft, о том, что из себя представляют такие собеседования и на какие вопросы отвечают кандидаты, претендующие на позиции Java.

― Александр, как проходят технические интервью, и что именно на них проверяют?

Технические собеседования Java-разработчиков в Luxoft мы часто проводим с помощью специально разработанной для этого системы оценки кандидатов UJIC (Universal Java Interview Center). Длятся они час-полтора, онлайн. За это время мы успеваем провести кодинг-сессию, оценить теоретическую подготовку соискателя и обсудить вопросы использования различных технологий.

На этом этапе претендент на вакансию общается непосредственно с техническими специалистами, которые занимаются разработкой. Мы смотрим, каким способом кандидат решает задачи. Принцип «Зачем помнить? Я загуглю!» для нас не подходит. Конечно, всё держать в голове невозможно, но нужно рассчитывать на себя, а справочники и интернет использовать лишь в редких случаях.

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

― А можно чуть поподробнее про оценку технических навыков? Это всех интересует больше всего.

Еcли хотите увидеть задачи, которые решают кандидаты, приходите на интервью. 🙂 Вопросы и задания показать не могу, но скажу в целом. Собеседование на вакансии Java мы проводим с помощью UJIC. Это такой типовой тест, который позволяет составить представление об уровне профессионализма соискателя и выявить его экспертные области. Luxoft крупная международная компания, которая одновременно ведёт множество проектов, и такая комплексная проверка помогает быстро определить подготовку специалиста и направление, в котором он будет наиболее эффективен.

Получается все задания типовые и распределены по тематикам?

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

Тематики обязательных заданий на технических интервью в Luxoft:

— Основы программирования;

— Алгоритмы и структуры данных;

— Объектно-ориентированное программирование;

— Тестирование;

— Коллекции и шаблоны проектирования;

— Память;

— Многопоточность;

— Spring.

А как выстроен процесс проверки?

У меня схема такая. Первый этап — это кодинг-сессия из одной-двух задач. Сначала идут типовые алгоритмические задания, затем практические, приближенные к жизни. По ходу решения становится понятен уровень соискателя. В зависимости от этого выбираю следующие вопросы, как правило, они идут от простых к более сложным. Блоки выстроены тоже в такой последовательности: от общей теории к технологиям. Если кандидат первое задание решает слабо, второе уже не даю. А если передо мной опытный эксперт, то сразу перехожу к более сложным вещам. Иногда, чтобы узнать уровень владения определённой технологией, прошу решить задачу с её помощью. Я отбираю разработчиков Java, поэтому для меня большое значение имеет кодинг-сессия.

А как они проходят в Luxoft?

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

Какие разделы даются кандидатам труднее всего, и прощаете ли вы ошибки?

Самыми сложными считаются задания про многопоточность. На практике этот принцип применяется не во всех проектах. Но совсем не значит, что нам подойдёт кандидат, который ничего об этом не знает. Так, от разработчиков Regular-уровня мы ждём общего понимания многопоточности: что это такое, как создать Theard, как между собой обмениваются нотификации среды и прочее.

Специалисты Senior-уровня должны обладать очень хорошей подготовкой в ИТ: иметь опыт самостоятельной разработки «с нуля», отлично знать язык разработки и стек проекта, уметь проводить код-ревью и т.д. Да, в каких-то вопросах у них может быть недостаточно практики, но теоретически они должны понимать, как может быть реализовано то или иное действие.

Книги для подготовки к тех.интервью:

— «Чистый код. Создание, анализ и рефакторинг» Р. Мартин

— «Совершенный код. Мастер-класс» С. Макконнелл

— «Программист-прагматик» Э.Хант, Д.Томас

— «Алгоритмы на Java» Р. Седжвик, К. Уэйн

— «Искусство программирования» Д. Кнут

— «Алгоритмы. Построение и анализ» Т. Кормен, Ч. Лейзерсон, Р. Ривест, К. Штайн

— «Карьера программиста» Г. Лакман Макдауэлл

Реально ли подготовиться к техническому интервью?

Конечно. Нужно постоянно читать книги и статьи, смотреть видео на профессиональных интернет-ресурсах. Также следует регулярно решать задачи, это поможет чувствовать себя уверенным, заставит мозг работать. Теория — это хорошо, но и практика очень важна.

Советы на время прохождения тех.интервью:

  • Решайте задачи от простого к сложному. Сначала предложите решение «в лоб», а потом уже оптимизируйте. Так вы не запутаетесь и эффективно улучшите ответ.
  • Не бойтесь говорить на английском на интервью. Лучше сказать, хоть что-то, чем отказаться показать уровень знания языка. Если стесняетесь, подготовьтесь с помощью интернет-переводчика: попробуйте сказать название своего проекта на английском, что-то коротко рассказать о себе.
  • Решайте больше задач дома. Это придаст вам уверенности на собеседовании и позволит быстрее ответить на поставленные вопросы. В общем, практика, практика и ещё раз практика.

GlobalCareer — нишевое рекрутинговое агентство, которое уже больше 12 лет подбирает опытных IT-специалистов в самые масштабные проекты в России и за рубежом. Если вы хотите работать в топовой IT, enterprise или финтех-компании, напишите нам, и мы обязательно подберём для вас интересный, перспективный проект.

    Чтобы отправить резюме, заполните форму ниже.

    Поля, отмеченные звездочкой, обязательны для заполнения

    Ваша заявка успешно отправлена.

    Спасибо! Письмо с ответом будет отправлено вам на почту в ближайшее время

    Произошла ошибка.

    Пожалуйста, повторите попытку позже, или свяжитесь с нами по телефону +7 495 967-80-30

    Необходима консультация?

    Оставьте заявку, и мы свяжемся с вами в ближайшее время

      Read more

      Ваша заявка успешно отправлена.

      Спасибо! Письмо с ответом будет отправлено вам на почту в ближайшее время

      Произошла ошибка.

      Пожалуйста, повторите попытку позже, или свяжитесь с нами по телефону +7 495 967-80-30 или по электронной почте info_GC@IBS.RU