Spring Boot

Spring WebFlux (リアクティブ)

WebFlux、Mono と Flux、関数型ルーター、backpressure、reactive streams を用いたリアクティブプログラミング

25 面接問題·
Mid-Level
1

リアクティブプログラミングの基本原則は何ですか?

回答

リアクティブプログラミングは、非同期データストリームと変更の自動伝播に基づいています。データを能動的に要求する(pull)命令型プログラミングとは異なり、リアクティブはデータをサブスクライバーにプッシュします(push)。これにより、負荷の変化に強い非ブロッキングなアプリケーションを構築できます。

2

Project Reactor における Mono と Flux の主な違いは何ですか?

回答

Mono は 0 個または 1 個の要素を発行するリアクティブな publisher で、単一の値を返す操作(findById など)に適しています。Flux は 0 個から N 個の要素を発行し、コレクションやストリーム(findAll など)に適しています。この区別により、カーディナリティの期待値を明確に表現することで、パフォーマンスとコードのセマンティクスを最適化できます。

3

Flux<T> ではなく Mono<T> を使うべきなのはどのような場合ですか?

回答

Mono は、ID でユーザーを取得する、エンティティを保存する、単一のオブジェクトを返す HTTP リクエストを行うなど、操作が最大で 0 個または 1 個の結果を返す場合に使用します。これによりコードの意図が伝わり、内部的な最適化が可能になります。Flux は潜在的に大きなコレクションを示唆するため、この用途には適していません。

4

Flux<T> の典型的なユースケースは何ですか?

5

Spring WebFlux と Spring MVC の根本的な違いは何ですか?

+22 面接問題

次の面接に向けてSpring Bootをマスター

すべての問題、flashcards、技術テスト、コードレビュー演習、面接シミュレーターにアクセス。

無料で始める