Java-разработчик
На java работают многие сайты, CRM-системы, Android-приложения, игры, программы для умных домов и многое другое.
Программа:
Модуль 1. Основы Java
- Введение в программирование
- Структура программы на Java
- Условные операторы и циклы
- Типы данных: примитивы и объекты
- Одномерные и многомерные массивы
- Объектно-ориентированное программирование
- Структура класса
- Модификаторы доступа, наследование
- Полиморфизм
- Абстракции и интерфейсы
- Исключения, Stacktrace
- Generics в коллекциях и методах
- Коллекции List
Коллекции Queue
- Коллекции HashMap и HashSet
- Коллекции TreeMap и TreeSet
Модуль 2. Алготриты и структуры данных.
- Введение в алгоритмическую сложность. Бинпоиск
- Динамическое программирование и «жадность»
- Сортировки
- Динамический массив. Списки. Деки
- Пирамиды и деревья поиска
- Хеширование
- Графы
- Орграфы
Модуль 3. Git - система контроля версий.
- Внедрение системы контроля версий
2. История работы и ветки
Модуль 4. Java Core
- Лямбда-выражения и функциональные интерфейсы
- Stream API. Потоки, повторные вызовы, основные методы
- Потоки ввода-вывода. Работа с файлами. Сериализация
- Сборка проектов. Maven и Gradle
- Работа с файлами CSV, XML, JSON
- Тестирование кода и Unit-тесты
- Mockito. Мокирование вызовов, Mock
- Основы работы с сетью. Модель OSI, TCP, UDP
- Протокол HTTP. Вызов удалённых серверов
- JVM. Организация памяти, сборщики мусора, VisualVM
Модуль 5. Шаблоны проектирования
- Порождающие шаблоны: Builder, Singleton, Factory Method, Abstract Factory, Prototype
- Структурные шаблоны: Proxy, Decorator, Adapter
- Поведенческие шаблоны: Command, Iterator, Observer, Chain of Responsibility
- Свойства хорошего кода и принцип SOLID
- Многопоточное (параллельное) программирование. Создание и запуск потоков
- Работа с синхронизацией
- Переменные многопоточной программы
- Коллекции для параллельной (конкурирующей) работы
- Клиент-серверное взаимодействие. Blocking и Non-Blocking IO
- Функциональное программирование
- Методология разработки. TDD, DDD
Модуль 6. Web, Spring & Spring MVC
- HTTP и современный Web
- Формы и форматы передачи данных
- JavaScript, AJAX, REST, JSON, CORS
- Servlets Containers
- Dependency Lookup, Dependency Injection, IoC, Application Context
- Spring Web MVC
Модуль 7. Spring Boot, deployment и инфраструктура
- Spring Boot: назначение и внутреннее устройство
- REST
- Виртуализация и основы работы
- Разворачивание Spring Boot приложений
- Основы работы с Docker
- TestContainers, Kubernetes, облака
Модуль 8. Spring: хранение данных и организация безопасности
- SQL: основы работы, DDL, DML
- SQL: вложенные подзапросы, JOIN'ы, агрегирующие запросы
- JDBC API, JdbcTemplate, NamedParametersJdbcTemplate
- ORM, Hibernate, Entity Lifecycle, Embedding, Relationships
- ORM, Hibernate, Entity Lifecycle, Embedding, Relationships
- Spring JPA Repositories, JPQL
- Безопасность в веб-приложениях, Spring Security
- Аутентификация и авторизация