1. Từ khóa nào sau đây được sử dụng để khai báo một hằng số trong Java?
A. static
B. const
C. final
D. immutable
2. Trong Java, phương thức nào sau đây được sử dụng để chuyển đổi một chuỗi thành một số nguyên?
A. String.parseInt()
B. Integer.parseInt()
C. String.valueOf()
D. Integer.valueOf()
3. Kiểu dữ liệu nào sau đây KHÔNG phải là kiểu dữ liệu nguyên thủy (primitive data type) trong Java?
A. int
B. float
C. String
D. boolean
4. Trong Java, khái niệm lambda expression được giới thiệu từ phiên bản nào?
A. Java 5
B. Java 6
C. Java 7
D. Java 8
5. Trong Java, Unit test là gì?
A. Một phương pháp kiểm thử từng đơn vị (unit) nhỏ nhất của mã nguồn
B. Một phương pháp kiểm thử toàn bộ hệ thống
C. Một phương pháp kiểm thử giao diện người dùng
D. Một phương pháp kiểm thử hiệu suất
6. Phương thức nào sau đây được gọi tự động khi một đối tượng được tạo ra trong Java?
A. finalize()
B. create()
C. Constructor
D. init()
7. Trong Java, từ khóa `synchronized` được sử dụng để làm gì?
A. Đồng bộ hóa các thread để tránh xung đột tài nguyên
B. Tạo một thread mới
C. Kết thúc một thread
D. Kiểm tra xem một thread có còn sống hay không
8. Trong Java, cơ chế nào cho phép một lớp kế thừa các thuộc tính và phương thức của một lớp khác?
A. Đóng gói (Encapsulation)
B. Kế thừa (Inheritance)
C. Đa hình (Polymorphism)
D. Trừu tượng (Abstraction)
9. Trong Java, đặc điểm nào sau đây KHÔNG phải là một tính chất của lập trình hướng đối tượng (OOP)?
A. Tính đa hình (Polymorphism)
B. Tính trừu tượng (Abstraction)
C. Tính đóng gói (Encapsulation)
D. Tính toàn cục (Globality)
10. Trong Java, annotation nào được sử dụng để đánh dấu một phương thức là ghi đè (override) một phương thức từ lớp cha?
A. @Override
B. @Deprecated
C. @SuppressWarnings
D. @FunctionalInterface
11. Trong Java, Garbage Collection (GC) là gì?
A. Một kỹ thuật quản lý bộ nhớ tự động để giải phóng bộ nhớ không còn được sử dụng
B. Một kỹ thuật để tối ưu hóa hiệu suất của chương trình
C. Một kỹ thuật để bảo vệ chương trình khỏi các cuộc tấn công bảo mật
D. Một kỹ thuật để quản lý các thread
12. Trong Java, Collection nào sau đây KHÔNG cho phép chứa các phần tử trùng lặp?
A. List
B. Set
C. ArrayList
D. LinkedList
13. Phương thức nào sau đây được sử dụng để so sánh hai chuỗi trong Java một cách phân biệt chữ hoa chữ thường?
A. equals()
B. equalsIgnoreCase()
C. compareTo()
D. compareToIgnoreCase()
14. Trong Java, phương thức `start()` của một thread có chức năng gì?
A. Bắt đầu thực thi thread trong một luồng mới
B. Tạm dừng thực thi thread
C. Kết thúc thực thi thread
D. Đặt độ ưu tiên cho thread
15. Trong Java, exception nào sau đây là unchecked exception?
A. IOException
B. SQLException
C. NullPointerException
D. ClassNotFoundException
16. Trong Java, lớp nào sau đây được sử dụng để đọc dữ liệu từ một file văn bản?
A. FileOutputStream
B. FileInputStream
C. BufferedReader
D. ObjectOutputStream
17. Trong Java, JPA (Java Persistence API) là gì?
A. Một đặc tả kỹ thuật để quản lý dữ liệu trong các ứng dụng Java
B. Một framework để phát triển giao diện người dùng
C. Một thư viện để xử lý ảnh
D. Một công cụ để kiểm thử chương trình
18. Trong Java, thuật ngữ nào mô tả quá trình chuyển đổi một đối tượng thành một chuỗi byte để lưu trữ hoặc truyền tải?
A. Serialization
B. Abstraction
C. Encapsulation
D. Polymorphism
19. Trong Java, phương thức `hashCode()` được sử dụng để làm gì?
A. Trả về một mã hash code cho đối tượng
B. So sánh hai đối tượng
C. In ra thông tin về đối tượng
D. Giải phóng bộ nhớ của đối tượng
20. Trong Java, Dependency Injection (DI) là gì?
A. Một design pattern cho phép giảm sự phụ thuộc giữa các class
B. Một kỹ thuật để tăng hiệu suất của chương trình
C. Một kỹ thuật để bảo vệ chương trình khỏi các cuộc tấn công bảo mật
D. Một kỹ thuật để quản lý các thread
21. Trong Java, cấu trúc dữ liệu nào sau đây hoạt động theo nguyên tắc LIFO (Last In, First Out)?
A. Queue
B. Stack
C. List
D. Set
22. Trong Java, từ khóa nào được sử dụng để xử lý các exception?
A. try-catch
B. if-else
C. loop
D. switch
23. Interface trong Java có thể chứa những gì?
A. Chỉ các phương thức trừu tượng (abstract methods)
B. Chỉ các biến static final
C. Các phương thức trừu tượng và các biến static final
D. Các phương thức đã được triển khai và các biến thông thường
24. Trong Java, thuật ngữ "reflection" đề cập đến khả năng gì?
A. Khả năng kiểm tra và sửa đổi cấu trúc và hành vi của một lớp tại thời gian chạy
B. Khả năng tạo ra các đối tượng mới
C. Khả năng quản lý bộ nhớ
D. Khả năng thực hiện các phép toán số học
25. Trong Java, Stream API được sử dụng để làm gì?
A. Xử lý dữ liệu theo kiểu hàm (functional)
B. Tạo giao diện người dùng
C. Quản lý cơ sở dữ liệu
D. Kiểm thử chương trình