## πŸ“‹ Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΠΈ для ΠΈΠ½Ρ‚Π΅Ρ€Π²ΡŒΡŽΠ΅Ρ€Π° **Π”Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ:** 90 ΠΌΠΈΠ½ΡƒΡ‚ **Π€ΠΎΡ€ΠΌΠ°Ρ‚:** ВСхничСскоС ΠΈΠ½Ρ‚Π΅Ρ€Π²ΡŒΡŽ **ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ°:** IDE/Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ для coding, листок Π±ΡƒΠΌΠ°Π³ΠΈ для Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ --- ## 🀝 1. Знакомство ΠΈ мотивация (10 ΠΌΠΈΠ½ΡƒΡ‚) ### **ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ собСсСдования** _"Π”ΠΎΠ±Ρ€ΠΎ ΠΏΠΎΠΆΠ°Π»ΠΎΠ²Π°Ρ‚ΡŒ! МСня Π·ΠΎΠ²ΡƒΡ‚ АндрСй, я Ρ€ΡƒΠΊΠΎΠ²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ Π³Ρ€ΡƒΠΏΠΏΡ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. БСгодня ΠΌΡ‹ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅ΠΌ тСхничСскоС ΠΈΠ½Ρ‚Π΅Ρ€Π²ΡŒΡŽ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π·Π°ΠΉΠΌΠ΅Ρ‚ ΠΎΠΊΠΎΠ»ΠΎ 90 ΠΌΠΈΠ½ΡƒΡ‚. РасскаТитС, поТалуйста, Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΎ сСбС ΠΈ своСм ΠΎΠΏΡ‹Ρ‚Π΅."_ ### **Вопросы для знакомства:** 1. **РасскаТитС ΠΎ своСм Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ ΠΈ Ρ€ΠΎΠ»ΠΈ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅** 2. **КакиС Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΈΠ·ΡƒΡ‡Π°Π΅Ρ‚Π΅ сСйчас ΠΈΠ»ΠΈ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ?** 3. **Π§Ρ‚ΠΎ ΠΌΠΎΡ‚ΠΈΠ²ΠΈΡ€ΡƒΠ΅Ρ‚ вас Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ПО?** 4. **Π•ΡΡ‚ΡŒ Π»ΠΈ вопросы ΠΎ нашСй ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π΅?** ### **ΠšΡ€Π°Ρ‚ΠΊΠΈΠΉ рассказ ΠΎ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ:** _"ΠœΡ‹ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌ ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ систСмы с высокой Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ. Π Π°Π±ΠΎΡ‚Π°Π΅ΠΌ с Java, Spring Boot, Kafka, микросСрвисами. Команда ΠΈΠ· [X] Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², Agile процСссы, соврСмСнный стСк Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ."_ --- ## πŸ’» 2. ВСхничСскоС ΠΈΠ½Ρ‚Π΅Ρ€Π²ΡŒΡŽ - ВСория (30 ΠΌΠΈΠ½ΡƒΡ‚) ### **Java Core (5-7 ΠΌΠΈΠ½ΡƒΡ‚)** **Вопрос 1:** _"ΠžΠ±ΡŠΡΡΠ½ΠΈΡ‚Π΅ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ `equals()` ΠΈ `hashCode()`. ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π²Π°ΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ ΠΈΡ… вмСстС?"_ **ΠžΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚:** - `equals()` провСряСт логичСскоС равСнство ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² - `hashCode()` Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ числовоС прСдставлСниС для Ρ…Π΅Ρˆ-Ρ‚Π°Π±Π»ΠΈΡ† - ΠšΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚: Ссли `a.equals(b) == true`, Ρ‚ΠΎ `a.hashCode() == b.hashCode()` - ΠΠ°Ρ€ΡƒΡˆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚Π° Π»ΠΎΠΌΠ°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ HashMap, HashSet - ΠŸΡ€ΠΈΠΌΠ΅Ρ€ с ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ Π² User ΠΈΠ»ΠΈ Product классах **Вопрос 2:** _"РасскаТитС ΠΎ Stream API. ΠŸΡ€ΠΈΠ²Π΅Π΄ΠΈΡ‚Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ списка ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ."_ **ΠžΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚:** - Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² Java 8+ - ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ: filter, map, reduce, collect - ΠŸΡ€ΠΈΠΌΠ΅Ρ€: Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡ Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΏΠΎ ролям - Π›Π΅Π½ΠΈΠ²Ρ‹Π΅ вычислСния, parallel streams **Π£Π³Π»ΡƒΠ±Π»ΡΡŽΡ‰ΠΈΠΉ вопрос:** _"КакиС Π΅ΡΡ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ Garbage Collection? Когда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ G1GC?"_ --- ### **Spring Framework (8-10 ΠΌΠΈΠ½ΡƒΡ‚)** **Вопрос 3:** _"Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Dependency Injection? КакиС способы DI ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Spring?"_ **ΠžΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚:** - Π˜Π½Π²Π΅Ρ€ΡΠΈΡ управлСния, Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ зависимостСй - Constructor injection (ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ) - Setter injection, Field injection - @Autowired, @Qualifier, @Primary - ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π°: Ρ‚Π΅ΡΡ‚ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΡŒ, слабая ΡΠ²ΡΠ·Π°Π½Π½ΠΎΡΡ‚ΡŒ **Вопрос 4:** _"ΠžΠ±ΡŠΡΡΠ½ΠΈΡ‚Π΅ ΠΆΠΈΠ·Π½Π΅Π½Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ» Spring Bean. КакиС Π΅ΡΡ‚ΡŒ scopes?"_ **ΠžΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚:** - Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅, инициализация, использованиС, ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠ΅Π½ΠΈΠ΅ - @PostConstruct, @PreDestroy - Scopes: singleton, prototype, request, session - BeanPostProcessor для кастомной Π»ΠΎΠ³ΠΈΠΊΠΈ **Вопрос 5:** _"Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Spring Boot Auto-configuration?"_ **ΠžΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚:** - @EnableAutoConfiguration, @SpringBootApplication - Условная конфигурация: @ConditionalOnClass, @ConditionalOnProperty - spring.factories, автоконфигурация стартСров - Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ пСрСопрСдСлСния Ρ‡Π΅Ρ€Π΅Π· @Configuration **Π£Π³Π»ΡƒΠ±Π»ΡΡŽΡ‰ΠΈΠΉ вопрос:** _"Как Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ JWT Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ Π² Spring Security для REST API?"_ --- ### **Π‘Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… (5-7 ΠΌΠΈΠ½ΡƒΡ‚)** **Вопрос 6:** _"ΠžΠ±ΡŠΡΡΠ½ΠΈΡ‚Π΅ ACID свойства Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ банковского ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π°."_ **ΠžΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚:** - **Atomicity:** ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ Π΄Π΅Π½Π΅Π³ - ΠΈΠ»ΠΈ ΠΎΠ±Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ (списаниС/зачислСниС), ΠΈΠ»ΠΈ Π½ΠΈΠΊΠ°ΠΊΠΈΠ΅ - **Consistency:** балансы всСгда ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹Π΅, бизнСс-ΠΏΡ€Π°Π²ΠΈΠ»Π° ΡΠΎΠ±Π»ΡŽΠ΄Π΅Π½Ρ‹ - **Isolation:** ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ Π½Π΅ ΠΌΠ΅ΡˆΠ°ΡŽΡ‚ Π΄Ρ€ΡƒΠ³ Π΄Ρ€ΡƒΠ³Ρƒ - **Durability:** ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ навсСгда **Вопрос 7:** _"Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ N+1 ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π² ORM? Как Ρ€Π΅ΡˆΠΈΡ‚ΡŒ для списка постов с коммСнтариями?"_ **ΠžΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚:** - 1 запрос для постов + N запросов для ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ поста - РСшСния: @EntityGraph, join fetch, batch loading - Lazy vs Eager loading стратСгии - Projection для ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ **Π£Π³Π»ΡƒΠ±Π»ΡΡŽΡ‰ΠΈΠΉ вопрос:** _"КакиС индСксы ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ для Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ с частыми поисками ΠΏΠΎ email ΠΈ ΠΈΠΌΠ΅Π½ΠΈ?"_ --- ### **ΠœΠΈΠΊΡ€ΠΎΡΠ΅Ρ€Π²ΠΈΡΡ‹ (8-10 ΠΌΠΈΠ½ΡƒΡ‚)** **Вопрос 8:** _"КакиС прСимущСства ΠΈ нСдостатки микросСрвисной Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹?"_ **ΠžΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚:** - **ΠŸΠ»ΡŽΡΡ‹:** нСзависимоС Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅, ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, тСхнологичСскоС Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·ΠΈΠ΅ - **ΠœΠΈΠ½ΡƒΡΡ‹:** ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ взаимодСйствия, распрСдСлСнныС Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ, ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ - Bounded Context, DDD ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹ - ΠŸΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ слоТных Π΄ΠΎΠΌΠ΅Π½ΠΎΠ² **Вопрос 9:** _"Как ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠ½ΡΠΈΡΡ‚Π΅Π½Ρ‚Π½ΠΎΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠ΅ΠΆΠ΄Ρƒ сСрвисами ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈ ΠΏΠ»Π°Ρ‚Π΅ΠΆΠ΅ΠΉ?"_ **ΠžΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚:** - Saga pattern (orchestration/choreography) - Event sourcing, CQRS - Eventual consistency - Compensation actions ΠΏΡ€ΠΈ ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ… - Distributed transactions (2PC) - ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ **Вопрос 10:** _"Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Circuit Breaker? Когда ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ?"_ **ΠžΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚:** - ΠŸΠ°Ρ‚Ρ‚Π΅Ρ€Π½ для прСдотвращСния каскадных сбоСв - Бостояния: Closed, Open, Half-Open - Hystrix, Resilience4j Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ - ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π°Ρ… Π²Π½Π΅ΡˆΠ½ΠΈΡ… API, ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹Ρ… сСрвисов **Π£Π³Π»ΡƒΠ±Π»ΡΡŽΡ‰ΠΈΠΉ вопрос:** _"Как ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Service Discovery Π² Kubernetes?"_ --- ### **Message Brokers (2-3 ΠΌΠΈΠ½ΡƒΡ‚Ρ‹)** **Вопрос 11:** _"Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Kafka ΠΈ RabbitMQ?"_ **ΠžΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚:** - **Kafka:** высокая пропускная ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ, Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π»ΠΎΠ³ΠΎΠ², streaming - **RabbitMQ:** AMQP ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ», Ρ‚ΠΎΡ‡ΠΊΠ°-Ρ‚ΠΎΡ‡ΠΊΠ° сообщСния, Π±ΠΎΠ»Π΅Π΅ простая настройка - **Kafka:** append-only log, Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ - **RabbitMQ:** routing, exchange types, dead letter queues --- ## πŸ—οΈ 3. АрхитСктурноС ΠΌΡ‹ΡˆΠ»Π΅Π½ΠΈΠ΅ (10 ΠΌΠΈΠ½ΡƒΡ‚) ### **ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ систСмы** _"ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΡΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ систСму ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ для ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ сСти. ΠœΠΈΠ»Π»ΠΈΠΎΠ½Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, Ρ€Π°Π·Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ (push, email, SMS), пСрсонализация. Как Π±Ρ‹ Π²Ρ‹ подошли ΠΊ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅?"_ ### **ОТидаСмоС обсуТдСниС:** 1. **Π’Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅:** REST API, events ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… сСрвисов 2. **ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°:** Event-driven Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°, message queues 3. **ΠŸΠ΅Ρ€ΡΠΎΠ½Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡ:** ΠΏΡ€Π°Π²ΠΈΠ»Π°, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ настройки 4. **Доставка:** Π°Π΄Π°ΠΏΡ‚Π΅Ρ€Ρ‹ для Ρ€Π°Π·Π½Ρ‹Ρ… ΠΊΠ°Π½Π°Π»ΠΎΠ² (push, email, SMS) 5. **ΠœΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅:** Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, partitioning 6. **ΠΠ°Π΄Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒ:** retry ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹, dead letter queues ### **Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ вопросы:** - _"Как ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ exactly-once delivery ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ?"_ - _"Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΎΡ„Ρ„Π»Π°ΠΉΠ½?"_ - _"Как ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ A/B тСстированиС Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ?"_ --- ## βœ… 4. ПодвСдСниС ΠΈΡ‚ΠΎΠ³ΠΎΠ² (5 ΠΌΠΈΠ½ΡƒΡ‚) ### **Вопросы ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚Π°** _"КакиС Ρƒ вас Π΅ΡΡ‚ΡŒ вопросы ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅, ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΠΈΠ»ΠΈ тСхнологиях?"_ ### **Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ шаги** _"Бпасибо Π·Π° ΠΈΠ½Ρ‚Π΅Ρ€Π²ΡŒΡŽ! Π£ нас Π΅ΡΡ‚ΡŒ Π΅Ρ‰Π΅ [X] ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚ΠΎΠ² для ΠΈΠ½Ρ‚Π΅Ρ€Π²ΡŒΡŽ. ΠžΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ связь Π΄Π°Π΄ΠΈΠΌ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ [Y] Π΄Π½Π΅ΠΉ. Если Ρƒ вас появятся Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ вопросы, всСгда ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ."_ --- ## πŸ“Š БистСма ΠΎΡ†Π΅Π½ΠΊΠΈ ### **Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° (1-10 Π±Π°Π»Π»ΠΎΠ²):** **Java Core:** - 9-10: Π“Π»ΡƒΠ±ΠΎΠΊΠΎΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ - 7-8: Π—Π½Π°Π΅Ρ‚ основы, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ - 5-6: Π‘Π°Π·ΠΎΠ²Ρ‹Π΅ знания с ΠΏΡ€ΠΎΠ±Π΅Π»Π°ΠΌΠΈ - <5: Π‘Π΅Ρ€ΡŒΠ΅Π·Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ Π² Π±Π°Π·ΠΎΠ²Ρ‹Ρ… концСпциях **Spring Framework:** - 9-10: ЭкспСрт, Π·Π½Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹Π΅ Ρ„ΠΈΡ‡ΠΈ ΠΈ best practices - 7-8: Π£Π²Π΅Ρ€Π΅Π½Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с основными ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ - 5-6: Π—Π½Π°Π΅Ρ‚ основы, Π½ΠΎ Π½Π΅ всС Π½ΡŽΠ°Π½ΡΡ‹ - <5: ΠŸΡƒΡ‚Π°Π΅Ρ‚ΡΡ Π² Π±Π°Π·ΠΎΠ²Ρ‹Ρ… концСпциях **АрхитСктурноС ΠΌΡ‹ΡˆΠ»Π΅Π½ΠΈΠ΅:** - 9-10: ΠŸΡ€ΠΎΠ΄ΡƒΠΌΡ‹Π²Π°Π΅Ρ‚ всС аспСкты, ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ нСсколько Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² - 7-8: Π›ΠΎΠ³ΠΈΡ‡Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄, ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Π΅Ρ‚ основныС трСбования - 5-6: Π‘Π°Π·ΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅, Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ - <5: НС ΠΌΠΎΠΆΠ΅Ρ‚ структурированно ΠΏΠΎΠ΄ΠΎΠΉΡ‚ΠΈ ΠΊ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ΅ --- ## 🎯 Π—Π°ΠΌΠ΅Ρ‚ΠΊΠΈ для ΠΈΠ½Ρ‚Π΅Ρ€Π²ΡŒΡŽΠ΅Ρ€Π° ### **Π§Ρ‚ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‡Π°Ρ‚ΡŒ:** - Π§Π΅Ρ‚ΠΊΠΎΡΡ‚ΡŒ объяснСний - ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠΉ ΠΎΠΏΡ‹Ρ‚ vs тСорСтичСскиС знания - Π‘ΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ ΠΊ дискуссии ΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ - Π“ΠΎΡ‚ΠΎΠ²Π½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈΠ·Π½Π°Ρ‚ΡŒ Π½Π΅Π·Π½Π°Π½ΠΈΠ΅ - Π˜Π½Ρ‚Π΅Ρ€Π΅Ρ ΠΊ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΡŽ Π½ΠΎΠ²ΠΎΠΌΡƒ ### **Red flags:** - ΠΠ΅ΡƒΠ²Π΅Ρ€Π΅Π½Π½ΠΎΡΡ‚ΡŒ Π² Π±Π°Π·ΠΎΠ²Ρ‹Ρ… концСпциях - ΠΠ΅ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ - ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΈΠ΅ вопросов ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ - НСгативныС ΠΎΡ‚Π·Ρ‹Π²Ρ‹ ΠΎ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… мСстах Ρ€Π°Π±ΠΎΡ‚Ρ‹ ### **Green flags:** - ΠšΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΈΠ· ΠΎΠΏΡ‹Ρ‚Π° - Вопросы ΠΎ best practices - Π˜Π½Ρ‚Π΅Ρ€Π΅Ρ ΠΊ Π½ΠΎΠ²Ρ‹ΠΌ тСхнологиям - БистСмноС ΠΌΡ‹ΡˆΠ»Π΅Π½ΠΈΠ΅