Spring WebFlux (Reactive)
Lập trình phản ứng với WebFlux, Mono và Flux, functional router, backpressure, reactive streams
1Nguyên tắc cơ bản của lập trình phản ứng là gì?
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.
2Sự khác biệt chính giữa Mono và Flux trong Project Reactor là gì?
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ử.
3Khi nào nên dùng Mono<T> thay vì Flux<T>?
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.
Trường hợp sử dụng điển hình của Flux<T> là gì?
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
Spring Core - IoC & DI
Spring Boot Auto-Configuration
Spring Boot Starters
Application Properties & YAML
Logging với SLF4J và Logback
Spring Boot DevTools
Spring MVC Basics
Spring REST Controllers
Request & Response Handling
Xử lý ngoại lệ
Bean Validation
Kiến thức cơ bản về Spring Data JPA
Thực thể JPA & Quan hệ
Truy vấn JPA
Spring Data Repositories
Cơ bản về Spring Security
Spring Boot Actuator
Kiểm thử đơn vị với JUnit & Mockito
Kiểm thử Spring Boot
Profiles và Environment
RestTemplate và WebClient
Async và Scheduling
Caching với Spring
Giao dịch Spring
Xác thực và phân quyền nâng cao
JWT & Bảo mật Stateless
OAuth2 & Authorization Server
Spring Boot và Docker
Microservices với Spring
Spring Cloud Config
Tối ưu hóa hiệu năng
GraalVM Native Images
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í