Đề thi, bài tập trắc nghiệm online Lập trình javaĐề 3 – Bài tập, đề thi trắc nghiệm online Lập trình java Đăng vào 2 Tháng 5, 2026 bởi admin Đề 3 – Bài tập, đề thi trắc nghiệm online Lập trình java Đề 3 – Bài tập, đề thi trắc nghiệm online Lập trình java Số câu30Quiz ID10858 Làm bài Câu 1 1. Trong lập trình Java, từ khóa nào được sử dụng để khai báo một biến hằng số? A A. static B B. final C C. const D D. immutable Câu 2 2. Phương thức `equals()` trong Java được sử dụng để so sánh cái gì giữa hai đối tượng? A A. Địa chỉ bộ nhớ của đối tượng B B. Tham chiếu đối tượng C C. Giá trị nội dung của đối tượng D D. Kiểu dữ liệu của đối tượng Câu 3 3. Đâu là một đặc điểm của lập trình hướng đối tượng (OOP) trong Java? A A. Sử dụng con trỏ trực tiếp đến bộ nhớ B B. Tính đóng gói (Encapsulation) C C. Chương trình tuyến tính tuần tự D D. Hạn chế sử dụng lớp và đối tượng Câu 4 4. Interface trong Java được sử dụng để làm gì? A A. Tạo ra các đối tượng cụ thể B B. Định nghĩa một hợp đồng mà các lớp phải tuân theo C C. Thay thế cho lớp trừu tượng D D. Quản lý bộ nhớ tự động Câu 5 5. Trong Java, exception `NullPointerException` thường xảy ra khi nào? A A. Truy cập một biến cục bộ chưa được khởi tạo B B. Gọi phương thức hoặc truy cập thuộc tính của một đối tượng null C C. Chuyển đổi kiểu dữ liệu không hợp lệ D D. Vượt quá giới hạn bộ nhớ Câu 6 6. Vòng lặp `for-each` (enhanced for loop) trong Java chủ yếu được sử dụng để duyệt qua cấu trúc dữ liệu nào? A A. Kiểu dữ liệu nguyên thủy B B. Mảng và Collections C C. Con trỏ D D. File hệ thống Câu 7 7. Phương thức `toString()` trong Java có mục đích chính là gì? A A. So sánh hai đối tượng B B. Chuyển đổi một đối tượng thành chuỗi đại diện C C. Tính toán giá trị hash code của đối tượng D D. Giải phóng bộ nhớ của đối tượng Câu 8 8. Trong Java, từ khóa `static` có ý nghĩa gì khi được sử dụng cho một biến thành viên của lớp? A A. Biến chỉ có thể truy cập từ bên trong lớp B B. Biến được chia sẻ bởi tất cả các đối tượng của lớp C C. Biến không thể thay đổi giá trị sau khi khởi tạo D D. Biến chỉ được khởi tạo một lần duy nhất Câu 9 9. Đâu là cách khai báo 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 10 10. Phương thức `main()` trong Java có vai trò gì? A A. Phương thức khởi tạo của lớp B B. Điểm bắt đầu thực thi của chương trình Java C C. Phương thức hủy đối tượng D D. Phương thức để nhập dữ liệu từ bàn phím Câu 11 11. Trong Java, 'inheritance' (tính kế thừa) cho phép lớp con (subclass) làm gì? A A. Truy cập các biến private của lớp cha B B. Kế thừa các thuộc tính và phương thức của lớp cha C C. Tạo ra nhiều đối tượng của lớp cha D D. Thay đổi cấu trúc của lớp cha Câu 12 12. Đâu là một ví dụ về 'checked exception' trong Java? A A. ArrayIndexOutOfBoundsException B B. NullPointerException C C. FileNotFoundException D D. IllegalArgumentException Câu 13 13. Trong Java, 'đa hình' (polymorphism) thể hiện rõ nhất qua cơ chế nào? A A. Tính đóng gói (Encapsulation) B B. Tính kế thừa (Inheritance) C C. Overloading và Overriding D D. Garbage Collection Câu 14 14. ArrayList và LinkedList khác nhau chủ yếu ở khía cạnh nào? A A. Kiểu dữ liệu lưu trữ B B. Cấu trúc dữ liệu bên trong và hiệu suất truy cập/thêm/xóa phần tử C C. Khả năng đồng bộ hóa D D. Cách thức quản lý bộ nhớ Câu 15 15. Trong Java, 'garbage collection' (thu gom rác) là quá trình gì? A A. Giải phóng bộ nhớ đã được cấp phát nhưng không còn sử dụng B B. Kiểm tra và sửa lỗi cú pháp trong code C C. Tối ưu hóa hiệu suất chương trình D D. Quản lý các thread trong chương trình đa luồng Câu 16 16. Đâu là cách tạo một đối tượng String bất biến trong Java? A A. Sử dụng từ khóa `mutable String` B B. String đã là kiểu dữ liệu bất biến trong Java C C. Sử dụng lớp `StringBuilder` D D. Khai báo String với từ khóa `const` Câu 17 17. Trong lập trình đa luồng Java, từ khóa `synchronized` được sử dụng để làm gì? A A. Tạo ra một thread mới B B. Đồng bộ hóa truy cập vào một đoạn code hoặc đối tượng C C. Tạm dừng thực thi thread hiện tại D D. Kết thúc một thread Câu 18 18. Annotation `@Override` trong Java dùng để chỉ ra điều gì? A A. Một phương thức là abstract B B. Một phương thức đang được ghi đè từ lớp cha C C. Một biến là static D D. Một lớp là final Câu 19 19. Trong Java, JDBC (Java Database Connectivity) được sử dụng để làm gì? A A. Xây dựng giao diện người dùng đồ họa (GUI) B B. Kết nối và tương tác với cơ sở dữ liệu C C. Phát triển ứng dụng web server D D. Quản lý bộ nhớ trong Java Câu 20 20. Giả sử bạn có một lớp `Dog` kế thừa từ lớp `Animal`. Để gọi constructor của lớp `Animal` từ constructor của lớp `Dog`, bạn sử dụng từ khóa nào? A A. this() B B. super() C C. parent() D D. base() Câu 21 21. Trong Java, Stream API được giới thiệu từ phiên bản Java nào? A A. Java 5 B B. Java 6 C C. Java 7 D D. Java 8 Câu 22 22. Lambda expression trong Java là gì? A A. Một kiểu dữ liệu mới B B. Một cách viết ngắn gọn cho anonymous inner class (lớp nặc danh) C C. Một cơ chế quản lý bộ nhớ D D. Một loại exception mới Câu 23 23. Phương thức `hashCode()` trong Java thường được ghi đè cùng với phương thức nào để đảm bảo tính nhất quán? A A. toString() B B. equals() C C. getClass() D D. finalize() Câu 24 24. Trong Java, package được sử dụng để làm gì? A A. Tăng tốc độ biên dịch code B B. Nhóm các lớp và interface có liên quan lại với nhau, giúp quản lý và tránh xung đột tên C C. Tối ưu hóa bộ nhớ sử dụng D D. Mã hóa code nguồn Câu 25 25. Đâu là một ví dụ về 'design pattern' (mẫu thiết kế) phổ biến trong lập trình Java? A A. Bubble Sort B B. Singleton C C. Binary Search D D. Linear Regression Câu 26 26. Trong Java, Serializable interface được sử dụng để làm gì? A A. Xác thực người dùng B B. Cho phép đối tượng được chuyển đổi thành luồng byte (serialization) và ngược lại (deserialization) C C. Tạo ra giao diện người dùng D D. Quản lý kết nối cơ sở dữ liệu Câu 27 27. Giả sử bạn có đoạn code sau: `int x = 5; int y = x++;` Giá trị của `y` và `x` sau khi đoạn code này thực thi là bao nhiêu? A A. x = 6, y = 6 B B. x = 5, y = 5 C C. x = 6, y = 5 D D. x = 5, y = 6 Câu 28 28. Trong Java, thuật ngữ 'boxing' và 'unboxing' liên quan đến kiểu dữ liệu nào? A A. Kiểu dữ liệu nguyên thủy và kiểu tham chiếu tương ứng (wrapper classes) B B. Kiểu dữ liệu mảng C C. Kiểu dữ liệu String D D. Kiểu dữ liệu enum Câu 29 29. ClassLoader trong Java có vai trò gì? A A. Biên dịch code Java B B. Tải các lớp Java vào JVM tại thời điểm runtime C C. Tối ưu hóa hiệu suất code D D. Quản lý garbage collection Câu 30 30. Trong Java, Dependency Injection (DI) là gì? A A. Một kỹ thuật quản lý bộ nhớ B B. Một design pattern giúp giảm sự phụ thuộc giữa các thành phần của ứng dụng C C. Một phương pháp kiểm thử phần mềm D D. Một loại framework để phát triển giao diện người dùng Đề 2 – Bài tập, đề thi trắc nghiệm online Chi tiết máy Đề 4 – Bài tập, đề thi trắc nghiệm online Ngữ pháp lý thuyết tiếng Anh