Как пройти интервью в Luxoft на позицию Java: чек-лист полезных советов
Язык программирования Java считается самым популярным в мире — на этом языке, пишут и сложные финансовые системы для банков, и развлекательные медиа-порталы, и приложения для мобильных телефонов, и трейдинговые платформы.
Популярность Java приводит к сильной конкуренции на ИТ-рынке. На основании опыта рекрутеров компании Luxoft на одну вакансию программиста Java рассматривается в среднем 5 соискателей. Для трудоустройства в подходящую компанию недостаточно прочитать пару книг или просмотреть ролики на YouTube. Требования как к опытным кандидатам, так и новичкам только увеличиваются.
Резюме кандидата начинается с релевантного опыта. В зависимости от сложности проекта, его длительности, обилия используемых технологий (не просто Java Core), руководитель может ожидать от кандидатов релевантный опыт в разработке от 3-5 лет, на более сложных проектах и на senior-позициях — от 8 лет.
Иногда на интервью приходят кандидаты с большим заявленным опытом, но в ходе беседы всплывают большие пробелы в понимании работы отдельных компонент или целых Java-фреймворков. Поэтому к техническому собеседованию лучше подготовиться дополнительно.
Как подготовиться к собеседованию?
Приведенные ниже темы покрывают лишь часть возможностей языка Java, но они являются основой, в этих вопросах профессиональный Java-программист должен разбираться на 5+, иметь свое мнение и отвечать на вопросы потенциального работодателя.
Итак, заранее лучше освежить в памяти следующие темы:
Алгоритмы и структуры данных (Algorithms & Data structures)
Что такое потокобезопасность (thread safe) и как ее добиться?
Объектно-ориентированное программирование (OOP)
Различия между перегрузкой и переопределением метода?
Можем ли мы предотвратить переопределение метода без использования модификатора final?
SOLID принципы
Важно помнить, что большинство систем не живут в вакууме, а взаимодействуют с пользователями или другими системами. Поэтому важно, чтобы разработчик также имел навыки в области передачи и обработки данных.
Базы данных
Минимум одну базу данных (а лучше больше) необходимо знать в совершенстве. В работе понадобится создавать/модернизировать таблицы, настраивать индексы, писать триггеры, формировать сложные запросы, оптимизировать их по производительности.
Да, у баз данных есть общая часть — SQL, но даже тут есть различия — например, MS SQL или Oracle. Добавим в этот список PostgreSQL и MySQL. Первые две — стандарт больших корпоративных систем, последние две — малых или средних.
Для доступа к базам данных существует два разных подхода: JDBC и Hibernate.
Выделим несколько топиков по этой теме, о которых может зайти речь на собеседовании:
преимущества и недостатки Hibernate по сравнению с JDBC;
какие существуют стратегии загрузки данных в Hibernate;
назовите аннотации, используемые в Hibernate.
Если ваша платформа получает данные в режиме реального времени, то в мире Java без JMS вам не обойтись.
Следует четко понимать:
из каких компонент JMS состоит;
основные интерфейсы JMS;
стандартные типы JMS-сообщений.
Львиная доля мировых систем работает на Unix-подобных операционных системах. Программист, который пишет код на Java и не знает, как запустить свое приложение, просмотреть лог-файлы, настроить демо, явно будет проигрывать. Поэтому здесь уже правильнее говорить не о Java-программисте, а о Java-инженере. Это сотрудник, который умеет писать код, эффективно взаимодействовать с другими участниками команды, следовать SDLC-процессам, инженерным практикам (CI/CD, XP, Scrum/SAFE, Code coverage, BDD).
Время больших монолитов уже уходит в прошлое. Будущее за современной легковесной архитектурой, поэтому кандидату сегодня необходимо уметь строить правильную архитектуру, менять ее адаптивно, отвечая на новые запросы от бизнеса.
Рост количества данных и пользователей увеличивает количество точек интеграции, поэтому важно уметь масштабировать решения, увеличивать надежность и производительность. Это все относится к современным и обязательным навыкам Senior Java разработчика.
Практическая часть
Ну и напоследок можно порекомендовать некоторые книги, которые помогут освежить знания о Java и лучше подготовиться к собеседованию:
Джошуа Блох «Эффективная Java» («Effective Java: Programming Language Guide»);
Крейг Уоллс «Spring в действии» («Spring in Action»);
Бауэр Кристиан «Java Persistence API и Hibernate» («Java Persistence with Hibernate»);
Роберт Мартин «Чистый код» («Clean Code»);
Роберт Седжвик «Алгоритмы на Java» («Algorithms In Java»);
Мартин Фаулер «Рефакторинг. Улучшение существующего кода» («Refactoring. Improving the Design of Existing Code»);
12 онлайн-курсов по языку Java для новичков и профессионалов (август, 2023)
Java по-прежнему входит в список самых популярных языков программирования. Вместе с Digitaldefynd мы составили список курсов по Java, которые подойдут как новичкам, так и людям с опытом программирования, чтобы освоить этот востребованный язык.
Если к марафону надо разминаться, это не ваш марафон
Если к концерту надо делать саунд-чек, это не ваш концерт
Если к походу в горы вам надо подготовиться, это не ваши горы
Если к полету в космос вам надо посидеть в барокамере, это не ваш космос
Если к прыжку с самолета вам надо лично уложить парашют, это не ваш самолет
Это че к собесу еще готовиться надо и такой список книг пересмотреть.
Кстате если кто хочет найлегчайшим способом покинуть РБ и легализоваться в РП, то Люксофт хороший вариант. Да есть ПБХ и можно самому, но если цель как можно легче пройти путь до ВНЖ, то у люксофта целые отделы работают над помощью и легализацией иностранцев. (как и у Епама впрочем)
вот так да вопросы... ни одного вопроса с java 8 нету, а на дворе уже как бы 21 год, 13 на проде часто вижу.
Эх пойду про сортировку и поиск в бинарном дереве читать, прям каждый день с этим сталкиваюсь.
Релоцировались? Теперь вы можете комментировать без верификации аккаунта.
Если к собеседованию нужно готовиться -- эта вакансия не ваша.
Если к марафону надо разминаться, это не ваш марафон
Если к концерту надо делать саунд-чек, это не ваш концерт
Если к походу в горы вам надо подготовиться, это не ваши горы
Если к полету в космос вам надо посидеть в барокамере, это не ваш космос
Если к прыжку с самолета вам надо лично уложить парашют, это не ваш самолет
Это че к собесу еще готовиться надо и такой список книг пересмотреть.
Кстате если кто хочет найлегчайшим способом покинуть РБ и легализоваться в РП, то Люксофт хороший вариант. Да есть ПБХ и можно самому, но если цель как можно легче пройти путь до ВНЖ, то у люксофта целые отделы работают над помощью и легализацией иностранцев. (как и у Епама впрочем)
"надо и такой список книг пересмотреть." - их уже лет 10 назад как прочитать надо было, а не сейчас "пересматривать"
Как показывает опыт знакомых, самостоятельный поиск в linkedin - лучший вариант.
вот так да вопросы... ни одного вопроса с java 8 нету, а на дворе уже как бы 21 год, 13 на проде часто вижу.
Эх пойду про сортировку и поиск в бинарном дереве читать, прям каждый день с этим сталкиваюсь.
"ни одного вопроса с java 8 нету" - а вы их удивите