Đề thi, bài tập trắc nghiệm online JavaĐề 3 – Bài tập, đề thi trắc nghiệm online Java Đăng vào 2 Tháng 5, 2026 bởi admin Đề 3 – Bài tập, đề thi trắc nghiệm online Java Đề 3 – Bài tập, đề thi trắc nghiệm online Java Số câu25Quiz ID16487 Làm bài Câu 1 1. Phương thức nào sau đây được gọi tự động khi một đối tượng Java được tạo ra? A A. finalize() B B. create() C C. start() D D. Constructor Câu 2 2. Trong Java, 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)? A A. int B B. boolean C C. String D D. float Câu 3 3. Trong Java, mục đích của Optional là gì? A A. Để thay thế cho việc sử dụng `null` và tránh `NullPointerException`. B B. Để tạo ra các đối tượng không thể thay đổi. C C. Để tăng hiệu suất của chương trình. D D. Để tạo ra các đối tượng có thể so sánh được với nhau. Câu 4 4. 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 từ một lớp khác? A A. Đóng gói (Encapsulation) B B. Đa hình (Polymorphism) C C. Kế thừa (Inheritance) D D. Trừu tượng (Abstraction) Câu 5 5. Trong Java, luồng (stream) là gì? A A. Một kênh giao tiếp giữa hai chương trình. B B. Một chuỗi các ký tự được in ra màn hình. C C. Một chuỗi các phần tử có thể được xử lý theo kiểu hàm (functional). D D. Một loại bộ nhớ đặc biệt để lưu trữ dữ liệu tạm thời. Câu 6 6. Trong Java, interface `Comparable` được sử dụng để làm gì? A A. Để tạo ra các đối tượng có thể so sánh được với nhau. B B. Để tạo ra các đối tượng không thể thay đổi. C C. Để tạo ra các đối tượng có thể lặp qua được. D D. Để tạo ra các đối tượng có thể được serialized. Câu 7 7. Trong Java, mục đích của Dependency Injection (DI) là gì? A A. Để giảm sự phụ thuộc giữa các lớp, làm cho mã dễ kiểm tra và bảo trì hơn. B B. Để tăng sự phụ thuộc giữa các lớp, làm cho mã phức tạp hơn. C C. Để tạo ra các đối tượng không thể thay đổi. D D. Để tăng hiệu suất của chương trình. Câu 8 8. Trong Java, từ khóa nào được sử dụng để chỉ đối tượng hiện tại trong một phương thức hoặc constructor? A A. object B B. this C C. current D D. self Câu 9 9. Trong Java, phát biểu nào sau đây về garbage collection là đúng? A A. Garbage collection là một quá trình thủ công, cần được gọi bởi lập trình viên. B B. Garbage collection tự động giải phóng bộ nhớ không còn được sử dụng bởi chương trình. C C. Garbage collection chỉ hoạt động khi chương trình kết thúc. D D. Garbage collection không tồn tại trong Java. Câu 10 10. Trong Java, JUnit là gì? A A. Một framework để viết unit test. B B. Một công cụ để quản lý dependencies. C C. Một công cụ để build project. D D. Một công cụ để debug code. Câu 11 11. Trong Java, sự khác biệt chính giữa `ArrayList` và `LinkedList` là gì? A A. `ArrayList` sử dụng mảng động, trong khi `LinkedList` sử dụng danh sách liên kết. B B. `ArrayList` cho phép truy cập ngẫu nhiên nhanh hơn, trong khi `LinkedList` cho phép chèn và xóa phần tử nhanh hơn ở giữa danh sách. C C. Cả hai đáp án trên. D D. Không có sự khác biệt, chúng có thể thay thế cho nhau trong mọi trường hợp. Câu 12 12. Trong Java, mục đích của Design Pattern là gì? A A. Để cung cấp các giải pháp đã được kiểm chứng cho các vấn đề thiết kế phần mềm thường gặp. B B. Để tăng tốc độ viết code. C C. Để làm cho code khó đọc hơn. D D. Để tạo ra các đối tượng không thể thay đổi. Câu 13 13. Phương thức `equals()` trong Java được sử dụng để làm gì? A A. So sánh hai đối tượng xem chúng có tham chiếu đến cùng một vùng nhớ hay không. B B. Gán giá trị của một đối tượng cho một đối tượng khác. C C. So sánh nội dung của hai đối tượng để xem chúng có bằng nhau hay không. D D. Kiểm tra xem một đối tượng có phải là một thể hiện của một lớp cụ thể hay không. Câu 14 14. Trong Java, mục đích của từ khóa `synchronized` là gì? A A. Để tạo ra một bản sao của một đối tượng. B B. Để ngăn chặn việc một phương thức bị ghi đè bởi một lớp con. C C. Để điều khiển truy cập đồng thời đến một đoạn mã hoặc một đối tượng. D D. Để chỉ ra rằng một biến là hằng số. Câu 15 15. Đâu là cách khai báo đúng một mảng các số nguyên trong Java? A A. int array[]; B B. array int[]; C C. int[] array; D D. array[] int; Câu 16 16. Trong Java, annotation nào được sử dụng để báo cho compiler rằng một phương thức ghi đè (override) một phương thức từ lớp cha? A A. @Override B B. @OverrideMethod C C. @Overwrites D D. @Inherit Câu 17 17. Trong Java, mục đích chính của từ khóa `static` là gì? A A. Để tạo ra các đối tượng không thể thay đổi. B B. Để khai báo các biến hoặc phương thức thuộc về lớp chứ không phải đối tượng. C C. Để chỉ ra rằng một lớp không thể được kế thừa. D D. Để tạo ra các biến cục bộ trong một phương thức. Câu 18 18. Trong Java, đặc điểm nào sau đây KHÔNG phải là của một interface? A A. Có thể chứa các phương thức trừu tượng (abstract methods). B B. Các biến thành viên (member variables) phải là `final` và `static`. C C. Có thể có các phương thức `default` hoặc `static`. D D. Có thể khởi tạo trực tiếp đối tượng từ interface. Câu 19 19. Trong Java, exception nào sau đây xảy ra khi cố gắng truy cập một phần tử của mảng bằng một chỉ số (index) không hợp lệ? A A. NullPointerException B B. IOException C C. ArrayIndexOutOfBoundsException D D. ClassNotFoundException Câu 20 20. Trong Java, phát biểu nào sau đây về Serialization là đúng? A A. Serialization là quá trình chuyển đổi một đối tượng thành một chuỗi byte để có thể lưu trữ hoặc truyền tải. B B. Serialization là quá trình chuyển đổi một chuỗi byte thành một đối tượng. C C. Serialization là quá trình tạo ra một bản sao của một đối tượng. D D. Serialization là quá trình giải phóng bộ nhớ của một đối tượng. Câu 21 21. Trong Java, sự khác biệt giữa `throw` và `throws` là gì? A A. `throw` dùng để ném một exception, còn `throws` dùng để khai báo một phương thức có thể ném exception. B B. `throw` dùng để khai báo một phương thức có thể ném exception, còn `throws` dùng để ném một exception. C C. Cả hai đều dùng để ném exception. D D. Cả hai đều dùng để khai báo một phương thức có thể ném exception. Câu 22 22. Trong Java, hãy chọn phát biểu đúng về tính bất biến (immutability) của String. A A. String là bất biến, nghĩa là một khi một đối tượng String được tạo ra, giá trị của nó không thể thay đổi. B B. String là bất biến, nghĩa là một khi một đối tượng String được tạo ra, giá trị của nó có thể thay đổi. C C. String là bất biến, nghĩa là nó không thể được kế thừa. D D. String là bất biến, nghĩa là nó không thể được so sánh. Câu 23 23. Trong Java, phát biểu nào sau đây về Lambda Expression là đúng? A A. Lambda Expression là một cách viết ngắn gọn cho một anonymous class chỉ có một phương thức. B B. Lambda Expression chỉ có thể được sử dụng với các interface có một phương thức trừu tượng (functional interface). C C. Cả hai đáp án trên. D D. Lambda Expression là một cách viết ngắn gọn cho một class thông thường. Câu 24 24. Từ khóa nào sau đây được sử dụng để khai báo một hằng số trong Java? A A. static B B. const C C. final D D. immutable Câu 25 25. Trong Java, JDBC là gì? A A. Một API cho phép Java tương tác với cơ sở dữ liệu. B B. Một framework để phát triển web. C C. Một công cụ để quản lý bộ nhớ. D D. Một ngôn ngữ lập trình. Đề 2 – Bài tập, đề thi trắc nghiệm online Đau Dây Thần Kinh Tọa 1 Đề 4 – Bài tập, đề thi trắc nghiệm online Lý Luận Chung Về Nhà Nước Và Pháp Luật