1. JSP (JavaServer Pages) được biên dịch thành loại servlet nào?
A. GenericServlet
B. HttpServlet
C. ServletConfig
D. ServletContext
2. Trong mô hình MVC (Model-View-Controller), thành phần nào chịu trách nhiệm xử lý logic ứng dụng và cập nhật dữ liệu?
A. View
B. Model
C. Controller
D. Servlet
3. JSON (JavaScript Object Notation) là gì?
A. Một ngôn ngữ lập trình
B. Một định dạng dữ liệu lightweight để trao đổi dữ liệu giữa server và client
C. Một loại cơ sở dữ liệu
D. Một giao thức mạng
4. Thế nào là Inversion of Control (IoC) trong Spring và lợi ích của nó?
A. Một kỹ thuật để tối ưu hóa cơ sở dữ liệu.
B. Một design pattern mà ở đó control của việc tạo và quản lý dependencies được chuyển từ object sang container, giúp giảm coupling và tăng tính testability.
C. Một phương pháp để mã hóa dữ liệu.
D. Một giao thức để xác thực người dùng.
5. JWT (JSON Web Token) là gì và nó thường được sử dụng để làm gì trong ứng dụng web?
A. Một ngôn ngữ lập trình mới.
B. Một tiêu chuẩn mở dựa trên JSON để tạo ra các token truy cập, cho phép xác thực và ủy quyền người dùng một cách an toàn.
C. Một loại cơ sở dữ liệu NoSQL.
D. Một công cụ để kiểm tra hiệu suất của ứng dụng web.
6. Cookie được lưu trữ ở đâu?
A. Trên server
B. Trên client (trình duyệt)
C. Trong database
D. Trong session
7. CORS (Cross-Origin Resource Sharing) là gì và tại sao nó quan trọng trong phát triển ứng dụng web?
A. Một kỹ thuật để tăng tốc độ tải trang web.
B. Một cơ chế bảo mật cho phép hoặc từ chối các request HTTP từ một domain khác với domain mà server đang phục vụ.
C. Một phương pháp để nén dữ liệu trước khi gửi qua mạng.
D. Một giao thức để truyền tải video trực tuyến.
8. ViewResolver trong Spring MVC có vai trò gì?
A. Xử lý các request
B. Ánh xạ các request đến các controllers
C. Tìm kiếm và trả về View tương ứng dựa trên tên logic
D. Quản lý cơ sở dữ liệu
9. Trong Spring Security, vai trò của `AuthenticationManager` là gì?
A. Mã hóa mật khẩu của người dùng.
B. Xác thực thông tin đăng nhập của người dùng.
C. Quản lý các session của người dùng.
D. Điều hướng người dùng đến các trang khác nhau sau khi đăng nhập.
10. JSTL (JavaServer Pages Standard Tag Library) là gì?
A. Một ngôn ngữ lập trình
B. Một tập hợp các custom tags cung cấp các chức năng phổ biến như lặp, điều kiện, định dạng dữ liệu trong JSP
C. Một loại cơ sở dữ liệu
D. Một giao thức mạng
11. CSRF (Cross-Site Request Forgery) là gì và làm thế nào để phòng tránh nó trong ứng dụng Java Web?
A. Một loại tấn công từ chối dịch vụ (Denial of Service).
B. Một loại tấn công mà kẻ tấn công thực hiện các hành động thay mặt cho người dùng mà người dùng không hề hay biết.
C. Một kỹ thuật để vượt qua các biện pháp xác thực.
D. Một phương pháp để đánh cắp cookie của người dùng.
12. Annotation nào trong Spring Framework được sử dụng để đánh dấu một class là một controller?
A. @Service
B. @Component
C. @Controller
D. @Repository
13. ORM (Object-Relational Mapping) là gì?
A. Một ngôn ngữ lập trình
B. Một kỹ thuật để ánh xạ dữ liệu giữa các đối tượng trong ứng dụng và các bảng trong cơ sở dữ liệu
C. Một loại cơ sở dữ liệu
D. Một giao thức mạng
14. OAuth 2.0 là gì và nó được sử dụng để giải quyết vấn đề gì trong phát triển ứng dụng web?
A. Một giao thức để mã hóa dữ liệu truyền qua mạng.
B. Một framework để xây dựng giao diện người dùng.
C. Một giao thức ủy quyền cho phép ứng dụng của bên thứ ba truy cập vào tài nguyên của người dùng trên một dịch vụ khác mà không cần biết thông tin đăng nhập của người dùng.
D. Một hệ thống quản lý cơ sở dữ liệu phân tán.
15. Hibernate là một implementation của công nghệ nào?
A. JDBC
B. JMS
C. JPA (Java Persistence API)
D. JNDI
16. Trong Java Web, thuật ngữ `ServletContext` dùng để chỉ điều gì?
A. Một đối tượng đại diện cho cấu hình của một servlet.
B. Một đối tượng đại diện cho toàn bộ ứng dụng web, cho phép các servlet và JSP chia sẻ thông tin.
C. Một đối tượng dùng để quản lý các session của người dùng.
D. Một đối tượng dùng để tạo ra các cookie.
17. Annotation nào trong Spring Framework được sử dụng để inject một bean vào một class?
A. @Component
B. @Bean
C. @Autowired
D. @Service
18. Session được lưu trữ ở đâu?
A. Trên client (trình duyệt)
B. Trên server
C. Trong cookie
D. Trong HTML
19. EL (Expression Language) trong JSP được sử dụng để làm gì?
A. Viết code Java
B. Truy cập dữ liệu và gọi các phương thức từ các Java beans một cách dễ dàng trong JSP
C. Định nghĩa các custom tags
D. Quản lý cơ sở dữ liệu
20. Thành phần nào trong Spring MVC chịu trách nhiệm ánh xạ các request đến các phương thức xử lý?
A. ViewResolver
B. HandlerMapping
C. Controller
D. Model
21. Trong ngữ cảnh của microservices, API Gateway có vai trò gì?
A. Lưu trữ dữ liệu cho tất cả các microservices.
B. Cung cấp một điểm truy cập duy nhất cho tất cả các microservices, xử lý routing, authentication, và authorization.
C. Quản lý vòng đời của các microservices.
D. Giám sát hiệu suất của các microservices.
22. Servlet container có vai trò gì?
A. Biên dịch mã Java
B. Cung cấp môi trường runtime cho servlets, quản lý lifecycle của servlets và xử lý các request từ client
C. Quản lý cơ sở dữ liệu
D. Xử lý các giao dịch tài chính
23. WebSocket là gì và nó khác biệt như thế nào so với HTTP?
A. Một phiên bản nâng cấp của giao thức HTTP.
B. Một giao thức truyền thông song công (full-duplex) cho phép giao tiếp real-time giữa client và server, khác với HTTP là giao thức request-response.
C. Một giao thức để truyền tải video streaming.
D. Một phương pháp để mã hóa dữ liệu.
24. Phương thức nào của HttpServlet được gọi khi server nhận được một HTTP POST request?
A. doGet()
B. doPost()
C. service()
D. init()
25. Trong Spring Framework, dependency injection (DI) là gì?
A. Một cách để tạo ra các đối tượng
B. Một kỹ thuật mà các dependencies của một đối tượng được cung cấp cho đối tượng đó, thay vì đối tượng tự tạo ra chúng
C. Một cách để quản lý các transactions
D. Một cách để cấu hình cơ sở dữ liệu
26. Thẻ nào được sử dụng để nhúng Java code trực tiếp vào trang JSP?
A. <%-- --%>
B.
C. <% %>
D.
27. REST (Representational State Transfer) là gì?
A. Một ngôn ngữ lập trình
B. Một architectural style để xây dựng các web services sử dụng HTTP
C. Một loại cơ sở dữ liệu
D. Một giao thức mạng
28. AOP (Aspect-Oriented Programming) là gì?
A. Một ngôn ngữ lập trình
B. Một paradigm lập trình cho phép modular hóa các cross-cutting concerns
C. Một loại cơ sở dữ liệu
D. Một giao thức mạng
29. Server-Sent Events (SSE) là gì và nó được sử dụng khi nào thì phù hợp?
A. Một giao thức truyền thông song công (full-duplex).
B. Một công nghệ cho phép server push dữ liệu đến client một chiều (one-way), phù hợp khi client chỉ cần nhận cập nhật từ server mà không cần gửi request thường xuyên.
C. Một phương pháp để nén dữ liệu.
D. Một giao thức để mã hóa dữ liệu.
30. Phương thức nào của HttpServlet được gọi khi server nhận được một HTTP GET request?
A. doPost()
B. doGet()
C. service()
D. init()