Spring Boot

Spring WebFlux (Reactive)

Reaktive Programmierung mit WebFlux, Mono und Flux, funktionalen Routern, Backpressure, Reactive Streams

25 Interview-Fragen·
Mid-Level
1

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.

2

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.

3

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.

4

Was ist der typische Anwendungsfall für Flux<T>?

5

Was ist der grundlegende Unterschied zwischen Spring WebFlux und Spring MVC?

+22 Interview-Fragen

Meistere Spring Boot für dein nächstes Interview

Zugang zu allen Fragen, Flashcards, technischen Tests, Code-Review-Übungen und Interview-Simulatoren.

Kostenlos starten