diff --git a/πŸ’Ό Π Π°Π±ΠΎΡ‚Π°/БобСсСдования/Π›Π΅Ρ‚ΠΎ 2025/🎯 Π‘ΠΊΡ€ΠΈΠΏΡ‚ собСсСдования Java-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°.md b/πŸ’Ό Π Π°Π±ΠΎΡ‚Π°/БобСсСдования/Π›Π΅Ρ‚ΠΎ 2025/🎯 Π‘ΠΊΡ€ΠΈΠΏΡ‚ собСсСдования Java-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°.md index 49b20d7..82c6e26 100644 --- a/πŸ’Ό Π Π°Π±ΠΎΡ‚Π°/БобСсСдования/Π›Π΅Ρ‚ΠΎ 2025/🎯 Π‘ΠΊΡ€ΠΈΠΏΡ‚ собСсСдования Java-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°.md +++ b/πŸ’Ό Π Π°Π±ΠΎΡ‚Π°/БобСсСдования/Π›Π΅Ρ‚ΠΎ 2025/🎯 Π‘ΠΊΡ€ΠΈΠΏΡ‚ собСсСдования Java-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°.md @@ -28,113 +28,30 @@ _"ΠœΡ‹ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌ ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ систСмы с ## πŸ’» 2. ВСхничСскоС ΠΈΠ½Ρ‚Π΅Ρ€Π²ΡŒΡŽ - ВСория (30 ΠΌΠΈΠ½ΡƒΡ‚) ### **Java Core (5-7 ΠΌΠΈΠ½ΡƒΡ‚)** - +[Π Π°] --- ### **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 ---