Spring WebFlux (Reactive)
Programmation réactive avec WebFlux, Mono et Flux, routeurs fonctionnels, backpressure, reactive streams
1Quel est le principe fondamental de la programmation réactive ?
Quel est le principe fondamental de la programmation réactive ?
Réponse
La programmation réactive est basée sur les flux de données asynchrones et la propagation automatique des changements. Contrairement à la programmation impérative où on demande activement des données (pull), le réactif pousse les données vers les abonnés (push). Cela permet de construire des applications non-bloquantes et résilientes aux changements de charge.
2Quelle est la différence principale entre Mono et Flux dans Project Reactor ?
Quelle est la différence principale entre Mono et Flux dans Project Reactor ?
Réponse
Mono est un publisher réactif qui émet 0 ou 1 élément, idéal pour les opérations retournant une valeur unique (comme findById). Flux émet 0 à N éléments, adapté aux collections et streams (comme findAll). Cette distinction permet d'optimiser les performances et la sémantique du code en exprimant clairement les attentes de cardinalité.
3Dans quel cas utiliser Mono<T> plutôt que Flux<T> ?
Dans quel cas utiliser Mono<T> plutôt que Flux<T> ?
Réponse
Utiliser Mono quand l'opération retourne 0 ou 1 résultat maximum, comme récupérer un utilisateur par ID, sauvegarder une entité ou effectuer une requête HTTP qui retourne un objet unique. Cela communique l'intention du code et permet des optimisations internes. Flux serait inapproprié car il sous-entend une collection potentiellement volumineuse.
Quel est le cas d'usage typique de Flux<T> ?
Quelle est la différence fondamentale entre Spring WebFlux et Spring MVC ?
+22 questions d'entretien
Autres sujets d'entretien Spring Boot
Spring Core - IoC & DI
Spring Boot Auto-Configuration
Spring Boot Starters
Application Properties & YAML
Logging avec SLF4J et Logback
Spring Boot DevTools
Spring MVC Basics
Spring REST Controllers
Request & Response Handling
Gestion des exceptions
Validation avec Bean Validation
Spring Data JPA - Les bases
Entités JPA et relations
Requêtes JPA
Spring Data Repositories
Spring Security - Les bases
Spring Boot Actuator
Tests unitaires avec JUnit et Mockito
Tests Spring Boot
Profiles et Environment
RestTemplate et WebClient
Async et Scheduling
Caching avec Spring
Transactions Spring
Authentification et autorisation avancées
JWT et sécurité stateless
OAuth2 et Authorization Server
Spring Boot et Docker
Microservices avec Spring
Spring Cloud Config
Optimisation des performances
GraalVM Native Images
Maîtrise Spring Boot pour ton prochain entretien
Accède à toutes les questions, flashcards, tests techniques, exercices de code review et simulateurs d'entretien.
Commencer gratuitement