1. JSON là gì?
A. Một ngôn ngữ lập trình
B. Một định dạng dữ liệu để trao đổi dữ liệu giữa các ứng dụng
C. Một loại cơ sở dữ liệu
D. Một giao thức mạng
2. Cookie được lưu trữ ở đâu?
A. Trên server
B. Trên client (trình duyệt)
C. Trong session
D. Trong cơ sở dữ liệu
3. Thành phần nào trong Spring Boot giúp tự động cấu hình ứng dụng dựa trên các dependencies có sẵn?
A. Spring Data
B. Spring Security
C. Spring Autoconfigure
D. Spring Actuator
4. CSRF (Cross-Site Request Forgery) là gì?
A. Một loại tấn công từ chối dịch vụ (DoS)
B. Một loại tấn công mà kẻ tấn công lừa người dùng thực hiện các hành động không mong muốn trên một ứng dụng web mà họ đã đăng nhập
C. Một loại tấn công SQL injection
D. Một loại tấn công XSS
5. API Gateway là gì và nó được sử dụng để làm gì trong kiến trúc Microservices?
A. Một công cụ để quản lý cơ sở dữ liệu
B. Một điểm vào duy nhất cho tất cả các yêu cầu từ client đến các microservice, giúp định tuyến yêu cầu, xác thực và ủy quyền, và thực hiện các chức năng khác như rate limiting và caching
C. Một công cụ để kiểm tra hiệu suất ứng dụng
D. Một công cụ để tạo giao diện người dùng
6. Hibernate là một implementation của công nghệ nào?
A. JPA (Java Persistence API)
B. Servlet API
C. JMS (Java Message Service)
D. JDBC (Java Database Connectivity)
7. ORM (Object-Relational Mapping) là gì?
A. Một kỹ thuật để tối ưu hóa truy vấn SQL
B. Một kỹ thuật để ánh xạ các đối tượng trong ứng dụng với các bảng trong cơ sở dữ liệu
C. Một kỹ thuật để tạo ra các API RESTful
D. Một kỹ thuật để quản lý session
8. AOP (Aspect-Oriented Programming) là gì?
A. Một kỹ thuật để lập trình hướng đối tượng
B. Một kỹ thuật để xử lý các vấn đề cắt ngang (cross-cutting concerns) như logging và security
C. Một kỹ thuật để tối ưu hóa truy vấn cơ sở dữ liệu
D. Một kỹ thuật để quản lý transaction
9. Để cấu hình một datasource trong Spring, bạn thường sử dụng class nào?
A. DriverManagerDataSource
B. SimpleDriverDataSource
C. BasicDataSource
D. All of the above
10. Maven và Gradle là gì?
A. Các IDE (Integrated Development Environment)
B. Các build tool (công cụ xây dựng)
C. Các framework web
D. Các hệ quản trị cơ sở dữ liệu
11. REST là gì?
A. Một ngôn ngữ lập trình
B. Một giao thức truyền tải dữ liệu
C. Một kiểu kiến trúc phần mềm để xây dựng các dịch vụ web
D. Một loại cơ sở dữ liệu
12. Session được lưu trữ ở đâu?
A. Trên client (trình duyệt)
B. Trên server
C. Trong cookie
D. Trong cơ sở dữ liệu
13. 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()
14. Phương thức HTTP nào thường được sử dụng để lấy dữ liệu từ server?
A. POST
B. PUT
C. DELETE
D. GET
15. Trong JPA, annotation nào được sử dụng để đánh dấu một field là primary key?
A. @Column
B. @Id
C. @GeneratedValue
D. @Entity
16. Message Queue (Hàng đợi tin nhắn) được sử dụng để làm gì?
A. Để lưu trữ dữ liệu
B. Để giao tiếp bất đồng bộ giữa các ứng dụng
C. Để quản lý session
D. Để xác thực người dùng
17. Ưu điểm của việc sử dụng framework như Spring MVC là gì?
A. Giảm sự phức tạp của việc phát triển web
B. Tăng tốc độ phát triển
C. Cung cấp cấu trúc và các thành phần tái sử dụng
D. Tất cả các đáp án trên
18. Công nghệ nào cho phép bạn thực hiện các cuộc gọi AJAX (Asynchronous JavaScript and XML)?
A. Servlet
B. JSP
C. XMLHttpRequest
D. EJB
19. Dependency Injection (DI) là gì?
A. Một kỹ thuật để tạo ra các đối tượng
B. Một design pattern trong đó các dependencies được cung cấp cho một đối tượng thay vì đối tượng đó tự tạo ra chúng
C. Một kỹ thuật để tối ưu hóa hiệu suất
D. Một kỹ thuật để quản lý session
20. JSP (JavaServer Pages) được biên dịch thành cái gì trước khi thực thi?
A. Servlet
B. Applet
C. EJB
D. JavaScript
21. Annotation nào trong Spring Framework được sử dụng để đánh dấu một class là một Controller?
A. @Service
B. @Repository
C. @Component
D. @Controller
22. WebSocket là gì?
A. Một giao thức truyền tải dữ liệu một chiều
B. Một giao thức truyền tải dữ liệu hai chiều, full-duplex giữa client và server
C. Một loại cơ sở dữ liệu
D. Một ngôn ngữ lập trình
23. Microservices là gì?
A. Một kiến trúc phần mềm trong đó ứng dụng được cấu trúc như một tập hợp các dịch vụ nhỏ, độc lập, giao tiếp với nhau thông qua các API
B. Một loại cơ sở dữ liệu nhỏ
C. Một ngôn ngữ lập trình mới
D. Một công cụ để kiểm tra hiệu suất ứng dụng
24. Thành phần nào của Java EE cung cấp các dịch vụ quản lý transaction?
A. Servlet
B. JSP
C. JTA (Java Transaction API)
D. JMS (Java Message Service)
25. 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à tương tác với cơ sở dữ liệu?
A. View
B. Model
C. Controller
D. DispatcherServlet
26. Spring Data JPA giúp làm gì?
A. Cung cấp các abstraction để truy cập dữ liệu bằng JPA
B. Cung cấp các công cụ để bảo mật ứng dụng
C. Cung cấp các công cụ để giám sát ứng dụng
D. Cung cấp các công cụ để tạo giao diện người dùng
27. Trong Spring Security, thành phần nào chịu trách nhiệm xác thực người dùng?
A. PasswordEncoder
B. UserDetailsService
C. AuthenticationManager
D. AccessDecisionManager
28. Docker được sử dụng để làm gì?
A. Để quản lý cơ sở dữ liệu
B. Để containerize ứng dụng, giúp đóng gói và triển khai ứng dụng một cách dễ dàng và nhất quán
C. Để tạo giao diện người dùng
D. Để kiểm tra hiệu suất ứng dụng
29. XSS (Cross-Site Scripting) là gì?
A. Một loại tấn công từ chối dịch vụ (DoS)
B. Một loại tấn công mà kẻ tấn công chèn các đoạn mã độc hại vào các trang web được xem bởi người dùng khác
C. Một loại tấn công SQL injection
D. Một loại tấn công CSRF
30. Kubernetes là gì?
A. Một hệ điều hành
B. Một nền tảng orchestration container, giúp quản lý và triển khai các container trên quy mô lớn
C. Một ngôn ngữ lập trình
D. Một loại cơ sở dữ liệu