Spring Boot

Spring WebFlux (Reactive)

Lập trình phản ứng với WebFlux, Mono và Flux, functional router, backpressure, reactive streams

25 câu hỏi phỏng vấn·
Mid-Level
1

Nguyên tắc cơ bản của lập trình phản ứng là gì?

Câu trả lời

Lập trình phản ứng dựa trên các luồng dữ liệu bất đồng bộ và lan truyền thay đổi tự động. Khác với lập trình mệnh lệnh nơi dữ liệu được yêu cầu chủ động (pull), lập trình phản ứng đẩy dữ liệu đến các subscriber (push). Điều này cho phép xây dựng các ứng dụng non-blocking có khả năng chống chịu trước thay đổi tải.

2

Sự khác biệt chính giữa Mono và Flux trong Project Reactor là gì?

Câu trả lời

Mono là một publisher phản ứng phát ra 0 hoặc 1 phần tử, lý tưởng cho các thao tác trả về một giá trị duy nhất (như findById). Flux phát ra từ 0 đến N phần tử, phù hợp với collection và stream (như findAll). Sự phân biệt này tối ưu hóa hiệu năng và ngữ nghĩa của mã bằng cách thể hiện rõ kỳ vọng về số lượng phần tử.

3

Khi nào nên dùng Mono<T> thay vì Flux<T>?

Câu trả lời

Dùng Mono khi thao tác trả về tối đa 0 hoặc 1 kết quả, chẳng hạn như lấy người dùng theo ID, lưu một entity, hoặc thực hiện một request HTTP trả về một đối tượng duy nhất. Điều này truyền đạt ý định của mã và cho phép các tối ưu hóa nội bộ. Flux sẽ không phù hợp vì nó ngụ ý một collection có khả năng lớn.

4

Trường hợp sử dụng điển hình của Flux<T> là gì?

5

Sự khác biệt cơ bản giữa Spring WebFlux và Spring MVC là gì?

+22 câu hỏi phỏng vấn

Các chủ đề phỏng vấn Spring Boot khác

Nắm vững Spring Boot cho lần phỏng vấn tiếp theo

Truy cập tất cả câu hỏi, flashcards, bài kiểm tra kỹ thuật, bài tập code review và mô phỏng phỏng vấn.

Bắt đầu miễn phí