Открыто

Java backend, как в BigTech [Тариф sam_reshu] [Павел Сорокин]

Тема в разделе "Курсы по программированию", создана пользователем Топикстартер, 9 май 2026.

Цена: 119 900р-95%
Взнос: 4 890р

Основной список: 13 участников

  1. 9 май 2026
    #1
    Топикстартер
    Топикстартер ЧКЧлен клуба

    Складчина: Java backend, как в BigTech [Тариф sam_reshu] [Павел Сорокин]

    upload_2026-5-9_18-11-0.png

    18 недель беспощадного кодинга в формате спринтов

    Каждый спринт — это отдельная практическая тема, которую вы проходите, закрепляете на домашнем задании и применяете в реальном выпускном проекте EventManager

    Для кого курс
    1. Совсем новичок
      Сэкономишь год самостоятельных несистемных попыток что-то понять и сразу получишь харды уровня middle
    2. Есть база, но ещё не работаю
      Закроешь пробелы и изучишь всё, что нужно реальной работе, чтобы наконец-то вкатиться
    3. Джун
      Быстро прокачаешься по хардам, чтобы заперформить в проекте и апнуть грейд ИЛИ найти новую работу на позицию миддла
    4. Миддл на устаревшем стеке
      Подтянешь все харды до актуального рынку уровня и погрузишься в архитектуру с микросервисами, чтобы быстрее вырасти по грейду/найти новую работу
    Научим всему что бигтехи требуют в вакансиях:
    • Строить микросервисы, которые не падают под нагрузкой и не умирают от продовых кейсов
    • Делать авторизацию с нуля: JWT, роли, фильтры, обработка прав, единый формат ошибок
    • Писать бизнес логику и фичи: обработка событий, статусы, задачи по расписанию, отправка нотификаций, история изменений, агрегация событий
    • Подключать Kafka и строить асинхронные пайплайны с гарантированной доставкой
    • Делать кэширование и ускорять сервисы до миллисекундных ответов
    • Разворачивать инфраструктуру: Docker, Redis, Postgres, Liquibase миграции
    Все знания разложены по полочкам от «А» до «Я»
    • Программа идёт от простого к сложному, каждый спринт логично вытекает из предыдущего
    • Сначала фундамент: Spring Core, потом настройки: MVC, Hibernate, в конце — продакшен-архитектура
    • Разбираем именно до того уровня глубины, до которого это необходимо для работы и собесов
    • К каждому уроку конспекты + доп. материалы для углубления
    • Живые воркшопы раз в 2 недели — разбираем домашки, отвечаем на вопросы, общаемся. Есть записи, если пропустил
    Программа:
    • Спринт 1. Spring Core — фундамент современного Java backend’а
    • Спринт 2. Hibernate Core — работа с БД как у взрослых
    • Спринт 3. Spring Boot Web — веб и HTTP на практике
    • Спринт 4. Spring Data JPA + EventManager | Iteration 1
    • Спринт 5. Spring Security + EventManager — Iteration 2
    • Спринт 6. Бизнес-логика backend-систем + EventManager — Iteration 3
    • Спринт 7. Архитектура и микросервисы + EventManager — Iteration 4
    • Спринт 8. Redis и кэширование + EventManager — Iteration 5
    • Спринт 9. CI/CD для backend-разработчика
    • Бонусный модуль №1. Прохождение собеседований: резюме, стратегия, ответы
    • Бонусный модуль №2. Паттерны проектирования и чистый код
    Спринт 1. Spring Core — фундамент современного Java backend’а

    Коротко: разберёшься, как работает Spring «под капотом»: контейнер, DI, жизненный цикл бинов, конфигурация и базовый AOP. Перестаёшь «разбрасывать new по проекту», начинаешь мыслить как backend-разработчик.

    Что внутри:
    • Зачем вообще нужен Spring: чем отличается от «голой» Java и почему на нём пишут почти все современные backend’ы.
    • IoC-контейнер и ApplicationContext: как Spring создаёт и связывает объекты.
    • Dependency Injection:
      • внедрение зависимостей через конструктор / поле / сеттер;
      • @Component, @service, @Repository, @Configuration, @Bean;
      • @Autowired, @Qualifier, @Primary.
    • Области видимости бинов: singleton, prototype, web-scope и где они реально нужны.
    • Жизненный цикл бина: создание, инициализация, уничтожение (@PostConstruct, @PreDestroy).
    • Работа с конфигурацией: application.properties, профили (@profile), вынесение настройки из кода.
    • Введение в AOP:
      • что такое аспектно-ориентированное программирование;
      • логирование, метрики, технический cross-cutting без засорения бизнес-логики.
    • Как не превращать проект в “спагетти”:
      • базовые принципы SOLID;
      • разделение ответственности между слоями.
    Практика:
    • Ты поднимешь первый учебный проект на Spring Core:
      • небольшая доменная область — учебный «банкинг»;
      • все сервисы и репозитории собираются через DI, без ручного new;
      • конфигурация вынесена в properties и профили;
      • написан хотя бы один AOP-аспект: логирование или метрики.
    Результат:
    • готовый репозиторий с живым Spring-приложением;
    • понимание, что делает Spring-контейнер и зачем нужны все эти аннотации.
    Спринт 2. Hibernate Core — работа с БД как у взрослых

    Коротко: учишься работать с реальной базой данных через JPA/Hibernate: сущности, связи, CRUD, жизненный цикл объектов, ленивые загрузки и первые грабли.

    Что внутри:
    • ORM, JPA и Hibernate:
      • зачем маппить объекты на таблицы;
      • чем это лучше ручного JDBC.
    • Поднимаем PostgreSQL в Docker:
      • базовая конфигурация;
      • создание схемы и пользователя.
    • JPA-сущности:
      • @Entity, @Table, @Id, @Column;
      • типы полей, генерация идентификаторов.
    • CRUD-операции через Hibernate:
      • сохранение, поиск, обновление, удаление;
      • разбор SQL, который реально уходит в БД.
    • Жизненный цикл сущностей:
      • Transient → Persistent → Detached → Removed;
      • что делает Session / EntityManager.
    • Связи:
      • @OneToOne, @OneToMany, @ManyToOne, @ManyToMany;
      • каскады, orphanRemoval, как не удалить лишнего.
    • Ленивая и жадная загрузка:
      • FetchType.LAZY vs EAGER;
      • классическая N+1-проблема на примерах.
    Практика:
    • Учебный проект «Каталог / курсы / студенты»:
      • несколько таблиц в PostgreSQL;
      • сущности с разными типами связей (1:1, 1:N, N:M);
      • CRUD-операции с разбором SQL, который генерит Hibernate.
    Результат
    • ты уверенно создаёшь сущности и связи;
    • понимаешь, что происходит с объектом в разных состояниях;
    • не боишься смотреть в реальные SQL-запросы.
    Спринт 3. Spring Boot Web — веб и HTTP на практике

    Коротко: выходишь в веб: поднимаешь REST API, работаешь с HTTP, DTO, валидацией и обработкой ошибок. Практика — Payments API: пользователи, их заказы и платежи, плюс тесты через MockMvc.

    Что внутри:
    • Введение в Spring Boot:
      • стартеры, автоконфигурация, встроенный Tomcat;
      • структура боевого backend-приложения.
    • HTTP и REST:
      • методы GET/POST/PUT/DELETE, статус-коды, заголовки;
      • хорошие и плохие REST-эндпоинты.
    • Контроллеры:
      @RestController, @RequestMapping, @GetMapping, @PostMapping и др.;
      @PathVariable, @RequestParam, @RequestBody.
    • DTO и валидация:
      разделение сущностей и DTO;
      Bean Validation: @valid, @NotBlank, @email, @Min и т. д.
    • Централизованная обработка ошибок:
      @ControllerAdvice, @ExceptionHandler;
      единый формат ошибок для клиента.
    • Тестирование веб-слоя:
      MockMvc;
      проверка кодов ответа, тела, ошибок.
    Практика:
    • Ты реализуешь учебный Payments API:
      • пользователи / клиенты и их заказы;
      • создание заказов, получение списка заказов пользователя, просмотр деталей;
      • базовая модель «платежа» — например, статус PAYMENT_PENDING / PAID.
    • Что именно сделаешь руками:
      • набор REST-эндпоинтов для пользователей и их заказов;
      • DTO с валидацией входящих данных;
      • единый формат API-ошибок;
      • тесты контроллеров через MockMvc: успешные кейсы + ошибки.
    Результат:
    • у тебя есть законченный REST-сервис Payments API;
    • ты умеешь писать и тестировать нормальные HTTP-сервисы, а не «крученные методы».
    Спринт 4. Spring Data JPA + EventManager | Iteration 1

    Коротко: переходишь от маленьких учебных примеров к выпускному проекту EventManager. Подключаешь Spring Data JPA, строишь нормальные репозитории и делаешь первую итерацию проекта.

    Что внутри:
    • Архитектура слоёв:
      Controller → Service → Repository;
      почему «всё в контроллере» — зло.
    • Spring Data JPA:
      • JpaRepository, готовые CRUD-методы;
      • query-методы: поиск по полям без явного SQL.
    • Сложные запросы:
      • @Query — JPQL и нативный SQL;
      • @Modifying для обновлений.
    • Транзакции:
      • @Transactional, propagation, read-only;
      • где нужны транзакции, а где нет.
    • Оптимизация запросов:
      • N+1 снова, но уже в мире Spring Data;
      • JOIN FETCH, EntityGraph.
    • Интеграционные тесты репозиториев:
      • поднятие PostgreSQL через Testcontainers;
      • тесты, которые реально ходят в БД.
    Практика:
    • Старт выпускного проекта EventManager: сервис, где пользователи создают, редактируют и просматривают мероприятия.
    • В Iteration 1 ты:
      • проектируешь базовые сущности: User, Event, Location и необходимые вспомогательные таблицы;
      • создаёшь репозитории на Spring Data JPA;
      • реализуешь базовые CRUD-операции для ключевых сущностей;
      • поднимаешь REST-эндпоинты для создания, редактирования, удаления и получения событий и локаций.
    Результат:
    • у тебя есть EventManager Iteration 1 — живой сервис событий с БД и REST-API;
    • это первый кирпич выпускного проекта, который пойдёт в портфолио.
    Спринт 5. Spring Security + EventManager — Iteration 2

    Коротко: учишься защищать backend: логин, роли, права доступа, JWT. EventManager становится не «открытой песочницей», а реальным защищённым сервисом.

    Что внутри:
    • Аутентификация и авторизация:
      • в чём разница;
      • какие подходы используют в реальных проектах.
    • Основы Spring Security:
      • конфигурация SecurityFilterChain;
      • цепочка фильтров и жизненный цикл запроса.
    • Ограничение доступа:
      • hasRole, hasAuthority, @PreAuthorize;
      • защита эндпоинтов по ролям.
    • JWT:
      • структура токена: header, payload, signature;
      • генерация и валидация токена;
      • хранение токена на клиенте, типичные ошибки.
    • Обработка ошибок безопасности:
      • 401 vs 403;
      • AuthenticationEntryPoint, AccessDeniedHandler.
    • Тестирование защищённых эндпоинтов:
      • @WithMockUser;
      • тесты с реальными JWT.
    Практика:
    • В Iteration 2 ты:
      • добавляешь регистрацию и логин пользователей;
      • реализуешь выдачу JWT-токенов;
      • ограничиваешь доступ к CRUD-операциям EventManager.
    Результат:
    • EventManager Iteration 2 — полноценный защищённый REST-сервис;
    • ты умеешь интегрировать Spring Security и JWT в реальный проект.
    Спринт 6. Бизнес-логика backend-систем + EventManager — Iteration 3

    Коротко: спринт целиком посвящён бизнес-логике и умению превращать требования в код. Здесь ты делаешь крупную итерацию выпускного проекта: сложные правила, статусы, сценарии, проверки, транзакции. Это тот слой, который отличает «настоящего backend-разработчика» от человека, который умеет навесить аннотации.

    Что внутри:
    • Проектирование доменной модели и сервисов:
      • выделение агрегатов и границ ответственности;
      • проектирование методов сервисов под конкретные сценарии.
    • Типичные бизнес-правила в Event-системах:
      • нельзя создать событие в прошлом;
      • нельзя опубликовать событие без обязательных полей;
      • ограничение мест/capacity: проверка, что не переполнено;
      • дедлайны регистрации и отмены;
      • статусы событий: DRAFT / PUBLISHED / CANCELED / COMPLETED.
    • Бизнес-ошибки и исключения:
      • свои exception’ы для доменных ошибок;
      • маппинг доменных ошибок в HTTP-ответы 4xx.
    • Транзакционные границы:
      • где нужна транзакция, а где нет;
      • как обеспечить целостность при сложных сценариях, например, несколько записей в таблицы.
    Практика:
    • В Iteration 3 ты превращаешь EventManager из «CRUD-формочек» в настоящую бизнес-систему:
      • добавляешь статусы событий и переходы между ними;
      • реализуешь проверки;
      • описываешь и реализуешь сценарии;
      • выделяешь отдельный слой доменных сервисов, работающих над сущностями.
    • Пишешь набор тестов:
      • unit-тесты бизнес-логики;
      • интеграционные тесты ключевых сценариев.
    Результат:
    • EventManager Iteration 3 — большая итерация, где ты прокачиваешься именно как разработчик бизнес-логики, а не просто «разворачивающий фреймворки».
    Спринт 7. Архитектура и микросервисы + EventManager — Iteration 4

    Коротко: поднимаешься на уровень архитектуры: монолит vs микросервисы, Kafka, паттерны взаимодействия сервисов. Делаешь Iteration 4 EventManager — вынос нотификаций в отдельный сервис и переход к event-driven-архитектуре.

    Что внутри:
    • Архитектура монолита и микросервисов:
      • плюсы и минусы каждого подхода;
      • когда вообще имеет смысл делить систему.
    • Типовые уровни архитектуры:
      • системная архитектура: какие сервисы и как взаимодействуют;
      • архитектура приложения: слои, модули;
      • инфраструктурная часть: БД, брокеры, балансировщики.
    • Kafka и event-driven:
      • producer / consumer, topic, partition, offset;
      • семантика «at least once», «at most once», «exactly once»;
      • долговечность и репликация.
    • Паттерны микросервисов:
      • API Gateway, Circuit Breaker, Saga, Outbox — на уровне идей;
      • взаимодействие sync HTTP и async Kafka;
      • отказоустойчивость и масштабирование;
      • базовые подходы к резервированию и мониторингу.
    Практика:
    • В Iteration 4 ты:
      • выделяешь сервис уведомлений, например NotificationService, в отдельный микросервис;
      • настраиваешь Kafka-топики для событий: создание/изменение/отмена события, регистрация пользователя;
      • из EventManager публикуешь доменные события в Kafka;
      • в NotificationService подписываешься на эти события и подготавливаешь уведомления, которые пользователи могут получить через API.
    Результат:
    • EventManager Iteration 4 — уже не просто монолит, а система из нескольких сервисов, общающихся через Kafka;
    • ты понимаешь, как выглядят event-driven-системы и какие проблемы они решают.
    Спринт 8. Redis и кэширование + EventManager — Iteration 5

    Коротко: подключаешь Redis и учишься ускорять систему через кэш и счётчики. Сделаете Iteration 5: кэш локаций и быстрые счётчики уведомлений в EventManager.

    Что внутри:
    • Зачем вообще кэш:
      • где помогает — быстрый доступ к часто читаемым данным;
      • где убивает консистентность и приносит боль.
    • Базовые паттерны кэширования:
      • cache-aside — самый популярный;
      • read/write-through, write-behind — на уровне идей.
    • Redis:
      • модель «ключ-значение»;
      • строки и простые структуры данных;
      • базовые команды и TTL.
    • Поднимаем Redis в Docker:
      • базовая конфигурация;
      • проверка через CLI-клиент.
    • Интеграция Redis со Spring:
      • RedisTemplate, работа с ключами и значениями;
      • кэширующие аннотации: @Cacheable, @CacheEvict, @CachePut.
    Практика:
    • В Iteration 5 ты:
      • внедряешь Redis в архитектуру EventManager;
      • реализуешь cache-aside для «горячих» данных, например;
      • добавляешь быстрый счётчик уведомлений или непрочитанных событий для пользователя в Redis;
      • настраиваешь инвалидацию кэша при изменениях, чтобы не было «протухших» данных.
    Результат:
    • EventManager Iteration 5 — быстрый и отзывчивый, с кэшем и счётчиками в Redis;
    • ты понимаешь, где и как применять Redis в backend-системах.
    Спринт 9. CI/CD для backend-разработчика

    Коротко: разбираешься, как код доезжает до пользователей: сборка, тесты, Docker, пайплайны, окружения. После этого спринта ты не теряешься, когда видишь gitlab-ci.yml в проекте или kubernetes в вакансии.

    Что внутри:
    • Что такое CI и CD:
      • continuous integration, continuous delivery/deployment;
      • как это экономит время и деньги команде.
    • Жизненный цикл задачи:
      commit → build → test → package → docker → deploy → monitor.
    • Пайплайны:
      • stages: build/test/deploy;
      • jobs, артефакты, variables.
    • Docker в контексте CI/CD:
      • сборка образа приложения;
      • Docker registry;
      • версии образов, tags и откаты.
    • Инструменты:
      • GitLab CI, GitHub Actions, Jenkins — кто чем отличается и где встречается;
      • базовое представление о деплое на сервер/в кластер.
    • Окружения:
      • Dev / Stage / Prod;
      • переменные окружения, секреты, конфиги.
    Практика:
    • Собираешь минимальный рабочий CI/CD-процесс для Java-сервиса:
      • конфиг для GitLab CI или GitHub Actions;
      • сборка и запуск тестов;
      • сборка Docker-образа приложения;
      • деплой на выбранную целевую среду: локальный сервер / Docker-хост.
    Результат:
    • ты понимаешь, как описывается и живёт пайплайн;
    • можешь уверенно общаться с тимлидом и DevOps по поводу деплоя и окружений.
    Бонусный модуль №1. Прохождение собеседований: резюме, стратегия, ответы

    Коротко: упаковываешь весь пройденный путь в резюме, портфолио и стратегию поиска работы, чтобы EventManager и остальные практики работали на твой оффер.

    Что внутри:
    • Стратегия поиска работы:
      • как анализировать рынок и выбирать вакансии;
      • таблица откликов и работа с воронкой.
    • Резюме разработчика:
      • структура и оформление;
      • как грамотно описать учебные проекты и EventManager;
      • типичные ошибки, из-за которых резюме не читают.
    • Самопрезентация:
      • как рассказывать о себе и своём опыте;
      • ответы на поведенческие вопросы по модели STAR.
    • Подготовка к тех-собеседованиям:
      • темы по Java/Spring/SQL/архитектуре, которые ждут на интервью;
      • как использовать эти темы в твоих проектах, в том числе в EventManager.
    • Как говорить о процессах:
      • Agile, Scrum, роли в команде;
      • CI/CD, код-ревью, работа с задачами.
    Практика:
    • Готовое резюме в PDF с описанием:
      • твоих навыков;
      • выпускного проекта EventManager с итерациями;
      • дополнительных проектов, типа Payments API.
    • Таблица откликов и план поиска работы.
    • Набор заготовок ответов на типовые вопросы: тех + поведенческие.
    Бонусный модуль №2. Паттерны проектирования и чистый код

    Коротко: закрываешь важный блок по паттернам и чистому коду: то, что регулярно спрашивают на собеседованиях и что действительно помогает писать поддерживаемые системы.

    Что внутри:
    • Принципы SOLID:
      • на конкретных примерах «до/после»;
      • как они применяются в коде Spring-приложений.
    • Ключевые паттерны:
      • Builder — как избегать «конструкторов на 10 аргументов»;
      • Strategy — как гибко менять поведение без if-else-адов;
      • Proxy — где его видишь в Spring: AOP, транзакции, безопасность;
      • Facade — как прятать сложность подсистем.
    • Связка паттернов с EventManager:
      • какие решения в проекте можно описать через паттерны;
      • как об этом говорить на собеседовании.
    Практика:
    • Небольшой учебный проект, например «система опросов / квизов», где ты:
      • реализуешь 3–4 паттерна в живом коде;
      • фиксируешь, как они помогают держать код чистым.
    • Конспект по SOLID и паттернам с примерами и формулировками «как для собеса».

    Преподаватель и автор курса — Павел Сорокин
    • ВТБ
      Senior Java Dev
      работал в инвестиционном блоке: высоконагруженная обработка десятков тысяч поручений на переводы, сделки, бумаги, интеграции с внешними сервисами и календарями выплат по облигациям
    • Yoomoney
      Java Dev
      работал над Core карточного эквайринга: интеграции с платёжными системами и провайдерами, интернет-платежи, высоконагруженная обработка транзакций
    • NDA
      Backend-разработчик
      участвовал в разработке backend-систем крупной телеком-компании: системы обработки звонков, биллинга, конфигурации сети и SMS-центра
    Тариф sam_reshu
    • Доступ ко всем материалам курса (видео + конспекты)
    Цена 119900 руб.
    Скрытая ссылка
     
    2 пользователям это понравилось.
  2. Последние события

    1. DrakeDi
      DrakeDi участвует в складчине.
      25 май 2026 в 16:15
    2. rus_imperial
      rus_imperial участвует в складчине.
      24 май 2026 в 20:17
    3. ilia23
      ilia23 участвует в складчине.
      24 май 2026 в 11:51
    4. serg212121
      serg212121 не участвует в складчине.
      23 май 2026 в 09:16

    Последние важные события

    1. skladchik.com
      Статский советник организатор складчины.
      22 май 2026 в 15:06