Spring Boot

Spring WebFlux (Reactive)

Programowanie reaktywne z WebFlux, Mono i Flux, routery funkcyjne, backpressure, reactive streams

25 pytań z rozmów·
Mid-Level
1

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.

2

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.

3

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ę.

4

Jaki jest typowy przypadek użycia Flux<T>?

5

Jaka jest fundamentalna różnica między Spring WebFlux a Spring MVC?

+22 pytań z rozmów

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