Đề 8 – Bài tập, đề thi trắc nghiệm online Phát triển ứng dụng Web với Java

0

Bạn đã sẵn sàng chưa? 45 phút làm bài bắt đầu!!!

Bạn đã hết giờ làm bài! Xem kết quả các câu hỏi đã làm nhé!!!


Phát triển ứng dụng Web với Java

Đề 8 - Bài tập, đề thi trắc nghiệm online Phát triển ứng dụng Web với Java

1. Transaction management trong ứng dụng web Java đảm bảo điều gì?

A. Bảo mật dữ liệu
B. Tính toàn vẹn dữ liệu, đảm bảo các thao tác cơ sở dữ liệu (CRUD) hoặc thành công tất cả, hoặc thất bại và rollback về trạng thái ban đầu (ACID properties)
C. Hiệu suất truy vấn cơ sở dữ liệu
D. Khả năng mở rộng ứng dụng

2. Công nghệ nào của Java được sử dụng để tạo ra các trang web động, nơi mã Java được nhúng trực tiếp vào trang HTML?

A. Servlet
B. JSP (JavaServer Pages)
C. JDBC
D. RMI

3. Annotation `@Controller` trong Spring MVC được sử dụng để đánh dấu class nào?

A. Class chứa logic nghiệp vụ (Model)
B. Class đại diện cho giao diện người dùng (View)
C. Class xử lý request và điều hướng (Controller)
D. Class cấu hình ứng dụng

4. Thành phần nào trong Spring MVC chịu trách nhiệm ánh xạ URL request đến phương thức xử lý controller phù hợp?

A. View Resolver
B. Handler Mapping
C. DispatcherServlet
D. Controller

5. RESTful API là gì?

A. Một loại cơ sở dữ liệu NoSQL
B. Một kiến trúc thiết kế API cho ứng dụng web, tuân theo các nguyên tắc như stateless, resource-based
C. Một framework phát triển giao diện người dùng
D. Một công nghệ bảo mật web

6. Load balancing trong kiến trúc ứng dụng web Java để làm gì?

A. Bảo mật ứng dụng
B. Phân phối tải (traffic) đến nhiều server để tăng khả năng chịu tải và độ tin cậy
C. Tối ưu hóa cơ sở dữ liệu
D. Quản lý phiên người dùng

7. Microservices architecture là gì và khác biệt so với monolithic architecture như thế nào?

A. Microservices là kiến trúc mà ứng dụng được xây dựng thành các service nhỏ, độc lập, giao tiếp qua API, khác với monolithic là ứng dụng lớn, liền khối
B. Microservices là một loại cơ sở dữ liệu NoSQL
C. Microservices là một framework giao diện người dùng
D. Microservices chỉ dùng cho ứng dụng nhỏ, monolithic cho ứng dụng lớn

8. Session trong ứng dụng web Java được sử dụng để làm gì?

A. Lưu trữ dữ liệu tạm thời trên server cho mỗi người dùng
B. Xác thực người dùng
C. Tối ưu hóa hiệu suất truy vấn cơ sở dữ liệu
D. Quản lý kết nối cơ sở dữ liệu

9. JSON (JavaScript Object Notation) thường được sử dụng trong ứng dụng web Java để làm gì?

A. Định nghĩa cấu trúc giao diện người dùng
B. Trao đổi dữ liệu giữa server và client (ví dụ: trong AJAX)
C. Lưu trữ cấu hình ứng dụng
D. Mô tả cơ sở dữ liệu

10. AOP (Aspect-Oriented Programming) trong Spring Framework dùng để giải quyết vấn đề gì?

A. Quản lý transaction cơ sở dữ liệu
B. Xử lý các cross-cutting concerns (ví dụ: logging, security) một cách module hóa, tách biệt khỏi logic nghiệp vụ chính
C. Tối ưu hóa hiệu suất ứng dụng
D. Xây dựng giao diện người dùng

11. Servlet container (ví dụ: Tomcat, Jetty) có vai trò chính là gì trong kiến trúc ứng dụng web Java?

A. Quản lý cơ sở dữ liệu
B. Cung cấp giao diện người dùng
C. Quản lý vòng đời Servlet và cung cấp môi trường runtime cho Servlet
D. Xử lý các yêu cầu HTTP tĩnh (HTML, CSS, JS)

12. Cookie trong ứng dụng web Java được lưu trữ ở đâu?

A. Trên server
B. Trên client (trình duyệt web)
C. Trong cơ sở dữ liệu
D. Trong bộ nhớ cache của server

13. Công nghệ nào của Java giúp tạo ra các ứng dụng web real-time, cho phép giao tiếp hai chiều giữa server và client?

A. Servlet
B. JSP
C. WebSocket
D. JDBC

14. Sự khác biệt chính giữa `RequestDispatcher.forward()` và `RequestDispatcher.include()` trong Servlet là gì?

A. `forward()` chuyển request hoàn toàn sang servlet khác, còn `include()` chỉ nhúng output của servlet khác vào response hiện tại
B. `forward()` dùng cho GET request, `include()` dùng cho POST request
C. `forward()` nhanh hơn `include()`
D. `include()` bảo mật hơn `forward()`

15. Unit testing trong phát triển ứng dụng web Java nhằm mục đích gì?

A. Kiểm tra hiệu năng ứng dụng
B. Kiểm tra tính bảo mật
C. Kiểm tra từng module∕component nhỏ (unit) của ứng dụng để đảm bảo chúng hoạt động đúng như mong đợi
D. Kiểm tra tích hợp giữa các module

16. View Resolver trong Spring MVC có vai trò gì?

A. Xử lý logic nghiệp vụ
B. Ánh xạ URL đến controller
C. Tìm kiếm và trả về View (ví dụ: JSP, Thymeleaf template) dựa trên tên logic được controller trả về
D. Xác thực người dùng

17. ORM (Object-Relational Mapping) framework như Hibernate giải quyết vấn đề gì trong phát triển ứng dụng web Java?

A. Quản lý phiên người dùng
B. Ánh xạ giữa đối tượng Java và bảng cơ sở dữ liệu, giúp thao tác dữ liệu dễ dàng hơn
C. Xây dựng giao diện người dùng động
D. Bảo mật ứng dụng web

18. Trong mô hình MVC (Model-View-Controller), thành phần nào chịu trách nhiệm xử lý logic nghiệp vụ và tương tác với cơ sở dữ liệu?

A. View
B. Controller
C. Model
D. DispatcherServlet

19. Ưu điểm chính của việc sử dụng framework như Spring Boot trong phát triển ứng dụng web Java là gì?

A. Tăng cường bảo mật
B. Đơn giản hóa cấu hình, tự động cấu hình nhiều thứ, giảm boilerplate code, dễ dàng tạo ứng dụng standalone
C. Tối ưu hóa hiệu suất cơ sở dữ liệu
D. Tự động tạo giao diện người dùng

20. Cơ chế bảo mật nào thường được sử dụng để xác thực người dùng trong ứng dụng web Java, đảm bảo chỉ người dùng hợp lệ mới được truy cập?

A. Mã hóa dữ liệu
B. Xác thực bằng username∕password, OAuth 2.0, JWT (JSON Web Token)
C. Firewall
D. HTTPS

21. Trong JSP, đối tượng ngầm định `request` thuộc lớp nào?

A. HttpServletResponse
B. HttpSession
C. ServletContext
D. HttpServletRequest

22. CSRF (Cross-Site Request Forgery) là loại tấn công web nào?

A. Tấn công từ chối dịch vụ (DoS)
B. Tấn công giả mạo yêu cầu, lợi dụng phiên đăng nhập của người dùng để thực hiện hành động trái phép
C. Tấn công SQL Injection
D. Tấn công XSS (Cross-Site Scripting)

23. Containerization (ví dụ: Docker) có lợi ích gì trong việc triển khai ứng dụng web Java?

A. Tăng cường bảo mật
B. Đóng gói ứng dụng và môi trường runtime vào container, đảm bảo tính nhất quán giữa các môi trường (dev, test, prod), dễ dàng scale và quản lý
C. Tối ưu hóa cơ sở dữ liệu
D. Giảm chi phí license Java

24. Framework Spring MVC giúp đơn giản hóa việc phát triển ứng dụng web Java bằng cách nào?

A. Tự động tạo giao diện người dùng
B. Cung cấp cấu trúc MVC rõ ràng và tích hợp nhiều tính năng như Dependency Injection, AOP
C. Thay thế hoàn toàn Servlet và JSP
D. Tối ưu hóa hiệu suất server

25. Thư viện∕framework nào thường được sử dụng để xây dựng RESTful API trong Java?

A. JDBC
B. JSP
C. Spring WebFlux
D. Spring MVC (với `@RestController`, `@RequestMapping` annotations), JAX-RS (Jersey, RESTEasy)

26. Trong Servlet, phương thức nào được gọi đầu tiên và chỉ một lần duy nhất khi Servlet được khởi tạo?

A. service()
B. init()
C. doGet()
D. destroy()

27. Dependency Injection (DI) là gì và lợi ích của nó trong Spring Framework?

A. Một kỹ thuật tối ưu hóa hiệu suất cơ sở dữ liệu
B. Một pattern thiết kế giúp giảm sự phụ thuộc giữa các component, tăng tính module hóa và khả năng test
C. Một phương pháp bảo mật ứng dụng
D. Một công cụ quản lý phiên người dùng

28. Caching (ví dụ: sử dụng Redis, Memcached) được dùng để cải thiện hiệu suất ứng dụng web Java như thế nào?

A. Tăng cường bảo mật
B. Lưu trữ dữ liệu thường xuyên truy cập trong bộ nhớ nhanh (cache) để giảm thời gian truy xuất, giảm tải cho cơ sở dữ liệu
C. Quản lý session tốt hơn
D. Đơn giản hóa cấu hình

29. Filter trong Servlet có vai trò gì?

A. Tạo giao diện người dùng
B. Xử lý request và response trước hoặc sau khi Servlet xử lý, ví dụ: logging, authentication, encoding
C. Quản lý session
D. Kết nối cơ sở dữ liệu

30. Deployment descriptor (web.xml) trong ứng dụng web Java dùng để làm gì (mặc dù hiện nay ít sử dụng hơn)?

A. Định nghĩa giao diện người dùng
B. Cấu hình ứng dụng web, ví dụ: mapping servlet, filter, listener, security constraints
C. Quản lý cơ sở dữ liệu
D. Tối ưu hóa hiệu suất

1 / 30

Category: Phát triển ứng dụng Web với Java

Tags: Bộ đề 6

1. Transaction management trong ứng dụng web Java đảm bảo điều gì?

2 / 30

Category: Phát triển ứng dụng Web với Java

Tags: Bộ đề 6

2. Công nghệ nào của Java được sử dụng để tạo ra các trang web động, nơi mã Java được nhúng trực tiếp vào trang HTML?

3 / 30

Category: Phát triển ứng dụng Web với Java

Tags: Bộ đề 6

3. Annotation `@Controller` trong Spring MVC được sử dụng để đánh dấu class nào?

4 / 30

Category: Phát triển ứng dụng Web với Java

Tags: Bộ đề 6

4. Thành phần nào trong Spring MVC chịu trách nhiệm ánh xạ URL request đến phương thức xử lý controller phù hợp?

5 / 30

Category: Phát triển ứng dụng Web với Java

Tags: Bộ đề 6

5. RESTful API là gì?

6 / 30

Category: Phát triển ứng dụng Web với Java

Tags: Bộ đề 6

6. Load balancing trong kiến trúc ứng dụng web Java để làm gì?

7 / 30

Category: Phát triển ứng dụng Web với Java

Tags: Bộ đề 6

7. Microservices architecture là gì và khác biệt so với monolithic architecture như thế nào?

8 / 30

Category: Phát triển ứng dụng Web với Java

Tags: Bộ đề 6

8. Session trong ứng dụng web Java được sử dụng để làm gì?

9 / 30

Category: Phát triển ứng dụng Web với Java

Tags: Bộ đề 6

9. JSON (JavaScript Object Notation) thường được sử dụng trong ứng dụng web Java để làm gì?

10 / 30

Category: Phát triển ứng dụng Web với Java

Tags: Bộ đề 6

10. AOP (Aspect-Oriented Programming) trong Spring Framework dùng để giải quyết vấn đề gì?

11 / 30

Category: Phát triển ứng dụng Web với Java

Tags: Bộ đề 6

11. Servlet container (ví dụ: Tomcat, Jetty) có vai trò chính là gì trong kiến trúc ứng dụng web Java?

12 / 30

Category: Phát triển ứng dụng Web với Java

Tags: Bộ đề 6

12. Cookie trong ứng dụng web Java được lưu trữ ở đâu?

13 / 30

Category: Phát triển ứng dụng Web với Java

Tags: Bộ đề 6

13. Công nghệ nào của Java giúp tạo ra các ứng dụng web real-time, cho phép giao tiếp hai chiều giữa server và client?

14 / 30

Category: Phát triển ứng dụng Web với Java

Tags: Bộ đề 6

14. Sự khác biệt chính giữa `RequestDispatcher.forward()` và `RequestDispatcher.include()` trong Servlet là gì?

15 / 30

Category: Phát triển ứng dụng Web với Java

Tags: Bộ đề 6

15. Unit testing trong phát triển ứng dụng web Java nhằm mục đích gì?

16 / 30

Category: Phát triển ứng dụng Web với Java

Tags: Bộ đề 6

16. View Resolver trong Spring MVC có vai trò gì?

17 / 30

Category: Phát triển ứng dụng Web với Java

Tags: Bộ đề 6

17. ORM (Object-Relational Mapping) framework như Hibernate giải quyết vấn đề gì trong phát triển ứng dụng web Java?

18 / 30

Category: Phát triển ứng dụng Web với Java

Tags: Bộ đề 6

18. Trong mô hình MVC (Model-View-Controller), thành phần nào chịu trách nhiệm xử lý logic nghiệp vụ và tương tác với cơ sở dữ liệu?

19 / 30

Category: Phát triển ứng dụng Web với Java

Tags: Bộ đề 6

19. Ưu điểm chính của việc sử dụng framework như Spring Boot trong phát triển ứng dụng web Java là gì?

20 / 30

Category: Phát triển ứng dụng Web với Java

Tags: Bộ đề 6

20. Cơ chế bảo mật nào thường được sử dụng để xác thực người dùng trong ứng dụng web Java, đảm bảo chỉ người dùng hợp lệ mới được truy cập?

21 / 30

Category: Phát triển ứng dụng Web với Java

Tags: Bộ đề 6

21. Trong JSP, đối tượng ngầm định `request` thuộc lớp nào?

22 / 30

Category: Phát triển ứng dụng Web với Java

Tags: Bộ đề 6

22. CSRF (Cross-Site Request Forgery) là loại tấn công web nào?

23 / 30

Category: Phát triển ứng dụng Web với Java

Tags: Bộ đề 6

23. Containerization (ví dụ: Docker) có lợi ích gì trong việc triển khai ứng dụng web Java?

24 / 30

Category: Phát triển ứng dụng Web với Java

Tags: Bộ đề 6

24. Framework Spring MVC giúp đơn giản hóa việc phát triển ứng dụng web Java bằng cách nào?

25 / 30

Category: Phát triển ứng dụng Web với Java

Tags: Bộ đề 6

25. Thư viện∕framework nào thường được sử dụng để xây dựng RESTful API trong Java?

26 / 30

Category: Phát triển ứng dụng Web với Java

Tags: Bộ đề 6

26. Trong Servlet, phương thức nào được gọi đầu tiên và chỉ một lần duy nhất khi Servlet được khởi tạo?

27 / 30

Category: Phát triển ứng dụng Web với Java

Tags: Bộ đề 6

27. Dependency Injection (DI) là gì và lợi ích của nó trong Spring Framework?

28 / 30

Category: Phát triển ứng dụng Web với Java

Tags: Bộ đề 6

28. Caching (ví dụ: sử dụng Redis, Memcached) được dùng để cải thiện hiệu suất ứng dụng web Java như thế nào?

29 / 30

Category: Phát triển ứng dụng Web với Java

Tags: Bộ đề 6

29. Filter trong Servlet có vai trò gì?

30 / 30

Category: Phát triển ứng dụng Web với Java

Tags: Bộ đề 6

30. Deployment descriptor (web.xml) trong ứng dụng web Java dùng để làm gì (mặc dù hiện nay ít sử dụng hơn)?