# Bean Validation (Spring Boot) > Bean Validation, annotation (@NotNull, @Size, @Email), @Valid, BindingResult, custom validator - 25 câu hỏi phỏng vấn - Mid-Level - [Câu hỏi phỏng vấn: Spring Boot](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van.md) ## 1. Vai trò của annotation @Valid trong Spring là gì? **Câu trả lời** @Valid kích hoạt các ràng buộc Bean Validation (JSR 303/380) trên đối tượng được annotation. Annotation này đến từ package jakarta.validation và được Spring nhận diện để tự động xác thực các DTO trong controller. Dùng @Valid với BindingResult để lấy các lỗi mà không ném ra exception. ## 2. Sự khác biệt chính giữa @NotNull và @NotBlank đối với một String là gì? **Câu trả lời** @NotNull chỉ kiểm tra rằng giá trị không phải null, trong khi @NotBlank kiểm tra rằng String không null, không rỗng và không chỉ gồm các ký tự khoảng trắng. @NotBlank nghiêm ngặt hơn và phù hợp cho các trường văn bản không chấp nhận khoảng trắng. Hãy dùng @NotBlank cho các trường bắt buộc như username hoặc email. ## 3. Annotation @Size(min=3, max=50) kiểm tra điều gì? **Câu trả lời** @Size xác thực rằng kích thước (độ dài đối với String, số phần tử đối với collection) nằm trong khoảng từ min đến max bao gồm cả hai đầu. Ràng buộc này áp dụng cho String, Collection, Map và Array. Khi xác thực String, @Size kiểm tra số ký tự, không phải số byte. ## Còn 22 câu hỏi nữa - Nên dùng annotation nào để xác thực một địa chỉ email? - Nên dùng ràng buộc nào để xác thực rằng một số lớn hơn hoặc bằng 0? Đăng ký miễn phí: https://sharpskill.dev/vi/login ## Các chủ đề phỏng vấn Spring Boot khác - [Spring Core - IoC & DI](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/spring-core-ioc-di.md): 22 câu hỏi, Junior - [Spring Boot Auto-Configuration](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/spring-boot-auto-configuration.md): 20 câu hỏi, Junior - [Spring Boot Starters](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/spring-boot-starters.md): 18 câu hỏi, Junior - [Application Properties & YAML](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/application-properties-yml.md): 16 câu hỏi, Junior - [Logging với SLF4J và Logback](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/logging.md): 20 câu hỏi, Junior - [Spring Boot DevTools](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/spring-boot-devtools.md): 15 câu hỏi, Junior - [Spring MVC Basics](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/spring-mvc-basics.md): 20 câu hỏi, Mid-Level - [Spring REST Controllers](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/spring-rest-controllers.md): 20 câu hỏi, Mid-Level - [Request & Response Handling](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/request-response-handling.md): 20 câu hỏi, Mid-Level - [Xử lý ngoại lệ](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/exception-handling.md): 25 câu hỏi, Mid-Level - [Kiến thức cơ bản về Spring Data JPA](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/spring-data-jpa-basics.md): 25 câu hỏi, Mid-Level - [Thực thể JPA & Quan hệ](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/jpa-entities-relationships.md): 30 câu hỏi, Mid-Level - [Truy vấn JPA](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/jpa-queries.md): 30 câu hỏi, Mid-Level - [Spring Data Repositories](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/spring-data-repositories.md): 25 câu hỏi, Mid-Level - [Cơ bản về Spring Security](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/spring-security-basics.md): 25 câu hỏi, Mid-Level - [Spring Boot Actuator](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/spring-boot-actuator.md): 20 câu hỏi, Mid-Level - [Kiểm thử đơn vị với JUnit & Mockito](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/testing-junit-mockito.md): 30 câu hỏi, Mid-Level - [Kiểm thử Spring Boot](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/spring-boot-testing.md): 30 câu hỏi, Mid-Level - [Profiles và Environment](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/profiles-environment.md): 20 câu hỏi, Mid-Level - [RestTemplate và WebClient](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/resttemplate-webclient.md): 24 câu hỏi, Mid-Level - [Async và Scheduling](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/async-scheduling.md): 25 câu hỏi, Mid-Level - [Caching với Spring](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/caching.md): 25 câu hỏi, Mid-Level - [Spring WebFlux (Reactive)](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/spring-webflux.md): 25 câu hỏi, Mid-Level - [Giao dịch Spring](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/transactions.md): 30 câu hỏi, Senior - [Xác thực và phân quyền nâng cao](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/authentication-authorization.md): 30 câu hỏi, Senior - [JWT & Bảo mật Stateless](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/jwt-stateless-security.md): 20 câu hỏi, Senior - [OAuth2 & Authorization Server](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/oauth2-authorization-server.md): 20 câu hỏi, Senior - [Spring Boot và Docker](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/spring-boot-docker.md): 19 câu hỏi, Senior - [Microservices với Spring](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/microservices-basics.md): 25 câu hỏi, Senior - [Spring Cloud Config](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/spring-cloud-config.md): 19 câu hỏi, Senior - [Tối ưu hóa hiệu năng](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/performance-optimization.md): 30 câu hỏi, Senior - [GraalVM Native Images](https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/graalvm-native-images.md): 20 câu hỏi, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/vi/technologies/spring-boot/cau-hoi-phong-van/bean-validation