Đề thi, bài tập trắc nghiệm online Lập trình javaĐề 10 – 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 Đề 10 – Bài tập, đề thi trắc nghiệm online Lập trình java Đề 10 – Bài tập, đề thi trắc nghiệm online Lập trình java Số câu30Quiz ID10865 Làm bài Câu 1 1. Trong Java, từ khóa nào được sử dụng để tạo một thể hiện (instance) của một lớp? A A. class B B. interface C C. new D D. extends Câu 2 2. Phương thức `main()` trong Java có kiểu trả về là gì? A A. int B B. String C C. void D D. boolean Câu 3 3. Đâu là kiểu dữ liệu nguyên thủy (primitive data type) trong Java? A A. String B B. Integer C C. float D D. Object 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 của 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. Giao diện (interface) trong Java được sử dụng để làm gì? A A. Định nghĩa hành vi mà các lớp phải thực hiện. B B. Tạo ra các đối tượng. C C. Khai báo biến toàn cục. D D. Thực hiện đa kế thừa cho lớp. Câu 6 6. 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. Kiểu dữ liệu của đối tượng. C C. Giá trị nội dung của đối tượng. D D. Tham chiếu đối tượng. Câu 7 7. Ngoại lệ (Exception) trong Java là gì? A A. Một loại lỗi cú pháp. B B. Một sự kiện bất thường xảy ra trong quá trình thực thi chương trình. C C. Một cách để tối ưu hóa hiệu suất. D D. Một tính năng bảo mật của Java. Câu 8 8. Vòng lặp `for-each` trong Java thường được sử dụng để làm gì? A A. Lặp qua các phần tử của một mảng hoặc tập hợp. B B. Thực hiện các phép tính toán phức tạp. C C. Định nghĩa các hàm đệ quy. D D. Xử lý ngoại lệ. Câu 9 9. Từ khóa `static` trong Java được sử dụng để khai báo thành viên như thế nào? A A. Thành viên chỉ có thể truy cập từ lớp con. B B. Thành viên thuộc về lớp chứ không phải thể hiện của lớp. C C. Thành viên có thể thay đổi giá trị sau khi khởi tạo. D D. Thành viên chỉ được truy cập trong cùng một gói. Câu 10 10. Trong lập trình hướng đối tượng, tính đóng gói (encapsulation) thể hiện điều gì? A A. Khả năng một đối tượng có nhiều hình thức. B B. Che giấu thông tin và hành vi bên trong đối tượng, chỉ cho phép truy cập thông qua giao diện công khai. C C. Khả năng tái sử dụng mã nguồn thông qua kế thừa. D D. Chia nhỏ chương trình thành các hàm nhỏ hơn. Câu 11 11. Lớp `String` trong Java là kiểu dữ liệu gì? A A. Kiểu dữ liệu nguyên thủy. B B. Kiểu dữ liệu tham chiếu. C C. Kiểu dữ liệu số. D D. Kiểu dữ liệu logic. Câu 12 12. Phương thức `super()` trong Java được sử dụng để làm gì trong lớp con? A A. Gọi một phương thức static của lớp cha. B B. Truy cập các biến private của lớp cha. C C. Gọi constructor của lớp cha. D D. Tạo một đối tượng mới của lớp cha. Câu 13 13. Trong Java Collections Framework, `ArrayList` và `LinkedList` khác nhau cơ bản ở điểm nào? A A. `ArrayList` là giao diện, `LinkedList` là lớp triển khai. B B. `ArrayList` truy cập phần tử nhanh hơn bằng chỉ số, `LinkedList` thêm/xóa phần tử ở đầu/cuối nhanh hơn. C C. `ArrayList` có kích thước cố định, `LinkedList` có kích thước động. D D. `ArrayList` chỉ lưu trữ số nguyên, `LinkedList` lưu trữ mọi kiểu dữ liệu. Câu 14 14. Luồng (Thread) trong Java là gì? A A. Một loại biến đặc biệt. B B. Một đường dẫn thực thi độc lập trong một chương trình. C C. Một cơ chế quản lý bộ nhớ. D D. Một kiểu dữ liệu trừu tượng. Câu 15 15. Annotation (chú thích) trong Java được sử dụng để làm gì? A A. Thay thế cho comment (chú thích dòng lệnh). B B. Cung cấp metadata (siêu dữ liệu) về code cho trình biên dịch hoặc JVM. C C. Tăng tốc độ thực thi chương trình. D D. Bảo vệ mã nguồn khỏi bị sao chép. Câu 16 16. Serialization trong Java là quá trình gì? A A. Chuyển đổi mã nguồn Java sang bytecode. B B. Chuyển đổi một đối tượng thành một chuỗi byte để lưu trữ hoặc truyền tải. C C. Biên dịch mã Java thành mã máy. D D. Mã hóa dữ liệu để bảo mật. Câu 17 17. Garbage Collection (GC) trong Java là cơ chế nào? A A. Cơ chế biên dịch mã nguồn. B B. Cơ chế tự động quản lý bộ nhớ, thu hồi bộ nhớ không còn được sử dụng. C C. Cơ chế quản lý phiên bản của code. D D. Cơ chế xử lý ngoại lệ. Câu 18 18. JDBC (Java Database Connectivity) được sử dụng để làm gì? A A. Thiết kế giao diện người dùng. B B. Kết nối và tương tác với cơ sở dữ liệu từ ứng dụng Java. C C. Phát triển ứng dụng web. D D. Quản lý bộ nhớ. Câu 19 19. Trong Java, `final` keyword được sử dụng để làm gì? A A. Khai báo một lớp trừu tượng. B B. Ngăn chặn kế thừa lớp, ghi đè phương thức, hoặc thay đổi giá trị biến sau khi gán. C C. Tạo ra một interface. D D. Định nghĩa một hằng số thời gian biên dịch. Câu 20 20. Lambda expression trong Java 8 giúp đơn giản hóa việc gì? A A. Quản lý bộ nhớ. B B. Xử lý ngoại lệ. C C. Viết code cho các interface có một phương thức trừu tượng (Functional Interface). D D. Định nghĩa lớp và đối tượng. Câu 21 21. Phương thức `toString()` được định nghĩa trong lớp `Object` dùng để làm gì? A A. So sánh hai đối tượng. B B. Trả về biểu diễn chuỗi của một đối tượng. C C. Tính toán mã băm của đối tượng. D D. Sao chép một đối tượng. Câu 22 22. Trong Java, package (gói) được sử dụng để làm gì? A A. Tăng tốc độ biên dịch. B B. Nhóm các lớp và interface liên quan lại với nhau, tránh xung đột tên và quản lý code tốt hơn. C C. Tối ưu hóa bộ nhớ. D D. Bảo mật mã nguồn. Câu 23 23. Ứng dụng của mô hình MVC (Model-View-Controller) trong phát triển ứng dụng Java Web là gì? A A. Tăng cường bảo mật cho ứng dụng. B B. Phân tách logic ứng dụng thành ba phần: dữ liệu (Model), giao diện (View) và điều khiển (Controller), giúp code dễ bảo trì và mở rộng. C C. Tối ưu hóa hiệu suất ứng dụng. D D. Đơn giản hóa quá trình biên dịch. Câu 24 24. Reflection trong Java cho phép chương trình làm gì? A A. Kết nối với cơ sở dữ liệu. B B. Kiểm tra và sửa đổi thông tin về lớp, interface, phương thức, và trường (field) tại thời điểm runtime. C C. Tối ưu hóa mã bytecode. D D. Tạo ra giao diện người dùng đồ họa. Câu 25 25. Generics trong Java giải quyết vấn đề chính nào? A A. Tăng tốc độ thực thi chương trình. B B. Cung cấp kiểu an toàn (type safety) tại thời điểm biên dịch cho các Collection. C C. Quản lý bộ nhớ hiệu quả hơn. D D. Đơn giản hóa việc xử lý ngoại lệ. Câu 26 26. ClassLoader trong Java có vai trò gì? A A. Biên dịch mã nguồn Java. B B. Tải các lớp bytecode (.class files) vào JVM tại thời điểm runtime. C C. Kiểm tra lỗi cú pháp trong code. D D. Quản lý luồng (threads). Câu 27 27. Tính bất biến (immutability) của lớp `String` trong Java có ý nghĩa gì? A A. Đối tượng String có thể thay đổi nội dung sau khi tạo. B B. Một khi đối tượng String được tạo, nội dung của nó không thể thay đổi. C C. Đối tượng String không thể được kế thừa. D D. Đối tượng String không thể được so sánh. Câu 28 28. Trong lập trình Java, Dependency Injection (DI) là gì và lợi ích chính của nó? A A. Một kỹ thuật tối ưu hóa hiệu suất ứng dụng. B B. Một mẫu thiết kế giúp giảm sự phụ thuộc giữa các thành phần (components) của ứng dụng, tăng tính module hóa và khả năng kiểm thử. C C. Một phương pháp bảo mật ứng dụng web. D D. Một cơ chế quản lý bộ nhớ tự động. Câu 29 29. Giả sử bạn có một ứng dụng Java cần xử lý đồng thời nhiều yêu cầu từ người dùng. Công nghệ nào của Java EE (Enterprise Edition) phù hợp nhất để xây dựng ứng dụng này? A A. Java Servlets và JSP (JavaServer Pages). B B. Java Swing. C C. Java AWT (Abstract Window Toolkit). D D. Java ME (Micro Edition). Câu 30 30. Trong bối cảnh lập trình hướng đối tượng với Java, khi nào thì bạn nên sử dụng Composition (kết hợp) thay vì Inheritance (kế thừa)? A A. Khi bạn muốn tái sử dụng code một cách tối đa. B B. Khi mối quan hệ giữa hai lớp là 'is-a' (là một), ví dụ 'Dog is-a Animal'. C C. Khi mối quan hệ giữa hai lớp là 'has-a' (có một), ví dụ 'Car has-a Engine', và bạn muốn linh hoạt thay đổi hành vi tại runtime. D D. Khi bạn muốn tạo ra một hệ thống phân cấp lớp phức tạp. Đề 9 – Bài tập, đề thi trắc nghiệm online Chi tiết máy Đề 11 – Bài tập, đề thi trắc nghiệm online Ngữ pháp lý thuyết tiếng Anh