1. Trong Java Servlet, phương thức nào của interface `Servlet` được gọi đầu tiên và chỉ một lần trong suốt vòng đời của servlet?
A. service()
B. init()
C. destroy()
D. doGet()
2. Thành phần nào của Spring Boot giúp tự động cấu hình ứng dụng dựa trên dependencies trong classpath?
A. Spring Core
B. Spring MVC
C. Spring Data JPA
D. Spring Boot Auto-configuration
3. Kiến trúc Microservices mang lại lợi ích chính nào so với kiến trúc Monolithic trong phát triển ứng dụng web?
A. Giảm chi phí phần cứng
B. Tăng cường bảo mật
C. Khả năng mở rộng và linh hoạt cao hơn
D. Đơn giản hóa quá trình phát triển ban đầu
4. 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
5. JSP (JavaServer Pages) được biên dịch thành loại file nào trước khi thực thi trên server?
A. File HTML
B. File JavaScript
C. File Servlet
D. File CSS
6. Công cụ build tự động phổ biến nào thường được sử dụng trong các dự án Java web để quản lý dependencies và build lifecycle?
A. Ant
B. Maven
C. Gradle
D. Jenkins
7. Annotation `@Autowired` trong Spring Framework được sử dụng để thực hiện điều gì?
A. Định nghĩa một Bean
B. Thực hiện Dependency Injection
C. Xác định một Controller
D. Ánh xạ URL request
8. Trong ngữ cảnh JSP, Expression Language (EL) được sử dụng để làm gì?
A. Viết logic nghiệp vụ phức tạp
B. Truy cập dữ liệu và gọi method của Java beans
C. Định nghĩa cấu trúc trang web
D. Xử lý sự kiện người dùng
9. Trong Spring Boot, profile được sử dụng để làm gì?
A. Quản lý quyền truy cập người dùng
B. Phân tách cấu hình cho các môi trường khác nhau (dev, test, prod)
C. Tối ưu hiệu suất ứng dụng
D. Định nghĩa giao diện người dùng
10. Transaction trong cơ sở dữ liệu đảm bảo tính chất ACID. Chữ 'C′ trong ACID đại diện cho tính chất nào?
A. Concurrency
B. Consistency
C. Caching
D. Correctness
11. Trong lập trình web, CORS (Cross-Origin Resource Sharing) giải quyết vấn đề gì?
A. Bảo mật chống tấn công XSS
B. Cho phép request từ domain khác với domain của server
C. Tăng tốc độ tải trang
D. Quản lý session hiệu quả hơn
12. Trong JSP, implicit object nào được sử dụng để truy cập thông tin về HTTP request hiện tại?
A. session
B. application
C. request
D. response
13. Annotation `@Transactional` trong Spring Framework được sử dụng để quản lý điều gì?
A. Session management
B. Exception handling
C. Database transactions
D. Dependency injection
14. Phương pháp nào sau đây giúp cải thiện hiệu suất của ứng dụng web Java bằng cách giảm số lượng request đến server?
A. Load balancing
B. Caching
C. Database indexing
D. Code minification
15. Design pattern nào sau đây thường được sử dụng để tách biệt việc xây dựng (construction) của một đối tượng phức tạp khỏi biểu diễn (representation) của nó?
A. Singleton
B. Factory
C. Builder
D. Observer
16. Annotation `@Controller` và `@RestController` trong Spring MVC khác nhau chủ yếu ở điểm nào?
A. Về hiệu suất xử lý request
B. Cách xử lý exception
C. Loại response body mặc định
D. Vị trí đặt logic nghiệp vụ
17. Mục đích chính của file `pom.xml` trong dự án Maven Java là gì?
A. Cấu hình server triển khai
B. Quản lý dependencies và build project
C. Định nghĩa giao diện người dùng
D. Cấu hình database connection
18. Thư viện hoặc framework nào phổ biến trong Java để thực hiện ORM (Object-Relational Mapping)?
A. Spring MVC
B. Hibernate
C. Java Servlet
D. JSP
19. Trong Spring Framework, khái niệm 'Dependency Injection′ (DI) 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 database
D. Tự động tạo giao diện người dùng
20. Session trong ứng dụng web thường được sử dụng để làm gì?
A. Tăng tốc độ tải trang
B. Lưu trữ thông tin người dùng giữa các request
C. Quản lý kết nối cơ sở dữ liệu
D. Xác thực người dùng
21. Trong Java, Connection Pool được sử dụng để làm gì khi làm việc với cơ sở dữ liệu?
A. Tăng cường bảo mật kết nối
B. Tái sử dụng kết nối để cải thiện hiệu suất
C. Đơn giản hóa cấu hình kết nối
D. Tự động tạo database schema
22. Loại test nào tập trung vào việc kiểm tra tương tác giữa các module hoặc component khác nhau của ứng dụng?
A. Unit test
B. Integration test
C. System test
D. Acceptance test
23. Trong RESTful API, HTTP method 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
24. Framework nào của Java được thiết kế đặc biệt để xây dựng giao diện người dùng web động và tương tác cao, dựa trên component?
A. Spring MVC
B. JavaServer Faces (JSF)
C. Struts
D. Servlets
25. Trong Spring Security, 'Authentication′ và 'Authorization′ khác nhau như thế nào?
A. Authentication kiểm tra quyền truy cập, Authorization xác thực danh tính
B. Authentication xác thực danh tính, Authorization kiểm tra quyền truy cập
C. Authentication và Authorization là giống nhau
D. Authorization chỉ áp dụng cho API, Authentication cho web page
26. 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
27. Công nghệ nào của Java cung cấp cơ chế publish và subscribe message giữa các ứng dụng một cách asynchronous?
A. Java Database Connectivity (JDBC)
B. Java Message Service (JMS)
C. Java Naming and Directory Interface (JNDI)
D. Java Transaction API (JTA)
28. Trong ngữ cảnh bảo mật web, CSRF (Cross-Site Request Forgery) là loại tấn công nào?
A. Tấn công từ chối dịch vụ (DoS)
B. Tấn công giả mạo request từ người dùng đã xác thực
C. Tấn công SQL Injection
D. Tấn công XSS (Cross-Site Scripting)
29. Công nghệ nào của Java cho phép phát triển các ứng dụng web service theo kiến trúc RESTful?
A. Java Servlet API
B. Java Persistence API (JPA)
C. Java Message Service (JMS)
D. Java API for RESTful Web Services (JAX-RS)
30. Kiểu kiến trúc nào thường được sử dụng cho các ứng dụng web lớn, phức tạp, chia nhỏ ứng dụng thành các phần nhỏ hơn, độc lập, dễ quản lý và phát triển?
A. Monolithic architecture
B. Microservices architecture
C. Layered architecture
D. Client-server architecture