Стажировка по направлению 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.
Статьи
- 10 основных структур данных — https://practicum.yandex.ru/blog/10-osnovnyh-struktur-dannyh/
- Сложность алгоритмов — https://javarush.com/groups/posts/2325-slozhnostjh-algoritmov
- JVM internals — https://habr.com/ru/articles/739338/
Видео лекции
- Bob Martin SOLID Principles of Object Oriented and Agile Design — https://youtu.be/TMuno5RZNeE?si=VNyLHPz7B3W0tL9W
- UncleBob Expecting Professionalism (Kuppelsalen, Copenhagen) — https://youtu.be/BSaAMQVq01E?si=csPxEdiiHfRqLXMx
- The S.O.L.I.D. Principles of OO & Agile Design - Uncle Bob Martin — https://youtu.be/t86v3N4OshQ?si=1GZ5QHddhRJMijjk
- Data Structures and Algorithms for Beginners — https://youtu.be/BBpAmxU_NQo?si=aug8TcSt6DwNy4C0
- Database Indexing Explained (with PostgreSQL) — https://youtu.be/-qNSXK7s7_w?si=S1PpqaOThI8H-jDg
- Евгений Борисов — Spring-построитель — https://youtu.be/rd6wxPzXQvo?si=6hdX0hfB2tbPKICC
- Java Concurrency and Multithreading - Introduction — https://youtu.be/mTGdtC9f4EU?si=PoK5-yF0cSGb51qJ
Чтобы подать заявку на зачисление, заполните эту форму и отправьте ее, обычно мы отвечаем в течение 24 часов.


