1. Connection pooling trong JDBC giúp cải thiện hiệu năng ứng dụng web Java như thế nào?
A. Tăng tốc độ xử lý logic nghiệp vụ
B. Giảm thời gian tạo và đóng kết nối cơ sở dữ liệu
C. Cải thiện bảo mật ứng dụng
D. Đơn giản hóa việc triển khai ứng dụng
2. Deployment descriptor (web.xml) trong ứng dụng web Java dùng để làm gì (trong các phiên bản cũ hơn)?
A. Định nghĩa cấu hình deployment của ứng dụng web (servlets, filters, listeners)
B. Cấu hình cơ sở dữ liệu
C. Cấu hình bảo mật
D. Cấu hình logging
3. CSRF (Cross-Site Request Forgery) là loại tấn công web như thế nào?
A. Tấn công chèn mã độc vào trang web
B. Tấn công giả mạo request từ người dùng đã xác thực
C. Tấn công từ chối dịch vụ
D. Tấn công brute-force password
4. Cơ chế bảo mật nào sau đây thường được sử dụng để xác thực người dùng trong ứng dụng web Java?
A. CORS (Cross-Origin Resource Sharing)
B. OAuth 2.0
C. CSRF (Cross-Site Request Forgery)
D. XSS (Cross-Site Scripting)
5. Phương thức HTTP PUT thường được sử dụng cho mục đích gì trong RESTful API?
A. Lấy thông tin resource
B. Tạo mới resource
C. Cập nhật toàn bộ resource
D. Xóa resource
6. RESTful API thường sử dụng định dạng dữ liệu nào để trao đổi thông tin giữa client và server?
A. XML
B. JSON
C. CSV
D. HTML
7. Ưu điểm của kiến trúc Microservices so với kiến trúc Monolithic là gì?
A. Dễ triển khai và quản lý hơn
B. Khả năng mở rộng và độc lập trong triển khai từng service
C. Hiệu năng cao hơn cho toàn bộ ứng dụng
D. Dễ dàng phát triển front-end hơn
8. Dependency Injection (DI) trong Spring Framework giúp đạt được điều gì?
A. Tăng hiệu suất ứng dụng
B. Giảm sự phụ thuộc giữa các component và tăng tính module hóa
C. Tự động tạo giao diện người dùng
D. Quản lý kết nối cơ sở dữ liệu
9. Thẻ `<% … %>` trong JSP được gọi là gì và dùng để làm gì?
A. Declaration tag, khai báo biến
B. Expression tag, hiển thị giá trị
C. Scriptlet tag, chứa mã Java
D. Directive tag, chỉ thị cho JSP container
10. Session trong ứng dụng web Java thường được sử dụng để làm gì?
A. Lưu trữ dữ liệu cấu hình ứng dụng
B. Lưu trữ thông tin trạng thái của người dùng giữa các request
C. Xử lý lỗi và exception
D. Tối ưu hiệu năng ứng dụng
11. Phương thức HTTP nào thường được sử dụng để tạo mới một resource trên server trong RESTful API?
A. GET
B. POST
C. PUT
D. DELETE
12. JWT (JSON Web Token) thường được sử dụng cho mục đích gì trong ứng dụng web Java?
A. Mã hóa dữ liệu
B. Xác thực và ủy quyền người dùng
C. Lưu trữ session
D. Tối ưu hiệu năng
13. Công nghệ ORM (Object-Relational Mapping) giúp giải quyết vấn đề gì trong phát triển ứng dụng web với Java?
A. Quản lý session người dùng
B. Ánh xạ giữa đối tượng trong Java và bảng dữ liệu trong cơ sở dữ liệu quan hệ
C. Xây dựng giao diện người dùng
D. Triển khai ứng dụng lên server
14. Annotation nào trong Spring MVC được sử dụng để ánh xạ một phương thức trong controller với một HTTP GET request?
A. @PostMapping
B. @PutMapping
C. @DeleteMapping
D. @GetMapping
15. Thư viện nào của JavaScript thường được sử dụng để xây dựng giao diện người dùng (UI) động và tương tác trong ứng dụng web Java?
A. JDBC
B. JPA
C. ReactJS
D. Servlet
16. Annotation `@Autowired` trong Spring Framework được sử dụng để làm gì?
A. Định nghĩa một bean
B. Thực hiện dependency injection
C. Ánh xạ URL request
D. Xác thực người dùng
17. CORS (Cross-Origin Resource Sharing) là cơ chế bảo mật trình duyệt web để làm gì?
A. Ngăn chặn tấn công CSRF
B. Cho phép hoặc từ chối các request cross-origin (từ domain khác)
C. Bảo vệ chống lại XSS
D. Xác thực người dùng
18. Thành phần nào của Spring Security chịu trách nhiệm xác định xem người dùng có quyền truy cập vào một resource cụ thể hay không (Authorization)?
A. AuthenticationManager
B. PasswordEncoder
C. AuthorizationManager (hoặc AccessDecisionManager)
D. UserDetails Service
19. JPA (Java Persistence API) là gì?
A. Một framework web của Java
B. Một đặc tả kỹ thuật cho ORM trong Java EE
C. Một thư viện JavaScript cho front-end
D. Một server ứng dụng Java
20. Annotation `@RestController` trong Spring MVC kết hợp chức năng của annotation nào?
A. @Controller và @Service
B. @Controller và @ResponseBody
C. @Controller và @Component
D. @Controller và @RequestMapping
21. Ưu điểm chính của việc sử dụng Servlet container (ví dụ: Tomcat) là gì?
A. Tăng tốc độ xử lý front-end
B. Cung cấp môi trường runtime cho Servlet và quản lý vòng đời Servlet
C. Đơn giản hóa việc thiết kế giao diện người dùng
D. Tự động tạo cơ sở dữ liệu
22. Listener trong Servlet container được sử dụng để làm gì?
A. Định tuyến request đến Servlet
B. Lắng nghe các sự kiện trong container (ví dụ: khởi động, shutdown)
C. Xử lý lỗi
D. Tối ưu hiệu năng
23. Filter trong Servlet được sử dụng để làm gì?
A. Xử lý logic nghiệp vụ chính
B. Chặn và tiền∕hậu xử lý request và response
C. Tạo giao diện người dùng
D. Quản lý session
24. Trong Spring Framework, IoC (Inversion of Control) container chịu trách nhiệm chính cho việc gì?
A. Xử lý yêu cầu HTTP
B. Quản lý vòng đời của bean và dependency injection
C. Định tuyến URL đến controller
D. Xác thực và phân quyền người dùng
25. Spring Data JPA giúp đơn giản hóa thao tác nào trong ứng dụng web Java?
A. Xử lý request HTTP
B. Tương tác với cơ sở dữ liệu thông qua JPA
C. Xây dựng giao diện người dùng
D. Triển khai ứng dụng
26. 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 dữ liệu?
A. View
B. Controller
C. Model
D. DispatcherServlet
27. Trong kiến trúc RESTful, 'stateless′ có nghĩa là gì?
A. Server không lưu trữ trạng thái phiên của client giữa các request
B. Client không cần duy trì trạng thái
C. Dữ liệu truyền đi không được mã hóa
D. Kết nối giữa client và server luôn được duy trì
28. Spring Boot Actuator được sử dụng để làm gì trong ứng dụng Spring Boot?
A. Tạo giao diện người dùng
B. Cung cấp các endpoints giám sát và quản lý ứng dụng
C. Quản lý database schema
D. Xử lý bảo mật
29. Hibernate là một implementation phổ biến của công nghệ nào trong Java?
A. Servlet
B. JSP
C. JPA (Java Persistence API)
D. JDBC
30. Công nghệ nào của Java EE cung cấp khả năng tạo trang web động, nơi mã Java có thể được nhúng trực tiếp vào trang HTML?
A. Servlet
B. JSP (JavaServer Pages)
C. EJB (Enterprise JavaBeans)
D. JDBC (Java Database Connectivity)