Spring Boot
Контейнер и бины, конфигурация и AOP, Spring MVC и REST, валидация, данные и транзакции, Spring Boot и Actuator, Spring Security, тестирование.
Уроки
18- 01IoC и Dependency Injection
Принцип инверсии управления, DI как его форма, три способа внедрения и почему конструктор, разрешение циклических зависимостей.
- 02Бины: жизненный цикл и scopes
Бин и BeanDefinition, полный жизненный цикл, роль BeanPostProcessor, области видимости и их ловушки.
- 03Стереотипы, @Bean и автосвязывание
Стереотипные аннотации и их семантика, @Bean против @Component, component-scan, @Autowired и разрешение неоднозначности.
- 04ApplicationContext и конфигурация
BeanFactory против ApplicationContext, способы конфигурации, @Configuration full/lite, профили и Environment, @Conditional.
- 05Контейнер: события, FactoryBean и тонкое связывание
События приложения и @EventListener, FactoryBean, Aware-интерфейсы, порядок бинов (@Order/@DependsOn) и отложенное получение (ObjectProvider/@Lazy/@Lookup).
- 06AOP: прокси и аспекты
Сквозная функциональность, понятия aspect/advice/pointcut/join point, JDK против CGLIB прокси, self-invocation и что на AOP построено.
- 07Spring Boot: автоконфигурация и starters
@SpringBootApplication и starters, механизм автоконфигурации по условиям, переопределение через @ConditionalOnMissingBean, внешняя конфигурация и её приоритеты.
- 08Actuator и наблюдаемость
Production-эндпоинты, health-проверки и probes, метрики через Micrometer, трассировка и безопасность эндпоинтов.
- 09Сервлеты, фильтры и встроенный контейнер
Сервлет и встроенный Tomcat, модель thread-per-request, потокобезопасность контроллеров, Filter против Interceptor и forward/redirect.
- 10Spring MVC: DispatcherServlet и обработка запроса
Конвейер обработки запроса, @Controller против @RestController, маппинги, извлечение данных и контроль ответа.
- 11REST API: статусы, согласование и семантика
Ресурсы и HTTP-глаголы, статус-коды как контракт, content negotiation и message converters, идемпотентность и версионирование.
- 12Валидация и обработка ошибок
Bean Validation и @Valid/@Validated, превращение ошибок в ответ, @ControllerAdvice и единый контракт, ProblemDetail (RFC 7807), multipart и interceptors.
- 13Spring Data JPA: репозитории и Hibernate
Абстракция репозитория, derived queries и @Query, persistence context и dirty checking, lazy/N+1 и почему DTO, а не entity.
- 14@Transactional: propagation, isolation, rollback
Декларативные транзакции через прокси, ловушка self-invocation, уровни распространения, правила отката и readOnly/isolation.
- 15HTTP, cookies и сессии
Семантика HTTP-методов и кэширование, cookies и их флаги безопасности, stateful против stateless сессий, HTTPS и граница authn/authz.
- 16Spring Security: фильтр-цепочка и авторизация
SecurityFilterChain, аутентификация (UserDetailsService/PasswordEncoder), SecurityContext, авторизация запросов и CSRF/CORS/сессии.
- 17Аутентификация: JWT, OAuth2/OIDC и method security
Структура и валидация JWT, проблема отзыва, роли OAuth2 и authorization code flow, OIDC, и авторизация на уровне методов.
- 18Тестирование Spring Boot
Пирамида тестов, unit без Spring, slice-тесты, @SpringBootTest и @MockBean, MockMvc/WebTestClient, Testcontainers и контрактные тесты.
Разбор собеседования с sotto
После собеседования sotto разбирает разговор: оценка, каждый вопрос — хорошо, частично или слабо, чего не хватило в ответе и над чем поработать к следующему разу. Первые 30 минут бесплатно.