Đề thi, bài tập trắc nghiệm online Phát triển ứng dụng Web với JavaĐề 7 – Bài tập, đề thi trắc nghiệm online Phát triển ứng dụng Web với Java Đăng vào 2 Tháng 5, 20262 Tháng 5, 2026 bởi admin Đề 7 – Bài tập, đề thi trắc nghiệm online Phát triển ứng dụng Web với Java Đề 7 – Bài tập, đề thi trắc nghiệm online Phát triển ứng dụng Web với Java Số câu30Quiz ID12032 Làm bài Câu 1 1. Docker và Kubernetes thường được sử dụng để làm gì trong triển khai ứng dụng microservices? A A. Phát triển giao diện người dùng (UI). B B. Quản lý cơ sở dữ liệu. C C. Containerization và orchestration các microservices, giúp đóng gói, triển khai, scale và quản lý các dịch vụ một cách hiệu quả. D D. Kiểm thử hiệu năng ứng dụng. Câu 2 2. EL (Expression Language) trong JSP dùng để làm gì? A A. Viết mã Java phức tạp trong JSP. B B. Truy cập và hiển thị dữ liệu từ các đối tượng Java một cách đơn giản trong JSP. C C. Xử lý sự kiện trên trang JSP. D D. Định nghĩa các hàm tùy chỉnh trong JSP. Câu 3 3. JSON (JavaScript Object Notation) thường được sử dụng để làm gì trong phát triển RESTful API? A A. Định nghĩa cấu trúc cơ sở dữ liệu. B B. Làm ngôn ngữ lập trình phía server. C C. Định dạng dữ liệu để trao đổi giữa client và server trong các API. D D. Thiết kế giao diện người dùng (UI). Câu 4 4. Trong mô hình MVC (Model-View-Controller) được sử dụng phổ biến trong phát triển ứng dụng web Java, thành phần nào chịu trách nhiệm xử lý logic nghiệp vụ và thao tác dữ liệu? A A. View B B. Controller C C. Model D D. DispatcherServlet Câu 5 5. Thư viện JSTL (JavaServer Pages Standard Tag Library) cung cấp điều gì cho JSP? A A. Khả năng nhúng mã Java trực tiếp vào trang JSP. B B. Các thẻ tùy chỉnh để thực hiện các tác vụ phổ biến như lặp, điều kiện, định dạng dữ liệu. C C. Cơ chế quản lý session và cookie. D D. Hỗ trợ kết nối cơ sở dữ liệu trực tiếp từ JSP. Câu 6 6. Phương thức `doGet()` và `doPost()` trong Servlet khác nhau như thế nào? A A. `doGet()` dùng để xử lý yêu cầu POST, `doPost()` dùng để xử lý yêu cầu GET. B B. `doGet()` thường dùng để truy xuất dữ liệu từ máy chủ, `doPost()` thường dùng để gửi dữ liệu lên máy chủ. C C. `doGet()` gửi dữ liệu trong phần body của yêu cầu, `doPost()` gửi dữ liệu trên URL. D D. `doGet()` chỉ dùng cho dữ liệu văn bản, `doPost()` dùng cho dữ liệu nhị phân. Câu 7 7. AOP (Aspect-Oriented Programming) trong Spring framework dùng để giải quyết vấn đề gì? A A. Quản lý transaction trong cơ sở dữ liệu. B B. Xử lý lỗi và exception trong ứng dụng. C C. Tách các cross-cutting concerns (các mối quan tâm chung) như logging, security, transaction management ra khỏi logic nghiệp vụ chính. D D. Cải thiện hiệu suất ứng dụng web. Câu 8 8. CSRF (Cross-Site Request Forgery) attack là gì và cách phòng tránh nó trong ứng dụng web Java? A A. Một loại tấn công từ chối dịch vụ (DoS). B B. Một loại tấn công mà kẻ tấn công giả mạo yêu cầu từ người dùng đã đăng nhập để thực hiện hành động trái phép. C C. Một loại tấn công SQL injection. D D. Một loại tấn công XSS (Cross-Site Scripting). Câu 9 9. Container (ví dụ: Servlet container, EJB container) là gì? A A. Một loại cơ sở dữ liệu. B B. Một môi trường runtime cung cấp các dịch vụ và quản lý lifecycle của các components (ví dụ: Servlet, EJB). C C. Một công cụ để thiết kế giao diện người dùng. D D. Một giao thức mạng. Câu 10 10. Công nghệ Servlet trong Java Web cho phép thực hiện điều gì? A A. Xây dựng giao diện người dùng tĩnh cho trang web. B B. Xử lý các yêu cầu từ máy khách (client) và tạo nội dung động trả về. C C. Quản lý cơ sở dữ liệu cho ứng dụng web. D D. Định nghĩa cấu trúc và kiểu dáng của trang web. Câu 11 11. JPA (Java Persistence API) là gì? A A. Một ORM framework cụ thể như Hibernate. B B. Một đặc tả (specification) cho ORM trong Java EE/Jakarta EE, định nghĩa các chuẩn giao tiếp với ORM framework. C C. Một thư viện UI components cho Java Web. D D. Một công cụ để kiểm thử hiệu năng ứng dụng web Java. Câu 12 12. Logging trong ứng dụng web Java có mục đích chính là gì? A A. Tăng tốc độ truy cập cơ sở dữ liệu. B B. Theo dõi hoạt động của ứng dụng, ghi lại các sự kiện, lỗi, và thông tin quan trọng để debug, giám sát và phân tích. C C. Cải thiện bảo mật ứng dụng. D D. Quản lý session của người dùng. Câu 13 13. Security context trong ứng dụng web Java dùng để làm gì? A A. Tối ưu hóa hiệu suất ứng dụng. B B. Quản lý session và cookie. C C. Lưu trữ thông tin về người dùng đã xác thực và quyền hạn của họ trong ứng dụng. D D. Mã hóa dữ liệu truyền trên mạng. Câu 14 14. Session trong Java Web được sử dụng để làm gì? A A. Lưu trữ dữ liệu cố định của ứng dụng web. B B. Quản lý trạng thái và thông tin của người dùng giữa các yêu cầu HTTP. C C. Tối ưu hóa hiệu suất truy cập cơ sở dữ liệu. D D. Xác thực người dùng và phân quyền truy cập. Câu 15 15. Ưu điểm của việc sử dụng microservices architecture so với monolithic architecture trong phát triển ứng dụng web lớn là gì? A A. Phát triển monolithic nhanh hơn microservices. B B. Microservices dễ dàng scale, deploy và bảo trì hơn, mỗi service có thể được phát triển và deploy độc lập. C C. Monolithic ít phức tạp hơn microservices về mặt kiến trúc. D D. Microservices tốn ít tài nguyên hơn monolithic. Câu 16 16. Ưu điểm chính của việc sử dụng framework Spring MVC so với Servlet/JSP thuần là gì? A A. Spring MVC nhanh hơn và hiệu quả hơn Servlet/JSP. B B. Spring MVC cung cấp cấu trúc rõ ràng, dễ bảo trì và kiểm thử hơn cho ứng dụng web. C C. Servlet/JSP không hỗ trợ mô hình MVC. D D. Spring MVC có thể chạy trên mọi web server, còn Servlet/JSP thì không. Câu 17 17. Cookie trong Java Web được lưu trữ ở đâu? A A. Trên máy chủ web. B B. Trong cơ sở dữ liệu của ứng dụng. C C. Trên trình duyệt web của người dùng. D D. Trong bộ nhớ cache của máy chủ. Câu 18 18. XSS (Cross-Site Scripting) attack là gì và cách phòng tránh? A A. Tấn công bằng cách chèn mã độc (thường là JavaScript) vào website để thực thi trên trình duyệt của người dùng khác. B B. Tấn công bằng cách gửi quá nhiều yêu cầu đến server gây quá tải. C C. Tấn công bằng cách khai thác lỗ hổng bảo mật trong cơ sở dữ liệu. D D. Tấn công bằng cách giả mạo địa chỉ IP. Câu 19 19. Unit testing và Integration testing khác nhau như thế nào trong phát triển ứng dụng web Java? A A. Unit testing kiểm tra toàn bộ ứng dụng, Integration testing chỉ kiểm tra các module nhỏ. B B. Unit testing tập trung kiểm tra các đơn vị nhỏ nhất của code (ví dụ: method, class) một cách độc lập, Integration testing kiểm tra sự tương tác giữa các module hoặc components khác nhau. C C. Unit testing chỉ thực hiện bởi developers, Integration testing chỉ thực hiện bởi testers. D D. Unit testing chỉ kiểm tra chức năng, Integration testing chỉ kiểm tra hiệu năng. Câu 20 20. JSP (JavaServer Pages) khác biệt với Servlet chủ yếu ở điểm nào? A A. JSP được biên dịch thành Servlet trước khi thực thi. B B. JSP tập trung vào việc tạo nội dung động dựa trên HTML, trong khi Servlet tập trung vào logic điều khiển. C C. JSP có hiệu suất cao hơn Servlet trong việc xử lý yêu cầu. D D. JSP không thể sử dụng các thư viện và API Java EE như Servlet. Câu 21 21. SQL Injection attack là gì và cách phòng tránh hiệu quả nhất? A A. Tấn công bằng cách chèn mã SQL độc hại vào các truy vấn cơ sở dữ liệu để truy cập hoặc sửa đổi dữ liệu trái phép. B B. Tấn công bằng cách giả mạo yêu cầu HTTP. C C. Tấn công bằng cách khai thác lỗ hổng trong hệ điều hành server. D D. Tấn công bằng cách đoán mật khẩu người dùng. Câu 22 22. Công cụ Maven hoặc Gradle được sử dụng để làm gì trong dự án phát triển web Java? A A. Thiết kế giao diện người dùng (UI). B B. Quản lý cơ sở dữ liệu. C C. Quản lý build, dependencies, và lifecycle của dự án. D D. Kiểm thử hiệu năng ứng dụng. Câu 23 23. Annotation `@Controller` và `@RestController` trong Spring MVC khác nhau như thế nào? A A. `@Controller` dùng cho REST API, `@RestController` dùng cho ứng dụng web truyền thống. B B. `@Controller` kết hợp `@ResponseBody` mặc định cho tất cả các phương thức, `@RestController` thì không. C C. `@RestController` kết hợp `@Controller` và `@ResponseBody` mặc định cho tất cả các phương thức handler, trả về dữ liệu trực tiếp thay vì view name. D D. `@Controller` chỉ dùng cho giao diện người dùng, `@RestController` chỉ dùng cho backend. Câu 24 24. Load balancing trong ứng dụng web Java được sử dụng để làm gì? A A. Tăng tốc độ truy cập cơ sở dữ liệu. B B. Cải thiện bảo mật ứng dụng. C C. Phân phối traffic đến nhiều server để tăng khả năng chịu tải và độ tin cậy của ứng dụng. D D. Tối ưu hóa code ứng dụng. Câu 25 25. RESTful API là gì? A A. Một loại giao diện người dùng (UI) cho ứng dụng web. B B. Một kiến trúc thiết kế cho các ứng dụng web, sử dụng HTTP verbs (GET, POST, PUT, DELETE) để thực hiện các thao tác trên resources. C C. Một framework Java để phát triển ứng dụng web. D D. Một giao thức bảo mật cho truyền dữ liệu web. Câu 26 26. Web server (ví dụ: Tomcat, Jetty) có vai trò gì trong kiến trúc ứng dụng web Java? A A. Quản lý cơ sở dữ liệu. B B. Xử lý logic nghiệp vụ của ứng dụng. C C. Cung cấp môi trường runtime cho ứng dụng web Java, tiếp nhận yêu cầu từ client, và trả về phản hồi. D D. Thiết kế giao diện người dùng (UI). Câu 27 27. ORM (Object-Relational Mapping) framework như Hibernate giúp ích gì trong phát triển ứng dụng web Java? A A. Tăng tốc độ xử lý yêu cầu HTTP. B B. Giảm độ phức tạp khi làm việc với cơ sở dữ liệu bằng cách ánh xạ đối tượng Java với bảng trong cơ sở dữ liệu. C C. Cải thiện bảo mật cho ứng dụng web. D D. Hỗ trợ phát triển giao diện người dùng (UI) dễ dàng hơn. Câu 28 28. Dependency Injection (DI) là gì và lợi ích của nó trong Spring framework? A A. Một kỹ thuật để tối ưu hóa hiệu suất ứng dụng. B B. Một design pattern cho phép một đối tượng nhận các dependencies (phụ thuộc) của nó từ bên ngoài thay vì tự tạo ra. C C. Một phương pháp để quản lý session và cookie. D D. Một công cụ để kiểm thử ứng dụng web. Câu 29 29. Annotation `@WebServlet` trong Servlet dùng để làm gì? A A. Định nghĩa lớp Servlet là một thành phần web và ánh xạ URL đến Servlet đó. B B. Khai báo một biến instance trong Servlet. C C. Đánh dấu một phương thức là phương thức xử lý yêu cầu GET. D D. Cấu hình thông tin kết nối cơ sở dữ liệu cho Servlet. Câu 30 30. Trong Spring MVC, DispatcherServlet đóng vai trò gì? A A. Xử lý logic nghiệp vụ của ứng dụng. B B. Quản lý session và cookie. C C. Là front controller, tiếp nhận tất cả các yêu cầu HTTP và điều phối chúng đến các controller phù hợp. D D. Đảm nhận việc render view và trả về response cho client. Đề 6 – Bài tập, đề thi trắc nghiệm online Lập trình hướng đối tượng Đề 8 – Bài tập, đề thi trắc nghiệm online Quản trị sản phẩm