1. Transaction management trong ứng dụng web Java đảm bảo tính chất ACID. ACID là viết tắt của?
A. Atomicity, Consistency, Isolation, Durability
B. Authorization, Confidentiality, Integrity, Data integrity
C. Availability, Capacity, Integrity, Durability
D. Authentication, Consistency, Isolation, Decryption
2. Design pattern Singleton thường được sử dụng để giải quyết vấn đề gì?
A. Tạo nhiều instance của một class
B. Đảm bảo chỉ có một instance duy nhất của một class
C. Quản lý vòng đời của đối tượng
D. Tăng hiệu suất ứng dụng
3. WebSocket protocol cung cấp kênh giao tiếp nào giữa client và server?
A. Request-Response
B. One-way
C. Full-duplex persistent
D. Half-duplex
4. Container trong ngữ cảnh Java web application (ví dụ: Tomcat, Jetty) cung cấp chức năng chính nào?
A. Biên dịch mã Java
B. Quản lý vòng đời Servlet và JSP
C. Quản lý cơ sở dữ liệu
D. Xây dựng giao diện người dùng
5. Thư viện nào của Java thường được sử dụng để parsing XML?
A. Jackson
B. Gson
C. JAXB
D. Log4j
6. CSRF (Cross-Site Request Forgery) là loại tấn công web nào?
A. Tấn công từ chối dịch vụ
B. Tấn công chèn mã SQL
C. Tấn công giả mạo yêu cầu
D. Tấn công XSS
7. Servlet trong Java Web được sử dụng để làm gì?
A. Định nghĩa giao diện người dùng
B. Xử lý các yêu cầu HTTP và trả về phản hồi
C. Quản lý kết nối cơ sở dữ liệu
D. Xây dựng tầng Model trong MVC
8. ORM (Object-Relational Mapping) framework như Hibernate giải quyết vấn đề gì trong phát triển ứng dụng Java?
A. Quản lý phiên làm việc người dùng
B. Xử lý yêu cầu HTTP bất đồng bộ
C. Ánh xạ giữa đối tượng Java và bảng cơ sở dữ liệu
D. Tạo giao diện người dùng web
9. XSS (Cross-Site Scripting) vulnerability xảy ra khi nào?
A. Khi server bị quá tải yêu cầu
B. Khi ứng dụng không xác thực đầu vào người dùng
C. Khi cơ sở dữ liệu bị tấn công
D. Khi session bị đánh cắp
10. JDBC (Java Database Connectivity) API được sử dụng để làm gì?
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. Quản lý phiên làm việc người dùng
D. Triển khai web services
11. Thẻ JSTL `` được sử dụng để làm gì trong JSP?
A. Thực hiện điều kiện rẽ nhánh
B. Lặp qua một tập hợp dữ liệu
C. Nhúng mã Java vào trang JSP
D. Xử lý lỗi trong trang JSP
12. Asynchronous programming trong Java web application (ví dụ: sử dụng CompletableFuture) giúp cải thiện điều gì?
A. Bảo mật ứng dụng
B. Hiệu suất và khả năng phản hồi của ứng dụng
C. Độ tin cậy của dữ liệu
D. Khả năng mở rộng cơ sở dữ liệu
13. Server-Sent Events (SSE) là một công nghệ cho phép server gửi dữ liệu đến client theo chiều nào?
A. Client-to-Server
B. Server-to-Client
C. Bi-directional
D. Peer-to-Peer
14. Dependency Injection (DI) trong Spring Framework giúp đạt được mục tiêu chính nào?
A. Tăng hiệu suất ứng dụng
B. Giảm sự phụ thuộc giữa các component
C. Đơn giản hóa cấu hình cơ sở dữ liệu
D. Tăng cường bảo mật ứng dụng
15. RESTful web services thường sử dụng định dạng dữ liệu nào để trao đổi?
A. XML
B. SOAP
C. JSON
D. HTML
16. Annotation `@ResponseBody` trong Spring MVC có tác dụng gì?
A. Xác định HTTP method cho handler
B. Chuyển đổi giá trị trả về của method thành response body
C. Đánh dấu một method là handler cho request
D. Xác định view name trả về
17. JPA (Java Persistence API) cung cấp các annotation để mapping entity class với bảng cơ sở dữ liệu. Annotation nào dùng để chỉ định primary key của entity?
A. @Entity
B. @Table
C. @Id
D. @GeneratedValue
18. Session trong web application được lưu trữ ở đâu?
A. Trình duyệt web của người dùng
B. Server
C. Cơ sở dữ liệu
D. Bộ nhớ cache của client
19. Kiểu test nào tập trung vào việc kiểm tra giao diện người dùng và trải nghiệm người dùng của ứng dụng web?
A. Unit test
B. Integration test
C. UI test (End-to-End test)
D. Performance test
20. OAuth 2.0 là một framework phổ biến cho mục đích gì trong ứng dụng web?
A. Mã hóa dữ liệu
B. Ủy quyền truy cập (Authorization)
C. Xác thực người dùng (Authentication)
D. Ngăn chặn tấn công DDoS
21. Annotation nào trong Spring Framework được sử dụng để đánh dấu một class là Controller?
A. @Service
B. @Component
C. @Repository
D. @Controller
22. 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
23. JSP (JavaServer Pages) được biên dịch thành loại nào trước khi thực thi?
A. HTML tĩnh
B. Servlet
C. Applet
D. JavaScript
24. Trong ngữ cảnh microservices, API Gateway đóng vai trò gì?
A. Cơ sở dữ liệu trung tâm
B. Điểm vào duy nhất cho client đến các microservices
C. Message broker
D. Service discovery
25. Maven hoặc Gradle là công cụ gì trong phát triển ứng dụng Java?
A. IDE
B. Build tool và dependency management
C. Web server
D. Database
26. Trong ngữ cảnh bảo mật web, 'salt′ được sử dụng để làm gì khi hash password?
A. Tăng tốc độ hashing
B. Ngăn chặn tấn công rainbow table
C. Mã hóa password
D. Giảm dung lượng lưu trữ password
27. HTTP method nào thường được sử dụng để lấy dữ liệu từ server?
A. POST
B. PUT
C. DELETE
D. GET
28. Cookie thường được sử dụng cho mục đích chính nào trong ứng dụng web?
A. Tăng tốc độ tải trang
B. Lưu trữ trạng thái phiên làm việc người dùng
C. Bảo mật thông tin người dùng
D. Xác thực người dùng
29. Load balancing trong kiến trúc web application nhằm mục đích gì?
A. Bảo mật dữ liệu
B. Tăng hiệu suất và khả năng chịu tải
C. Đơn giản hóa triển khai ứng dụng
D. Giảm chi phí phát triển
30. Loại scope nào trong JSP dùng để chia sẻ dữ liệu giữa các trang JSP khác nhau trong cùng một phiên làm việc của người dùng?
A. page
B. request
C. session
D. application