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

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é!!!


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

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

1. JPA (Java Persistence API) là một specification cho điều gì trong Java EE?

A. Phát triển giao diện người dùng web.
B. Quản lý phiên làm việc (session management).
C. ORM (Object-Relational Mapping) để tương tác với cơ sở dữ liệu.
D. Xây dựng RESTful web services.

2. Cross-Origin Resource Sharing (CORS) là cơ chế bảo mật web để làm gì?

A. Ngăn chặn tấn công SQL injection.
B. Cho phép trình duyệt web thực hiện yêu cầu HTTP đến một domain khác với domain của trang web hiện tại.
C. Bảo vệ chống lại tấn công CSRF.
D. Mã hóa dữ liệu truyền qua mạng.

3. Trong kiến trúc microservices, API Gateway đóng vai trò gì?

A. Quản lý cơ sở dữ liệu cho tất cả microservices.
B. Định tuyến yêu cầu từ client đến các microservices phù hợp và cung cấp các dịch vụ cross-cutting concerns (như authentication, rate limiting).
C. Triển khai (deploy) các microservices.
D. Giám sát hiệu suất của microservices.

4. Mục đích của việc sử dụng session trong ứng dụng web Java là gì?

A. Lưu trữ dữ liệu tĩnh của ứng dụng.
B. Duy trì trạng thái (state) của người dùng giữa các yêu cầu HTTP.
C. Tăng tốc độ tải trang web.
D. Bảo mật thông tin đăng nhập của người dùng.

5. Thành phần nào của kiến trúc 3 lớp (3-tier architecture) thường chứa logic nghiệp vụ (business logic) của ứng dụng web Java?

A. Presentation tier (lớp trình bày).
B. Data tier (lớp dữ liệu).
C. Business tier (lớp nghiệp vụ).
D. Client tier (lớp client).

6. Spring Boot framework giúp đơn giản hóa quá trình phát triển ứng dụng web Java như thế nào?

A. Tự động tối ưu hóa hiệu suất cơ sở dữ liệu.
B. Cung cấp `opinionated defaults` và auto-configuration, giảm thiểu cấu hình boilerplate.
C. Tự động tạo tài liệu API cho ứng dụng.
D. Thay thế hoàn toàn Servlet container bằng embedded server.

7. Trong Spring Data JPA, repository interface giúp đơn giản hóa thao tác cơ sở dữ liệu như thế nào?

A. Tự động tạo database schema.
B. Cung cấp các phương thức CRUD (Create, Read, Update, Delete) mặc định và khả năng tạo truy vấn tùy chỉnh từ tên phương thức.
C. Tăng tốc độ kết nối cơ sở dữ liệu.
D. Tự động triển khai ứng dụng lên server.

8. Reactive programming (ví dụ: Spring WebFlux) mang lại lợi ích gì cho ứng dụng web Java, đặc biệt trong môi trường high-concurrency?

A. Tăng tốc độ biên dịch mã nguồn.
B. Cho phép xử lý non-blocking I/O, tăng khả năng mở rộng và hiệu suất trong môi trường có nhiều kết nối đồng thời.
C. Tự động quản lý bộ nhớ.
D. Đơn giản hóa việc cấu hình bảo mật.

9. Logging framework (ví dụ: Log4j, SLF4j) quan trọng như thế nào trong phát triển ứng dụng web Java?

A. Giúp tăng cường bảo mật ứng dụng.
B. Cho phép ghi lại thông tin về hoạt động của ứng dụng, hỗ trợ debug, giám sát và phân tích lỗi.
C. Tự động tối ưu hóa mã nguồn.
D. Quản lý bộ nhớ hiệu quả hơn.

10. Annotation `@WebServlet` trong Java Servlet được sử dụng để làm gì?

A. Khai báo một class là một Enterprise JavaBean (EJB).
B. Định nghĩa URL pattern mà Servlet sẽ xử lý.
C. Cấu hình kết nối cơ sở dữ liệu cho Servlet.
D. Xác định phương thức HTTP (GET, POST, v.v.) mà Servlet hỗ trợ.

11. GraphQL khác biệt với RESTful API như thế nào trong việc truy xuất dữ liệu từ server?

A. GraphQL chỉ hỗ trợ GET method, RESTful API hỗ trợ nhiều methods.
B. GraphQL cho phép client chỉ định chính xác dữ liệu cần thiết, tránh over-fetching và under-fetching, RESTful API thường trả về dữ liệu cố định cho mỗi endpoint.
C. GraphQL nhanh hơn RESTful API về hiệu suất.
D. GraphQL không cần schema, RESTful API cần schema.

12. Thành phần nào trong Spring MVC framework chịu trách nhiệm xử lý yêu cầu từ client và trả về response?

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

13. Server-Sent Events (SSE) là một công nghệ web cho phép server push dữ liệu đến client. SSE khác với WebSocket ở điểm nào?

A. SSE là giao tiếp full-duplex, WebSocket là half-duplex.
B. SSE là giao tiếp one-way (server-to-client), WebSocket là two-way (bi-directional).
C. SSE yêu cầu kết nối liên tục, WebSocket không yêu cầu.
D. SSE chỉ dùng cho text, WebSocket cho cả text và binary.

14. Cơ chế bảo mật CSRF (Cross-Site Request Forgery) bảo vệ ứng dụng web Java khỏi loại tấn công nào?

A. Tấn công SQL injection.
B. Tấn công từ chối dịch vụ (DoS).
C. Tấn công giả mạo yêu cầu từ người dùng đã xác thực.
D. Tấn công XSS (Cross-Site Scripting).

15. JSON (JavaScript Object Notation) thường được sử dụng làm định dạng dữ liệu chính cho web services vì lý do gì?

A. Hiệu suất biên dịch nhanh hơn XML.
B. Dễ đọc, dễ viết cho cả người và máy, và được hỗ trợ rộng rãi trong JavaScript.
C. Khả năng bảo mật cao hơn so với XML.
D. Tích hợp tốt hơn với cơ sở dữ liệu quan hệ.

16. JSP (JavaServer Pages) được biên dịch thành gì trước khi thực thi trên server?

A. HTML tĩnh.
B. Servlet.
C. JavaScript.
D. XML.

17. Mục đích của connection pooling trong ứng dụng web Java kết nối cơ sở dữ liệu là gì?

A. Tăng cường bảo mật kết nối cơ sở dữ liệu.
B. Tái sử dụng các kết nối cơ sở dữ liệu đã được thiết lập, giảm overhead của việc tạo và đóng kết nối mới cho mỗi yêu cầu.
C. Tự động sao lưu dữ liệu cơ sở dữ liệu.
D. Phân tải (load balancing) giữa các server cơ sở dữ liệu.

18. Trong RESTful web services, phương thức HTTP nào thường được sử dụng để tạo mới một tài nguyên trên server?

A. GET.
B. PUT.
C. POST.
D. DELETE.

19. JUnit là framework phổ biến để thực hiện loại kiểm thử nào trong phát triển ứng dụng web Java?

A. Kiểm thử hiệu năng (performance testing).
B. Kiểm thử tích hợp (integration testing).
C. Kiểm thử đơn vị (unit testing).
D. Kiểm thử bảo mật (security testing).

20. ViewState trong JSF (JavaServer Faces) được sử dụng để làm gì?

A. Lưu trữ dữ liệu phía server để hiển thị trang web.
B. Duy trì trạng thái của components trên trang web giữa các lần postback.
C. Quản lý phiên làm việc của người dùng.
D. Xác thực người dùng.

21. Trong Spring Security, khái niệm `Authentication` và `Authorization` khác nhau như thế nào?

A. Authentication là xác thực danh tính người dùng (là ai), Authorization là xác định quyền truy cập (được phép làm gì).
B. Authentication là mã hóa dữ liệu, Authorization là giải mã dữ liệu.
C. Authentication là kiểm tra tính toàn vẹn dữ liệu, Authorization là kiểm tra tính bí mật dữ liệu.
D. Authentication là đăng nhập, Authorization là đăng ký tài khoản.

22. Docker containerization mang lại lợi ích gì cho việc triển khai ứng dụng web Java?

A. Tăng tốc độ phát triển mã nguồn.
B. Đảm bảo môi trường triển khai nhất quán, đơn giản hóa quá trình deployment và scaling.
C. Tự động sửa lỗi mã nguồn.
D. Giảm chi phí lưu trữ cơ sở dữ liệu.

23. WebSocket protocol khác biệt với HTTP protocol như thế nào trong ứng dụng web?

A. WebSocket là stateless, HTTP là stateful.
B. WebSocket cung cấp giao tiếp full-duplex (song công), cho phép server và client gửi dữ liệu đồng thời, còn HTTP là half-duplex (bán song công) hoặc simplex (đơn công) trong ngữ cảnh request-response truyền thống.
C. WebSocket chỉ dùng cho truyền tải text, HTTP cho cả text và binary.
D. WebSocket không cần connection pooling, HTTP cần connection pooling.

24. Load balancer có vai trò gì trong việc triển khai ứng dụng web Java trên môi trường production?

A. Tăng tốc độ truy vấn cơ sở dữ liệu.
B. Phân phối tải (traffic) đều cho nhiều instances của ứng dụng, cải thiện hiệu suất và khả năng chịu tải.
C. Bảo mật ứng dụng web khỏi tấn công DDoS.
D. Tự động sao lưu mã nguồn ứng dụng.

25. Trong ngữ cảnh phát triển ứng dụng web Java, Servlet container (ví dụ: Tomcat, Jetty) chịu trách nhiệm chính cho điều gì?

A. Biên dịch mã nguồn Java thành bytecode.
B. Quản lý vòng đời của Servlets và xử lý các yêu cầu HTTP.
C. Cung cấp cơ sở dữ liệu để lưu trữ dữ liệu ứng dụng.
D. Định tuyến (routing) yêu cầu từ client đến server.

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

A. `forward()` chuyển control sang Servlet khác và kết thúc request hiện tại, còn `include()` chỉ chèn output của Servlet khác vào response hiện tại và control vẫn trở về Servlet gốc.
B. `forward()` chỉ dùng cho GET request, còn `include()` cho POST request.
C. `forward()` tạo session mới, còn `include()` sử dụng session hiện tại.
D. `forward()` dùng để xử lý lỗi, còn `include()` để hiển thị nội dung động.

27. Ưu điểm của việc sử dụng ORM (ví dụ: Hibernate) so với JDBC thuần túy trong ứng dụng web Java là gì?

A. Tăng tốc độ truy vấn cơ sở dữ liệu.
B. Giảm thiểu mã boilerplate, tăng tính trừu tượng hóa khi làm việc với cơ sở dữ liệu.
C. Hỗ trợ tốt hơn cho cơ sở dữ liệu NoSQL.
D. Đơn giản hóa việc triển khai ứng dụng web.

28. Dependency Injection (DI) là một design pattern quan trọng trong Spring Framework. Mục đích chính của DI là gì?

A. Tăng tốc độ thực thi ứng dụng.
B. Giảm sự phụ thuộc giữa các components của ứng dụng, tăng tính module hóa và khả năng tái sử dụng.
C. Tự động quản lý bộ nhớ cho ứng dụng.
D. Đơn giản hóa việc cấu hình cơ sở dữ liệu.

29. Message Broker (ví dụ: RabbitMQ, Kafka) thường được sử dụng trong kiến trúc microservices để làm gì?

A. Quản lý phiên làm việc (session management).
B. Thực hiện giao tiếp asynchronous (bất đồng bộ) giữa các microservices thông qua message queuing.
C. Lưu trữ dữ liệu log của ứng dụng.
D. Triển khai (deploy) microservices.

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

A. Tăng tốc độ biên dịch mã nguồn.
B. Cung cấp kiến trúc MVC rõ ràng, giúp tách biệt các lớp ứng dụng (Model-View-Controller).
C. Tự động tạo giao diện người dùng (UI) phức tạp.
D. Loại bỏ hoàn toàn sự cần thiết của Servlet container.

1 / 30

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

Tags: Bộ đề 1

1. JPA (Java Persistence API) là một specification cho điều gì trong Java EE?

2 / 30

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

Tags: Bộ đề 1

2. Cross-Origin Resource Sharing (CORS) là cơ chế bảo mật web để làm gì?

3 / 30

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

Tags: Bộ đề 1

3. Trong kiến trúc microservices, API Gateway đóng vai trò gì?

4 / 30

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

Tags: Bộ đề 1

4. Mục đích của việc sử dụng session trong ứng dụng web Java là gì?

5 / 30

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

Tags: Bộ đề 1

5. Thành phần nào của kiến trúc 3 lớp (3-tier architecture) thường chứa logic nghiệp vụ (business logic) của ứng dụng web Java?

6 / 30

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

Tags: Bộ đề 1

6. Spring Boot framework giúp đơn giản hóa quá trình phát triển ứng dụng web Java như thế nào?

7 / 30

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

Tags: Bộ đề 1

7. Trong Spring Data JPA, repository interface giúp đơn giản hóa thao tác cơ sở dữ liệu như thế nào?

8 / 30

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

Tags: Bộ đề 1

8. Reactive programming (ví dụ: Spring WebFlux) mang lại lợi ích gì cho ứng dụng web Java, đặc biệt trong môi trường high-concurrency?

9 / 30

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

Tags: Bộ đề 1

9. Logging framework (ví dụ: Log4j, SLF4j) quan trọng như thế nào trong phát triển ứng dụng web Java?

10 / 30

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

Tags: Bộ đề 1

10. Annotation `@WebServlet` trong Java Servlet được sử dụng để làm gì?

11 / 30

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

Tags: Bộ đề 1

11. GraphQL khác biệt với RESTful API như thế nào trong việc truy xuất dữ liệu từ server?

12 / 30

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

Tags: Bộ đề 1

12. Thành phần nào trong Spring MVC framework chịu trách nhiệm xử lý yêu cầu từ client và trả về response?

13 / 30

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

Tags: Bộ đề 1

13. Server-Sent Events (SSE) là một công nghệ web cho phép server push dữ liệu đến client. SSE khác với WebSocket ở điểm nào?

14 / 30

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

Tags: Bộ đề 1

14. Cơ chế bảo mật CSRF (Cross-Site Request Forgery) bảo vệ ứng dụng web Java khỏi loại tấn công nào?

15 / 30

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

Tags: Bộ đề 1

15. JSON (JavaScript Object Notation) thường được sử dụng làm định dạng dữ liệu chính cho web services vì lý do gì?

16 / 30

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

Tags: Bộ đề 1

16. JSP (JavaServer Pages) được biên dịch thành gì trước khi thực thi trên server?

17 / 30

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

Tags: Bộ đề 1

17. Mục đích của connection pooling trong ứng dụng web Java kết nối cơ sở dữ liệu là gì?

18 / 30

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

Tags: Bộ đề 1

18. Trong RESTful web services, phương thức HTTP nào thường được sử dụng để tạo mới một tài nguyên trên server?

19 / 30

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

Tags: Bộ đề 1

19. JUnit là framework phổ biến để thực hiện loại kiểm thử nào trong phát triển ứng dụng web Java?

20 / 30

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

Tags: Bộ đề 1

20. ViewState trong JSF (JavaServer Faces) được sử dụng để làm gì?

21 / 30

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

Tags: Bộ đề 1

21. Trong Spring Security, khái niệm 'Authentication' và 'Authorization' khác nhau như thế nào?

22 / 30

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

Tags: Bộ đề 1

22. Docker containerization mang lại lợi ích gì cho việc triển khai ứng dụng web Java?

23 / 30

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

Tags: Bộ đề 1

23. WebSocket protocol khác biệt với HTTP protocol như thế nào trong ứng dụng web?

24 / 30

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

Tags: Bộ đề 1

24. Load balancer có vai trò gì trong việc triển khai ứng dụng web Java trên môi trường production?

25 / 30

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

Tags: Bộ đề 1

25. Trong ngữ cảnh phát triển ứng dụng web Java, Servlet container (ví dụ: Tomcat, Jetty) chịu trách nhiệm chính cho điều gì?

26 / 30

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

Tags: Bộ đề 1

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

27 / 30

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

Tags: Bộ đề 1

27. Ưu điểm của việc sử dụng ORM (ví dụ: Hibernate) so với JDBC thuần túy trong ứng dụng web Java là gì?

28 / 30

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

Tags: Bộ đề 1

28. Dependency Injection (DI) là một design pattern quan trọng trong Spring Framework. Mục đích chính của DI là gì?

29 / 30

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

Tags: Bộ đề 1

29. Message Broker (ví dụ: RabbitMQ, Kafka) thường được sử dụng trong kiến trúc microservices để làm gì?

30 / 30

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

Tags: Bộ đề 1

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