Spring WebFlux (Reactive)
Reaktive Programmierung mit WebFlux, Mono und Flux, funktionalen Routern, Backpressure, Reactive Streams
1Was ist das grundlegende Prinzip der reaktiven Programmierung?
Was ist das grundlegende Prinzip der reaktiven Programmierung?
Antwort
Reaktive Programmierung basiert auf asynchronen Datenströmen und der automatischen Weitergabe von Änderungen. Im Gegensatz zur imperativen Programmierung, bei der Daten aktiv angefordert werden (pull), schiebt der reaktive Ansatz Daten zu den Subscribern (push). Dadurch lassen sich nicht-blockierende Anwendungen erstellen, die widerstandsfähig gegenüber Lastschwankungen sind.
2Was ist der Hauptunterschied zwischen Mono und Flux in Project Reactor?
Was ist der Hauptunterschied zwischen Mono und Flux in Project Reactor?
Antwort
Mono ist ein reaktiver Publisher, der 0 oder 1 Element ausgibt und sich ideal für Operationen eignet, die einen einzelnen Wert zurückgeben (wie findById). Flux gibt 0 bis N Elemente aus und ist für Collections und Streams geeignet (wie findAll). Diese Unterscheidung optimiert Performance und Code-Semantik, indem sie die Kardinalitätserwartungen klar zum Ausdruck bringt.
3Wann sollte Mono<T> anstelle von Flux<T> verwendet werden?
Wann sollte Mono<T> anstelle von Flux<T> verwendet werden?
Antwort
Verwenden Sie Mono, wenn die Operation maximal 0 oder 1 Ergebnis zurückgibt, etwa beim Abrufen eines Benutzers per ID, beim Speichern einer Entität oder bei einer HTTP-Anfrage, die ein einzelnes Objekt zurückgibt. Das vermittelt die Absicht des Codes und ermöglicht interne Optimierungen. Flux wäre unpassend, da es eine potenziell große Collection impliziert.
Was ist der typische Anwendungsfall für Flux<T>?
Was ist der grundlegende Unterschied zwischen Spring WebFlux und Spring MVC?
+22 Interview-Fragen
Weitere Spring Boot-Interviewthemen
Spring Core - IoC & DI
Spring Boot Auto-Configuration
Spring Boot Starters
Application Properties & YAML
Logging mit SLF4J und Logback
Spring Boot DevTools
Spring MVC Basics
Spring REST Controllers
Request & Response Handling
Ausnahmebehandlung
Bean Validation
Spring Data JPA Grundlagen
JPA-Entitäten und Beziehungen
JPA-Abfragen
Spring Data Repositories
Spring Security Grundlagen
Spring Boot Actuator
Unit-Tests mit JUnit & Mockito
Spring Boot Testing
Profiles und Environment
RestTemplate und WebClient
Async & Scheduling
Caching mit Spring
Spring-Transaktionen
Erweiterte Authentifizierung und Autorisierung
JWT & Stateless-Sicherheit
OAuth2 & Authorization Server
Spring Boot und Docker
Microservices mit Spring
Spring Cloud Config
Performance-Optimierung
GraalVM Native Images
Meistere Spring Boot für dein nächstes Interview
Zugang zu allen Fragen, Flashcards, technischen Tests, Code-Review-Übungen und Interview-Simulatoren.
Kostenlos starten