Spring Boot

Spring WebFlux (Reactive)

Programmazione reattiva con WebFlux, Mono e Flux, router funzionali, backpressure, reactive streams

25 domande da colloquio·
Mid-Level
1

Qual è il principio fondamentale della programmazione reattiva?

Risposta

La programmazione reattiva si basa su flussi di dati asincroni e sulla propagazione automatica dei cambiamenti. A differenza della programmazione imperativa in cui i dati vengono richiesti attivamente (pull), quella reattiva spinge i dati verso i subscriber (push). Questo permette di costruire applicazioni non bloccanti e resilienti ai cambiamenti di carico.

2

Qual è la differenza principale tra Mono e Flux in Project Reactor?

Risposta

Mono è un publisher reattivo che emette 0 o 1 elemento, ideale per operazioni che restituiscono un singolo valore (come findById). Flux emette da 0 a N elementi, adatto a collezioni e stream (come findAll). Questa distinzione ottimizza le prestazioni e la semantica del codice esprimendo chiaramente le aspettative di cardinalità.

3

Quando si dovrebbe usare Mono<T> invece di Flux<T>?

Risposta

Usa Mono quando l'operazione restituisce al massimo 0 o 1 risultato, come recuperare un utente per ID, salvare un'entità o effettuare una richiesta HTTP che restituisce un singolo oggetto. Questo comunica l'intento del codice e abilita ottimizzazioni interne. Flux sarebbe inappropriato perché implica una collezione potenzialmente grande.

4

Qual è il caso d'uso tipico di Flux<T>?

5

Qual è la differenza fondamentale tra Spring WebFlux e Spring MVC?

+22 domande da colloquio

Padroneggia Spring Boot per il tuo prossimo colloquio

Accedi a tutte le domande, flashcards, test tecnici, esercizi di code review e simulatori di colloquio.

Inizia gratis