Освойте профессию Java-разработчик от SkillFactory и S7 Airlines:
1. Получите знания и навыки за год
После года обучения научитесь программировать на Java и освоите объектно-ориентированное программирование, изучите современные технологии бэкенд-разработки и разработаете проект для авиакомпании
2. Выберите вакансию и начните карьеру
После прохождения базового уровня мы поможем с составлением правильного резюме, предоставим на выбор вакансии и назначим интервью, а также подготовим к собеседованию
3. Освойте дополнительные навыки
На последних шести месяцах обучения начните нарабатывать опыт, выберите необходимые дополнительные навыки, которые пригодятся на работе, и освойте их в рамках этой программы
4. Получите повышение
Примените новые навыки в работе, добавьте их в резюме и получите должность Java-разработчика уровня Middle
Программирование на Java
1. Алгоритмы и структуры данных
- Технологии в ИТ их область применения. Как написать ТЗ.
- Устройство WEB и работа браузера. Работа протоколов. DNS.
- Классификация языков программирования. Концепции объектно-ориентированного и функционального программирования.
- Типы данных: числа и операторы, переменные, строки, булевы выражения. Структуры данных: массивы, списки, очереди. Условия и циклы. Функции.
- Блок-схемы. Алгоритмы сортировки и поиска.
- Алгоритмическое мышление и паттерны решения проблем. Алгоритмические задачи.
2. Java
- Установка JDK и IntelliJ IDEA. Особенности выполнения кода на Java
- Основные синтаксические конструкции и операторы. Переменные. Условия и циклы
- Массивы и строки
- Объекты и классы. Создание объектов. Копирование объектов. Внешние библиотеки классов
- Параметры и методы. Статистические методы. Статистические переменные. Константы
- JAR-файлы
- Операции с числами. Строки, символы, подстроки. Сравнение строк. Регулярные выражения
- Массивы. Списки. Очереди. Поиск и сортировка. Указатели на методы. Наследование и полиморфизм.
- Наследование классов. Доступ к методам и переменным. Абстрактные классы
- Коллекции (Java Collections Framework): list, set, map
- Библиотека классов Java Concurrency: Thread pooling
- Особенности Java 8: лямбда-функции, Stream API, Date Time API в Java
- Интерфейсы, функциональные интерфейсы. default- и static-методы в интерфейсах
- Примитивы
- Обработка исключений. Типы исключений
Java Developer
3. SQL и работа с базами данных
- Основы SQL
- Структура БД, основные запросы. Представление о SQL- и noSQL-базах данных. Системы управления БД
- Таблицы и основные функции. Структуры данных
- ORM. Hibernate. EclipseLink
- Запись, добавление, удаление объектов; сортировка и поиск
- Работа с PostgreSQL, MySQL и Oracle. JDBC
- Работа с MongoDB и Redis на Java
4. Backend-разработка на Java
- Структура проекта. Системы сборки Maven и Gradl
- Java Server Page
- Особенности объектно-ориентированного программирования в Java
- Проектирование приложений
- Процессы и потоки. Однопоточность и многопоточность. Java IO
- Работа с файлами и сетью. Чтение файлов из сети. Файлы HTML, XML, JSON
- API-сервисы. REST и SOAP
- Авторизация
- Логирование. Log4j, Logback, Slf4j
- Кэширование. CDN, server side/client side
- Безопасность. Симметричное и асимметричное
- шифрование. Работа протоколов. SSL/TSL.
- Хэширование. Spring Security
- Работа с веб-сервером. Nginx, Apache. WebSocket
5. Java Frameworks
- Spring Boot
- Spring Data. JPA
- Hibernate
- Spring Core. Dependency injection
- Java FX для разработки фронтенда
6. Тестирование приложений
- Отладка приложений.
- Модульное тестирование. JUnit, Mockito
- Интеграционные и функциональные тесты. Logging, Log4j
- Е2Е-тестирование. Selenium
7. Разработка микросервисов
- Концепция CI/CD
- Архитектурные паттерны. Монолитные приложения, микросервисы, бессерверные приложения
- Spring Cloud для разработки микросервисов. GraalVM
- Поисковые механизмы. Elasticsearch
- Message Queue: Kafka, Redis, JMS
- Контейнеризация. Docker
- Виртуализация
- Оркестрация. Kubernetes, Docker Compose
- GraphQL. Apollo.
- Оптимизация кода и приложений. Факторы производительности
DevOps
8. Основы DevOps
- Введение в системное администрирование
- Основные OS-концепции: виртуализация, потоки, конкурентность, сокеты, хранение данных, I/O-менеджмент, основы POSIX
- Работа с Linux. Командная строка в Linux
- Работа с сетями и протоколами. Безопасность сетей
- Жизненный цикл ПО и концепция CI/CD. Gitlab CI, Jenkins
- Управление конфигурациями в Ansible
- Оркестрация контейнеров в Kubernetes
- Мониторинг инфраструктуры и приложений: Prometheus, JMX, Spring Metrics, Spring Actuator
- Облачные технологии (AWS, Azure) и дизайн-паттерны
- Тестирование (Molecule)
Владимир Высокий
Руководитель команды разработки
Илья Бобров
Java middle разработчик, опыт разработки более 3 лет, стек: Java 8-12, Servlet/JSP, Jsoup, JUnit, Mockito, Log4J, Liquibase, Git, Tomcat, Maven, PostgreSQL, CSS/HTML/JS
Сергей Бойченко
Ведущий преподаватель профессии «Java-разработчик»