Spring WebFlux (Reactive)
Programmazione reattiva con WebFlux, Mono e Flux, router funzionali, backpressure, reactive streams
1Qual è il principio fondamentale della programmazione reattiva?
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.
2Qual è la differenza principale tra Mono e Flux in Project Reactor?
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à.
3Quando si dovrebbe usare Mono<T> invece di Flux<T>?
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.
Qual è il caso d'uso tipico di Flux<T>?
Qual è la differenza fondamentale tra Spring WebFlux e Spring MVC?
+22 domande da colloquio
Altri argomenti di colloquio Spring Boot
Spring Core - IoC & DI
Spring Boot Auto-Configuration
Spring Boot Starters
Application Properties & YAML
Logging con SLF4J e Logback
Spring Boot DevTools
Spring MVC Basics
Spring REST Controllers
Request & Response Handling
Gestione delle eccezioni
Bean Validation
Fondamenti di Spring Data JPA
Entità JPA e relazioni
Query JPA
Spring Data Repositories
Fondamenti di Spring Security
Spring Boot Actuator
Test unitari con JUnit e Mockito
Testing in Spring Boot
Profiles e Environment
RestTemplate e WebClient
Async e Scheduling
Caching con Spring
Transazioni Spring
Autenticazione e autorizzazione avanzate
JWT e sicurezza stateless
OAuth2 e Authorization Server
Spring Boot e Docker
Microservices con Spring
Spring Cloud Config
Ottimizzazione delle prestazioni
GraalVM Native Images
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