8 962 685-64-44 8 800 770-03-80 812 647-63-14

Java-разработчик

На java работают многие сайты, CRM-системы, Android-приложения, игры, программы для умных домов и многое другое. 

Программа:

Модуль 1. Основы Java

  1. Введение в программирование
  2. Структура программы на Java
  3. Условные операторы и циклы
  4. Типы данных: примитивы и объекты
  5. Одномерные и многомерные массивы
  6. Объектно-ориентированное программирование
  7. Структура класса
  8. Модификаторы доступа, наследование
  9. Полиморфизм
  10. Абстракции и интерфейсы
  11. Исключения, Stacktrace
  12. Generics в коллекциях и методах
  13. Коллекции List

Коллекции Queue

  1. Коллекции HashMap и HashSet
  2. Коллекции TreeMap и TreeSet

Модуль 2. Алготриты и структуры данных.

  1. Введение в алгоритмическую сложность. Бинпоиск
  2. Динамическое программирование и «жадность»
  3. Сортировки
  4. Динамический массив. Списки. Деки
  5. Пирамиды и деревья поиска
  6. Хеширование
  7. Графы
  8. Орграфы

Модуль 3. Git - система контроля версий.

  1. Внедрение системы контроля версий

  2. История работы и ветки

Модуль 4. Java Core

    1. Лямбда-выражения и функциональные интерфейсы
    2. Stream API. Потоки, повторные вызовы, основные методы
    3. Потоки ввода-вывода. Работа с файлами. Сериализация
    4. Сборка проектов. Maven и Gradle
    5. Работа с файлами CSV, XML, JSON
    6. Тестирование кода и Unit-тесты
    7. Mockito. Мокирование вызовов, Mock
    8. Основы работы с сетью. Модель OSI, TCP, UDP
    9. Протокол HTTP. Вызов удалённых серверов
    10. JVM. Организация памяти, сборщики мусора, VisualVM

Модуль 5. Шаблоны проектирования

  1. Порождающие шаблоны: Builder, Singleton, Factory Method, Abstract Factory, Prototype
  2. Структурные шаблоны: Proxy, Decorator, Adapter
  3. Поведенческие шаблоны: Command, Iterator, Observer, Chain of Responsibility
  4. Свойства хорошего кода и принцип SOLID
  5. Многопоточное (параллельное) программирование. Создание и запуск потоков
  6. Работа с синхронизацией
  7. Переменные многопоточной программы
  8. Коллекции для параллельной (конкурирующей) работы
  9. Клиент-серверное взаимодействие. Blocking и Non-Blocking IO
  10. Функциональное программирование
  11. Методология разработки. TDD, DDD

Модуль 6. Web, Spring & Spring MVC

  1. HTTP и современный Web
  2. Формы и форматы передачи данных
  3. JavaScript, AJAX, REST, JSON, CORS
  4. Servlets Containers
  5. Dependency Lookup, Dependency Injection, IoC, Application Context
  6. Spring Web MVC

Модуль 7. Spring Boot, deployment и инфраструктура

  1. Spring Boot: назначение и внутреннее устройство
  2. REST
  3. Виртуализация и основы работы
  4. Разворачивание Spring Boot приложений
  5. Основы работы с Docker
  6. TestContainers, Kubernetes, облака

Модуль 8. Spring: хранение данных и организация безопасности

  1. SQL: основы работы, DDL, DML
  2. SQL: вложенные подзапросы, JOIN'ы, агрегирующие запросы
  3. JDBC API, JdbcTemplate, NamedParametersJdbcTemplate
  4. ORM, Hibernate, Entity Lifecycle, Embedding, Relationships
  5. ORM, Hibernate, Entity Lifecycle, Embedding, Relationships
  6. Spring JPA Repositories, JPQL
  7. Безопасность в веб-приложениях, Spring Security
  8. Аутентификация и авторизация