1. JDBC (Java Database Connectivity) được sử dụng để làm gì trong ứng dụng web Java?
A. Xây dựng giao diện người dùng web
B. Kết nối và tương tác với cơ sở dữ liệu
C. Phát triển web services RESTful
D. Quản lý session người dùng
2. Thành phần nào trong Java EE được thiết kế để quản lý logic nghiệp vụ phức tạp và thường chạy trong application server?
A. Servlet
B. JSP
C. Enterprise JavaBeans (EJB)
D. Applet
3. Annotation `@WebServlet` trong Servlet được sử dụng để làm gì?
A. Khai báo một class là một JavaBean
B. Định nghĩa URL pattern mà Servlet sẽ xử lý
C. Khai báo một biến dependency injection
D. Định nghĩa cấu hình bảo mật cho Servlet
4. CSRF (Cross-Site Request Forgery) là một loại tấn công web phổ biến. Cơ chế phòng chống CSRF thường dựa vào điều gì?
A. Mã hóa dữ liệu trên đường truyền
B. Sử dụng Captcha
C. Synchronization token hoặc header tùy chỉnh
D. Kiểm soát truy cập dựa trên IP
5. Trong Java Web Application, session management được sử dụng để làm gì?
A. Quản lý kết nối cơ sở dữ liệu
B. Lưu trữ thông tin trạng thái của người dùng giữa các request
C. Xác thực người dùng
D. Tối ưu hóa hiệu suất ứng dụng
6. Công nghệ nào của Java cho phép tạo ra web services sử dụng XML làm định dạng trao đổi dữ liệu?
A. REST
B. SOAP
C. JSON-RPC
D. Servlet
7. JMS (Java Message Service) được sử dụng để giải quyết vấn đề gì trong kiến trúc ứng dụng web Java?
A. Quản lý giao diện người dùng
B. Giao tiếp asynchronous giữa các thành phần ứng dụng
C. Quản lý phiên người dùng
D. Truy cập cơ sở dữ liệu
8. Trong phát triển ứng dụng web Java, Servlet container (ví dụ: Tomcat) chịu trách nhiệm chính cho điều gì?
A. Quản lý cơ sở dữ liệu
B. Biên dịch mã nguồn Java thành bytecode
C. Cung cấp môi trường runtime cho Servlets và JSPs
D. Xử lý các yêu cầu từ phía client và trả về phản hồi tĩnh
9. RESTful web services thường sử dụng giao thức truyền tải dữ liệu chính nào?
A. SOAP
B. XML-RPC
C. HTTP
D. FTP
10. Mục đích chính của việc sử dụng connection pooling trong ứng dụng web Java là gì?
A. Tăng cường bảo mật kết nối
B. Giảm thời gian thiết lập và đóng kết nối cơ sở dữ liệu
C. Đơn giản hóa việc quản lý transaction
D. Cải thiện khả năng mở rộng ứng dụng
11. Trong mô hình MVC (Model-View-Controller), Controller đảm nhận vai trò gì?
A. Hiển thị dữ liệu cho người dùng
B. Quản lý dữ liệu và logic nghiệp vụ
C. Xử lý yêu cầu người dùng và điều phối tương tác giữa Model và View
D. Định nghĩa giao diện người dùng
12. Thành phần nào trong Java EE chịu trách nhiệm xử lý các tác vụ asynchronous và scheduled jobs?
A. Servlet
B. JSP
C. EJB Timer Service và Concurrency Utilities
D. JSF
13. Dependency Injection (DI) là một nguyên tắc quan trọng trong Spring Framework. Mục đí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 thành phần
C. Đơn giản hóa việc quản lý cơ sở dữ liệu
D. Cải thiện bảo mật ứng dụng
14. JSON (JavaScript Object Notation) thường được sử dụng trong web development cho mục đích gì?
A. Định nghĩa layout trang web
B. Truyền tải dữ liệu giữa server và client (ví dụ: AJAX)
C. Quản lý phiên người dùng
D. Biên dịch mã nguồn Java
15. JPA (Java Persistence API) là một specification trong Java EE dùng để làm gì?
A. Xây dựng giao diện người dùng web
B. Quản lý persistence và ORM trong ứng dụng Java
C. Phát triển web services RESTful
D. Xử lý sự kiện asynchronous
16. ORM (Object-Relational Mapping) framework như Hibernate giúp giải quyết vấn đề gì trong phát triển ứng dụng web Java?
A. Quản lý phiên người dùng
B. Ánh xạ giữa đối tượng trong ứng dụng và bảng trong cơ sở dữ liệu quan hệ
C. Xử lý lỗi và ngoại lệ
D. Tối ưu hóa hiệu suất mạng
17. Trong Spring Framework, `DispatcherServlet` đóng vai trò trung tâm như thế nào trong xử lý request?
A. Thực hiện logic nghiệp vụ
B. Quản lý session người dùng
C. Nhận request và điều phối đến các handlers phù hợp
D. Hiển thị view cho người dùng
18. Trong ngữ cảnh bảo mật web, thuật ngữ 'Same-Origin Policy′ (SOP) đề cập đến điều gì?
A. Chính sách mã hóa dữ liệu
B. Chính sách xác thực người dùng
C. Chính sách giới hạn việc script từ một origin truy cập tài nguyên từ origin khác
D. Chính sách quản lý session
19. Ưu điểm chính của việc sử dụng framework (ví dụ: Spring MVC, Java EE) trong phát triển ứng dụng web Java là gì?
A. Tăng độ phức tạp của dự án
B. Giảm thời gian phát triển và tăng tính tái sử dụng
C. Giới hạn khả năng tùy biến của ứng dụng
D. Yêu cầu kiến thức chuyên sâu về phần cứng
20. Công nghệ nào của Java cho phép tạo ra các trang web động bằng cách nhúng mã Java trực tiếp vào HTML?
A. Servlet
B. JavaServer Pages (JSP)
C. JavaBeans
D. Java Applet
21. Thư viện hoặc framework nào phổ biến trong Java để thực hiện unit testing cho ứng dụng web?
A. Hibernate
B. JUnit
C. Spring MVC
D. JSF
22. WebSockets cung cấp giao tiếp như thế nào giữa client và server so với HTTP truyền thống?
A. Request-Response một chiều
B. Full-duplex, persistent connection
C. Giao tiếp không trạng thái
D. Chỉ server-initiated communication
23. Trong ngữ cảnh RESTful API design, HTTP method nào thường được sử dụng để cập nhật một resource hiện có?
A. GET
B. POST
C. PUT
D. DELETE
24. ClassLoader trong Java Web Application container (ví dụ: Tomcat) có vai trò gì?
A. Quản lý kết nối cơ sở dữ liệu
B. Tải các class và resources của ứng dụng web
C. Biên dịch JSP thành Servlets
D. Phân tích cú pháp file XML cấu hình
25. ViewState trong JSF (JavaServer Faces) được sử dụng để làm gì?
A. Quản lý phiên người dùng trên server
B. Lưu trữ trạng thái của component trên trang giữa các request
C. Xác thực và phân quyền người dùng
D. Tối ưu hóa hiệu suất truy vấn cơ sở dữ liệu
26. ViewState trong JSF được lưu trữ ở đâu theo mặc định?
A. Server-side session
B. Client-side (trong trang HTML)
C. Cơ sở dữ liệu
D. Bộ nhớ cache của trình duyệt
27. Filter trong Servlet được sử dụng để làm gì?
A. Xử lý request sau khi Servlet đã xử lý xong
B. Can thiệp vào quá trình request và response của Servlet
C. Quản lý session người dùng
D. Định tuyến request đến Servlet phù hợp
28. Trong Spring Security, `FilterChain` có vai trò gì?
A. Quản lý quyền truy cập dữ liệu
B. Định nghĩa chuỗi các filter bảo mật được áp dụng cho request
C. Xử lý authentication provider
D. Quản lý session bảo mật
29. Cookie HTTP có thể bị vô hiệu hóa bởi người dùng hoặc trình duyệt. Giải pháp thay thế nào thường được dùng để session tracking khi cookie không khả dụng?
A. Client-side storage (localStorage)
B. URL rewriting
C. Server-side caching
D. IP address tracking
30. Ưu điểm chính của việc sử dụng microservices architecture so với monolithic architecture trong phát triển ứng dụng web Java là gì?
A. Đơn giản hóa việc triển khai và quản lý
B. Tăng độ phức tạp trong phát triển và triển khai
C. Khả năng mở rộng và linh hoạt cao hơn, dễ dàng áp dụng công nghệ mới
D. Giảm chi phí phát triển ban đầu