1. Trong Servlet, phương thức nào được gọi đầu tiên khi Servlet được khởi tạo?
A. service()
B. doGet()
C. init()
D. destroy()
2. Session trong Java Web được sử dụng để làm gì?
A. Lưu trữ thông tin cấu hình ứng dụng
B. Lưu trữ thông tin người dùng giữa các request
C. Định nghĩa các route cho ứng dụng
D. Xử lý các exception trong ứng dụng
3. Trong ngữ cảnh của bảo mật web, CORS (Cross-Origin Resource Sharing) là gì?
A. Một kỹ thuật để tăng tốc độ tải trang.
B. Một cơ chế để cho phép hoặc từ chối các request từ các origin khác nhau.
C. Một phương pháp để mã hóa dữ liệu truyền trên mạng.
D. Một công cụ để kiểm tra bảo mật ứng dụng web.
4. ViewState trong ASP.NET tương đương với cơ chế nào trong Java Web để duy trì trạng thái giữa các request?
A. Cookie
B. Session
C. Application Scope
D. Request Scope
5. Annotation nào của Spring Framework được sử dụng để đánh dấu một class là một Controller?
A. @Service
B. @Component
C. @Controller
D. @Repository
6. Trong Java Web, cơ chế nào được sử dụng để xử lý các exception một cách tập trung?
A. Filter
B. Servlet
C. Error Page và Exception Handler
D. Listener
7. Trong Java Web, scope nào có thời gian tồn tại ngắn nhất?
A. Application Scope
B. Session Scope
C. Request Scope
D. Page Scope
8. Ưu điểm chính của việc sử dụng microservices so với kiến trúc monolithic trong phát triển ứng dụng web Java là gì?
A. Dễ dàng triển khai và mở rộng độc lập các thành phần.
B. Hiệu suất cao hơn do ít overhead hơn.
C. Dễ dàng quản lý code hơn do codebase nhỏ hơn.
D. Chi phí phát triển thấp hơn.
9. JSON Web Token (JWT) thường được sử dụng để làm gì trong ứng dụng web?
A. Lưu trữ dữ liệu phiên (session) trên server.
B. Xác thực và ủy quyền người dùng.
C. Tăng tốc độ tải trang.
D. Phân tích hành vi người dùng.
10. JSP (JavaServer Pages) được biên dịch thành Servlet trước khi thực thi, vậy thành phần nào thực hiện việc biên dịch này?
A. JVM (Java Virtual Machine)
B. JSP Engine (thường là một phần của Web Server)
C. JRE (Java Runtime Environment)
D. IDE (Integrated Development Environment)
11. Công cụ nào thường được sử dụng để quản lý dependencies và build project Java, đặc biệt là trong các dự án web lớn?
A. Git
B. Maven hoặc Gradle
C. Docker
D. Jenkins
12. 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
13. Annotation nào trong Spring Data JPA được sử dụng để đánh dấu một interface là một repository?
A. @Entity
B. @Table
C. @Repository
D. @Component
14. ORM (Object-Relational Mapping) là gì và nó giúp ích gì trong phát triển ứng dụng web Java?
A. Một kỹ thuật nén dữ liệu để giảm dung lượng lưu trữ.
B. Một framework để xây dựng giao diện người dùng.
C. Một kỹ thuật ánh xạ dữ liệu giữa các đối tượng trong code và các bảng trong cơ sở dữ liệu.
D. Một giao thức để truyền dữ liệu giữa client và server.
15. Thư viện nào của Java thường được sử dụng để phân tích cú pháp (parse) và tạo (generate) JSON?
A. Hibernate
B. Jackson
C. Spring MVC
D. JUnit
16. Trong ngữ cảnh của RESTful API, phương thức HTTP nào thường được sử dụng để cập nhật một resource đã tồn tại?
A. GET
B. POST
C. PUT
D. DELETE
17. Trong Java Web Application, file nào chứa các cấu hình deployment descriptor, định nghĩa các servlet, filter, listener?
A. pom.xml
B. web.xml
C. application.properties
D. index.html
18. Thư viện nào của Java được sử dụng để logging (ghi log) thông tin ứng dụng?
A. JUnit
B. Jackson
C. Log4j hoặc SLF4J
D. Hibernate
19. Phương thức nào của interface HttpServletRequest được sử dụng để lấy giá trị của một parameter từ request?
A. getParameter()
B. getAttribute()
C. getRequestDispatcher()
D. getSession()
20. Trong Spring MVC, annotation nào được sử dụng để ánh xạ một HTTP request đến một phương thức xử lý trong Controller?
A. @Autowired
B. @RequestMapping
C. @Service
D. @Repository
21. Trong Spring Security, thành phần nào chịu trách nhiệm xác thực (authentication) người dùng?
A. PasswordEncoder
B. AuthenticationManager
C. UserDetailsService
D. AccessDecisionManager
22. Một ứng dụng web Java sử dụng WebSocket để làm gì?
A. Tạo giao diện người dùng động.
B. Thiết lập kết nối full-duplex giữa client và server.
C. Lưu trữ dữ liệu người dùng.
D. Tăng tốc độ tải trang.
23. Load balancing có vai trò gì trong một ứng dụng web Java có lượng truy cập lớn?
A. Tăng tốc độ tải trang.
B. Phân phối traffic đến nhiều server để tránh quá tải.
C. Bảo vệ ứng dụng khỏi tấn công DDoS.
D. Tối ưu hóa cơ sở dữ liệu.
24. Phương thức nào của đối tượng HttpServletResponse được sử dụng để thiết lập Content Type của response?
A. getWriter()
B. getOutputStream()
C. setContentType()
D. setHeader()
25. Công nghệ nào cho phép thực hiện các request đến server một cách bất đồng bộ, cải thiện trải nghiệm người dùng bằng cách không cần tải lại toàn bộ trang?
A. JDBC
B. Servlet
C. AJAX
D. JMS
26. JSTL (JavaServer Pages Standard Tag Library) cung cấp các tag để làm gì?
A. Tạo các hiệu ứng animation cho trang web.
B. Truy cập cơ sở dữ liệu trực tiếp từ trang JSP.
C. Thực hiện các tác vụ phổ biến như lặp, điều kiện, định dạng dữ liệu trong JSP.
D. Định nghĩa các CSS style cho trang web.
27. Công nghệ nào của Java EE cho phép tạo ra các Enterprise JavaBeans (EJBs), là các thành phần server-side có thể tái sử dụng?
A. Servlet
B. JSP
C. EJB
D. JPA
28. Trong Spring, IoC (Inversion of Control) container có vai trò gì?
A. Quản lý vòng đời của các bean và inject dependencies.
B. Xử lý các request HTTP.
C. Kết nối đến cơ sở dữ liệu.
D. Định nghĩa các route cho ứng dụng.
29. Trong Java Web, Filter được sử dụng để làm gì?
A. Tạo giao diện người dùng.
B. Xử lý các request trước khi chúng đến Servlet và response trước khi chúng đến client.
C. Kết nối đến cơ sở dữ liệu.
D. Quản lý session người dùng.
30. CSRF (Cross-Site Request Forgery) là một loại tấn công bảo mật web. Cơ chế phòng chống CSRF thường sử dụng?
A. Mã hóa dữ liệu
B. Xác thực hai yếu tố
C. Synchronizer Token Pattern
D. Kiểm soát truy cập dựa trên vai trò