Программы стажировки

Стажировка по направлению backend разработка на Java

Что предлагаем

  • Курс стажировки на 3 месяца с возможностью продления или трудоустройства к нам (с учетом полученных результатов работы стажера).
  • Возможность получить реальный опыт коммерческой разработки в команде профессионалов в работе над типовыми задачами Web‑разработки, а также над уникальными задачами в разработке платформы виртуализации и высоконагруженных систем.
  • Работа под руководством наставника с опытом уровня эксперта Java‑разработки и смежных областей.
  • Возможность трудоустройства к нам по результатам стажировки.
  • Удаленный режим работы.
  • Стипендию лучшим стажерам.

Чем предстоит заниматься

  • Вести разработку на Java согласно индивидуального плана развития стажера.
  • Разрабатывать WEB‑приложение: контрольную панель пользователя для управления облачными сервисами нашей компании.
  • Участвовать в разработке собственной платформы виртуализации на базе Linux‑систем.
  • Участвовать в разработке облачных продуктов компании: DNS‑балансир, Kubernetes как сервис и другие.
  • Пройти наш собственный курс обучения Java‑разработки для стажеров.

Курсы стажировки стартуют каждый месяц, ближайшие интервалы собеседований по новым заявкам на стажировку:

  • 1–10 мая
  • 1–10 июня
  • 1–10 июля
  • 1–10 августа

Подать заявку на зачисление

Процесс стажировки

  • Подача заявки и вашего резюме.
  • Получение приглашения на собеседование.
  • Прохождение собеседования.
  • Зачисление на конкурсной основе.
  • Знакомство с наставником, обсуждение индивидуального плана развития.
  • Стажировка в команде с процессами разработки по agile-методологии (планирование спринтов, ежедневные стендапы, ретроспективы по результату спринтов)
  • Завершение индивидуального плана развития.
  • Рассмотрение стажера на трудоустройство по открытым вакансиям к нам.

Требования к кандидатам

  • Достаточный уровень знаний и практических навыков для возможности разработки под контролем наставника.
  • Готовность и мотивация развиваться.

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

Программа обучения в период стажировки

Мы предусмотрели серию лекций для стажеров для глубокого погружения в профессиональную разработку:

  • Архитектура современного энтерпрайз‑приложения на Java и Spring Boot. Гексагональная и луковичная архитектуры приложений. Принцип инверсии контроля и чистая архитектура.
  • Spring Data, понятие, значение. JPA Query Methods, пагинация, сортировка и фильтрация данных при запросах в СУБД, спецификации запросов.
  • Понятие транзакции, принципы ACID. Транзакции в СУБД и Java‑приложении. Управление транзакцией в Spring Boot.
  • Реляционные базы данных, их функции. Механизмы производительности баз данных.
  • Монолитные приложения и микросервисы, сравнительная характеристика. REST‑стиль в микросервисной архитектуре. Распределенная транзакция в микросервисной архитектуре.
  • Контейнеризация и виртуализация. Обратный прокси‑сервер. Side‑car паттерн. Современный облачный стек, роль Docker, Kubernetes, Service‑mesh.

Темы собеседования для поступления на стажировку

Необходимо обладать теоретическими знаниями по указанным ниже темам, а также навыками программирования на Java, Spring Framework и написания простых SQL‑запросов.

Структуры данных и теория алгоритмов

  • Структуры данных, их основные виды.
  • Определение алгоритмической сложности, классификация алгоритмов по их скорости.

JavaCore

  • Основные языковые конструкции Java, переменные, операторы, управляющие операторы if и for.
  • Коллекции Java (ArrayList, LinkedList, HashSet и другие). Понятие основных методов коллекций Java, понятие алгоритмической сложности вставки в различные коллекции, получения данных.
  • Классы, методы класса, интерфейс.
  • Основные принципы объектно‑ориентированного программирования (ООП).
  • Принцип SOLID.
  • Принцип инверсии контроля (inversion of control).
  • Исключения в Java.
  • Понятие о многопоточном программировании, потоко‑безопасность.

Spring Framework, Spring Boot

  • Основные функции фреймворка Spring.
  • Понятие об устройстве Spring Framework.
  • Bean в Spring Framework, понятие, функции.
  • Понятие об основных аннотациях и их применении: @Component, @Service, @Repository, @Controller, @Autowired, @Configuration, @Bean, @SpringBootApplication.
  • Умение написать простое веб‑приложение на Spring Framework / Spring Boot.
  • Понятие о CRUD‑операциях. Интерфейс JpaRepository, его функции и применение.

Виртуальная машина Java (JVM)

  • Функции JVM.
  • Устройство JVM (JIT‑компилятор, сборщик мусора).

Реляционные базы данных

  • Понятие о языке SQL, умение написать простые запросы CRUD (создать запись в базе, считать эту запись, обновить ее и удалить).
  • Понятие о СУБД, основные функции.
  • Понятие о принципах ACID.

Рекомендованная литература для подготовки к собеседованию

Книги

  • Сеттер Р. В., Яшин А. С. Java на примерах. Практика и только практика. – СПб.: Наука и Техника, 2018. – 256 с. – ISBN 978‑5‑94387‑755‑1.
  • Стивенс Р. Алгоритмы. Теория и практическое применение / Род Стивенс. – М.: ДМК Пресс, 2016. – 592 с. – ISBN 978‑5‑97060‑512‑1.
  • Мартин Р. С. Чистый код: создание, анализ и рефакторинг. Библиотека программиста / Роберт С. Мартин; пер. с англ. Е. Матвеев. – СПб. : Питер, 2020. – 464 с. : ил. – ISBN 978‑5‑4461‑0960‑9.
  • Гамма Э., Хелм Р., Джонсон Р., Влиссидес Дж. Паттерны объектно‑ориентированного проектирования. — СПб.: Питер, 2020. — 448 с.: ил. — (Библиотека программиста). — ISBN 978‑5‑4461‑1595‑3.

Статьи

Видео лекции

Форма заявки на стажировку

Чтобы подать заявку на зачисление, заполните эту форму и отправьте ее, обычно мы отвечаем в течение 24 часов.

ОТПРАВИТЬ