Spring WebFlux (Reactive)
Programowanie reaktywne z WebFlux, Mono i Flux, routery funkcyjne, backpressure, reactive streams
1Jaka jest podstawowa zasada programowania reaktywnego?
Jaka jest podstawowa zasada programowania reaktywnego?
Odpowiedź
Programowanie reaktywne opiera się na asynchronicznych strumieniach danych i automatycznej propagacji zmian. W przeciwieństwie do programowania imperatywnego, gdzie dane są aktywnie pobierane (pull), podejście reaktywne wypycha dane do subskrybentów (push). Pozwala to budować nieblokujące aplikacje odporne na zmiany obciążenia.
2Jaka jest główna różnica między Mono a Flux w Project Reactor?
Jaka jest główna różnica między Mono a Flux w Project Reactor?
Odpowiedź
Mono to reaktywny publisher emitujący 0 lub 1 element, idealny do operacji zwracających pojedynczą wartość (jak findById). Flux emituje od 0 do N elementów i nadaje się do kolekcji oraz strumieni (jak findAll). To rozróżnienie optymalizuje wydajność i semantykę kodu, jasno wyrażając oczekiwania co do liczności.
3Kiedy należy używać Mono<T> zamiast Flux<T>?
Kiedy należy używać Mono<T> zamiast Flux<T>?
Odpowiedź
Używaj Mono, gdy operacja zwraca maksymalnie 0 lub 1 wynik, na przykład pobranie użytkownika po ID, zapis encji lub wykonanie żądania HTTP zwracającego pojedynczy obiekt. Komunikuje to intencję kodu i umożliwia wewnętrzne optymalizacje. Flux byłby nieodpowiedni, ponieważ sugeruje potencjalnie dużą kolekcję.
Jaki jest typowy przypadek użycia Flux<T>?
Jaka jest fundamentalna różnica między Spring WebFlux a Spring MVC?
+22 pytań z rozmów
Inne tematy rekrutacyjne Spring Boot
Spring Core - IoC & DI
Spring Boot Auto-Configuration
Spring Boot Starters
Application Properties & YAML
Logowanie z SLF4J i Logback
Spring Boot DevTools
Spring MVC Basics
Spring REST Controllers
Request & Response Handling
Obsługa wyjątków
Bean Validation
Podstawy Spring Data JPA
Encje JPA i relacje
Zapytania JPA
Spring Data Repositories
Podstawy Spring Security
Spring Boot Actuator
Testy jednostkowe z JUnit i Mockito
Testowanie Spring Boot
Profiles i Environment
RestTemplate i WebClient
Async i Scheduling
Caching ze Spring
Transakcje Spring
Zaawansowane uwierzytelnianie i autoryzacja
JWT i bezpieczeństwo stateless
OAuth2 i Authorization Server
Spring Boot i Docker
Microservices ze Spring
Spring Cloud Config
Optymalizacja wydajności
GraalVM Native Images
Opanuj Spring Boot na następną rozmowę
Uzyskaj dostęp do wszystkich pytań, flashcards, testów technicznych, ćwiczeń code review i symulatorów rozmów.
Zacznij za darmo