1. Containerization (ví dụ: Docker) 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 ứng dụng.
B. Đóng gói ứng dụng và môi trường runtime vào một container, đảm bảo tính nhất quán giữa các môi trường và dễ dàng triển khai.
C. Tự động sửa lỗi code.
D. Giảm chi phí lưu trữ dữ liệu.
2. Dependency Injection (DI) là một nguyên tắc quan trọng trong Spring Framework. Lợi ích chính của DI là gì?
A. Tăng hiệu suất ứng dụng.
B. Giảm sự phụ thuộc giữa các component, tăng tính module hóa và khả năng tái sử dụng.
C. Tự động quản lý bộ nhớ.
D. Đơn giản hóa việc cấu hình cơ sở dữ liệu.
3. Annotation nào trong Spring MVC được sử dụng để ánh xạ một phương thức xử lý yêu cầu HTTP GET tới một URL cụ thể?
A. @PostMapping
B. @PutMapping
C. @DeleteMapping
D. @GetMapping
4. Trong Java Servlet, phương thức nào được gọi đầu tiên khi Servlet được khởi tạo bởi container?
A. service()
B. doGet()
C. init()
D. destroy()
5. Trong Spring Security, Filter Chain được sử dụng để làm gì?
A. Định nghĩa quyền truy cập cho người dùng.
B. Xử lý các yêu cầu HTTP đến để thực hiện các chức năng bảo mật (ví dụ: xác thực, ủy quyền).
C. Quản lý session bảo mật.
D. Mã hóa mật khẩu người dùng.
6. Transaction trong ứng dụng web đảm bảo tính chất ACID. Chữ 'I′ trong ACID đại diện cho tính chất nào?
A. Availability
B. Isolation
C. Integrity
D. Immutability
7. Component nào trong Spring MVC chịu trách nhiệm nhận request từ client, xác định handler phù hợp và điều phối request đến handler đó?
A. ViewResolver
B. HandlerInterceptor
C. DispatcherServlet
D. Controller
8. HttpServletRequest object trong Servlet API chứa thông tin gì?
A. Thông tin cấu hình server.
B. Thông tin về request từ client (headers, parameters, body, …).
C. Thông tin về session hiện tại.
D. Thông tin về response trả về client.
9. Thư viện nào của Java thường được dùng để thực hiện unit testing cho ứng dụng web?
A. Java Swing
B. JUnit
C. JavaFX
D. Java AWT
10. Session trong ứng dụng web được sử dụng để làm gì?
A. Lưu trữ dữ liệu cấu hình ứng dụng.
B. Duy trì trạng thái và thông tin của người dùng giữa các request.
C. Quản lý kết nối cơ sở dữ liệu.
D. Xử lý lỗi và ngoại lệ trong ứng dụng.
11. Trong ngữ cảnh microservices, API Gateway đóng vai trò gì?
A. Quản lý cơ sở dữ liệu cho microservices.
B. Điểm vào duy nhất cho tất cả request từ client đến hệ thống microservices, thực hiện routing, authentication, …
C. Cân bằng tải giữa các instances của microservices.
D. Service discovery cho microservices.
12. Cookie trong ứng dụng web được lưu trữ ở đâu?
A. Trên server.
B. Trong cơ sở dữ liệu.
C. Trên trình duyệt của người dùng.
D. Trong bộ nhớ cache của server.
13. Loại scope mặc định của bean trong Spring Framework là gì?
A. prototype
B. singleton
C. request
D. session
14. Công nghệ nào của Java EE cung cấp cơ chế messaging asynchronous, cho phép các component giao tiếp mà không cần phải biết về nhau trực tiếp?
A. JPA (Java Persistence API)
B. JMS (Java Message Service)
C. JNDI (Java Naming and Directory Interface)
D. JAX-RS (Java API for RESTful Web Services)
15. Trong bảo mật ứng dụng web, Cross-Site Scripting (XSS) là loại tấn công nào?
A. Tấn công từ chối dịch vụ (DoS).
B. Tấn công tiêm nhiễm SQL (SQL Injection).
C. Tấn công chèn mã độc JavaScript vào trang web để thực thi trên trình duyệt của người dùng.
D. Tấn công giả mạo yêu cầu (CSRF).
16. HttpServletResponse object trong Servlet API được sử dụng để làm gì?
A. Đọc dữ liệu từ request.
B. Gửi response về cho client (headers, body, status code, …).
C. Quản lý session.
D. Lưu trữ dữ liệu tạm thời trên server.
17. JSP (JavaServer Pages) được biên dịch thành loại file nào trước khi thực thi trên server?
A. File HTML
B. File XML
C. Java Servlet
D. File JavaScript
18. ViewState trong JSF (JavaServer Faces) được sử dụng để làm gì?
A. Lưu trữ dữ liệu session của người dùng.
B. Duy trì trạng thái của component trên trang web giữa các request trong JSF.
C. Quản lý cấu hình ứng dụng JSF.
D. Xử lý sự kiện (events) trong JSF.
19. OAuth 2.0 là một framework ủy quyền (authorization framework). Mục đích chính của OAuth 2.0 là gì?
A. Xác thực người dùng (authentication).
B. Cung cấp cơ chế cho phép ứng dụng bên thứ ba truy cập tài nguyên của người dùng trên một service khác (ví dụ: Google, Facebook) một cách an toàn, mà không cần chia sẻ mật khẩu.
C. Mã hóa dữ liệu truyền trên mạng.
D. Ngăn chặn tấn công CSRF.
20. 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
21. Trong Spring Boot, annotation nào được sử dụng để đánh dấu một class là cấu hình (configuration class)?
A. @Component
B. @Service
C. @Repository
D. @Configuration
22. JSON (JavaScript Object Notation) là định dạng dữ liệu phổ biến cho web services. Đặc điểm nào sau đây KHÔNG phải là của JSON?
A. Dễ đọc và dễ viết cho cả người và máy.
B. Dựa trên cặp key-value.
C. Hỗ trợ comment để chú thích.
D. Được sử dụng rộng rãi trong trao đổi dữ liệu web.
23. Trong RESTful API, phương thức HTTP nào thường được sử dụng để cập nhật một tài nguyên hiện có?
A. POST
B. GET
C. PUT
D. DELETE
24. Annotation `@ResponseBody` trong Spring MVC được sử dụng để làm gì?
A. Xác định view name trả về.
B. Chỉ định phương thức trả về dữ liệu trực tiếp trong body của response, thường dùng cho RESTful API.
C. Ánh xạ request body vào tham số của phương thức.
D. Xác thực người dùng trước khi truy cập tài nguyên.
25. Mục đích chính của việc sử dụng Maven hoặc Gradle trong dự án Java web là gì?
A. Tối ưu hiệu suất ứng dụng.
B. Quản lý dependencies, build tự động, và quản lý vòng đời dự án.
C. Cung cấp môi trường runtime cho ứng dụng.
D. Tạo giao diện người dùng đồ họa.
26. ORM (Object-Relational Mapping) giải quyết vấn đề 'impedance mismatch′ giữa thế giới hướng đối tượng của Java và thế giới nào sau đây?
A. Web browsers
B. Cơ sở dữ liệu quan hệ
C. Message queues
D. Hệ điều hành
27. Thư viện∕framework nào của Java thường được sử dụng để xây dựng RESTful Web Services?
A. Java Swing
B. JavaFX
C. Spring MVC∕Spring WebFlux
D. Java AWT
28. Công nghệ WebSocket cung cấp giao tiếp kiểu nào giữa client và server trong ứng dụng web?
A. Request-Response (một chiều).
B. Publish-Subscribe.
C. Real-time, bidirectional (song công).
D. Broadcast (quảng bá).
29. Công nghệ nào của Java EE cung cấp API để truy cập và quản lý dữ liệu trong cơ sở dữ liệu quan hệ, giúp giảm thiểu mã JDBC boilerplate?
A. JMS (Java Message Service)
B. JPA (Java Persistence API)
C. JNDI (Java Naming and Directory Interface)
D. JAX-RS (Java API for RESTful Web Services)
30. Trong JPA, Entity Manager được sử dụng để làm gì?
A. Định nghĩa cấu trúc bảng cơ sở dữ liệu.
B. Thực hiện các hoạt động CRUD (Create, Read, Update, Delete) trên entities và tương tác với database.
C. Quản lý session của người dùng.
D. Xử lý transaction phân tán.