JAVA ROADMAP (JAVA CORE)
1
JAVA CORE - START
Установка java
Установка IDE
Переменные и типы данных
Операторы
Условные операторы if/switch
Методы
Циклы for/while
Массивы
2
JAVA CORE - BASE
Классы и объекты
Работа со строками. Класс String
Регулярные выражения
ООП: Наследование
Инкапсуляция
Полиморфизм
Абстракция
Абстрактные классы
Интерфейсы
Generics (Обобщения)
Enum (Перечисления)
Модель памяти (Heap, stack)
Garbage Collector (Сборщик мусора)
Collection (Коллекции)
Map (Карты)
Сортировка коллекций
Хэширование
Исключения
Debug (отладка программы)
Потоки ввода-вывода(работа с файлами)
Пакет java.time (работа со временем)
Многопоточность
Пакте java.util.concurrent
Lambda и функциональные интерфейсы
Stream API

3
JAVA CORE - ADVANCED
S.O.L.I.D.
Design Patterns
Reflection
Annotation
Lombok (сокращение синтаксиса)

XML/JSON

Тестирование (Acceptance, Integration, Unit)

4
ВЫБОР НАПРАВЛЕНИЯ
Backend (Java Enterprise)
Mobile (Android)
AQA (Автоматизированное тестирование)

JUNIOR BACKEND (JAVA ENTERPRISE)
1
MAVEN (GRADLE)
Научиться собирать проекты с помощью Maven

POM конфигурация
Подключение библиотек
Жизненный цикл
Профайлы сборки
Многомодульные проекты
Сборка jar и war дистрибутивов

2
Apache Tomcat и Servlet API
Научиться работать с сервером приложений Tomcat
Изучить протокол HTTP
Научиться писать сервлеты
Освоить jakarta.servlet-api
Запуск своих web приложений на сервере Tomcat


3
DB, SQL, JDBC
Установить базу данных (PostgreSQL)
Освоить язык запросов SQL
Научиться работать с JDBC - работа с базой данных из java приложения.

select/update/create/delete
DDL
Нормальные формы
JOIN
Индексы
План выполнения запросов

Jdbc Driver
Properties files
java.sql package
Batch запросы
Connection pool
DAO
4
Hibernate
Освоить фреймворк для работы с базами данных.

ORM
Entity
Session
Mapping
Lazy loading
Caches
HQL, JPQL
JPA Criteria
ACID
Transactions
5
Spring
Большинство приложений на java создаются на Spring framework - это целая экосистема фреймворков.

Spring Core
Spring MVC
Spring Data
Spring Security
Spring AOP
Spring Boot
Spring Thymeleaf
Spring Caches
Spring Validation
Spring Testing
6
Git
Научиться работать с системой контроля версий

Version Control
Repositories
Commit, Push, Pull, Tags, Revert, Reset
Branching (merge, rebase)
Git Flow
github/gitlab
7
Java Junior
У вас есть вся необходимая база для Java Junior
MIDDLE BACKEND (JAVA DEVELOPER)
1
Docker
Docker Cli
Image
Container
Dockerfile
Docker compose
Testcontainers-JUnit-Mockito
2
JUnit + Mockito, Testcontainers, Liquibase, Mapstruct
Юнит и интеграционные тесты
Контроль версий БД
Автоматизированный маппинг сущностей

3
Workflow
Git workflow
Merge Request
Code Review
Jira
Confluence
BA, PM, PO, QA
Dev, QA, Preprod, Prod

4
Spring Cloud
Микросервисная архитектура

API Gateway
Discovery Server
Config Server
Circuit Breaker
Resilience4j
JWT, Security
5
Keycloak
Авторизация и аутентификация

JWT токен
OAuth
OAuth 2.0
OpenID
OpenID Connect (OIDC)
SSO
LDAP
6
Apache Kafka
Современные микросервисные приложения используют чаще всего message broker kafka - менеджер обмена сообщениями между микросервисами

Cluster/Broker/Topic
Partitions/Replications
Consumers/Producers
Transactions
Тестирование
7
CI/CD
Разобраться с технологией непрерывной разработки и интеграции кода
8
kubernetes
Pod
ReplicaSet
Deployment
Service
ConfigMap
Secret
Ingress

9
Метрики, логи, трассировка
ELK
EFK
Grafana
Prometheus
Spring Actuator
Spring Cloud Sleuth
10
Java Middle
Вы middle разработчик
MIDDLE + | SENIOR (JAVAGURU)
1
Spring in depth
2
CI/CD, Docker, Kuber
Оптимизация и
конфигурация системы
3
Построение систем логирования и отслеживания метрик
4
Kafka, RabbitMQ
5
Построение систем на реактивном программировании
6
Архитектура