Đề 12 – Bài tập, đề thi trắc nghiệm online Lập trình java

0

Bạn đã sẵn sàng chưa? 45 phút làm bài bắt đầu!!!

Bạn đã hết giờ làm bài! Xem kết quả các câu hỏi đã làm nhé!!!


Lập trình java

Đề 12 - Bài tập, đề thi trắc nghiệm online Lập trình java

1. Phương thức `toString()` trong Java được sử dụng để làm gì?

A. Chuyển đổi một đối tượng thành một đối tượng khác.
B. So sánh hai đối tượng với nhau.
C. Trả về một biểu diễn chuỗi của đối tượng.
D. Khởi tạo một đối tượng mới.

2. Phương thức `main` trong Java có vai trò gì?

A. Định nghĩa lớp
B. Điểm bắt đầu thực thi chương trình
C. Khai báo biến toàn cục
D. Xử lý ngoại lệ

3. Trong Java, vòng lặp `for-each` (enhanced for loop) được sử dụng chủ yếu để làm gì?

A. Lặp qua các phần tử của một mảng hoặc collection.
B. Thực hiện lặp vô hạn.
C. Lặp qua các số nguyên từ 0 đến một giá trị cho trước.
D. Thay thế cho vòng lặp `while` trong mọi trường hợp.

4. Đâu là sự khác biệt chính giữa `ArrayList` và `LinkedList` trong Java?

A. `ArrayList` nhanh hơn trong việc thêm/xóa phần tử ở đầu danh sách
B. `LinkedList` sử dụng mảng động, `ArrayList` sử dụng danh sách liên kết
C. `ArrayList` truy cập phần tử ngẫu nhiên nhanh hơn, `LinkedList` thêm/xóa phần tử ở giữa danh sách nhanh hơn
D. `LinkedList` chỉ lưu trữ được các đối tượng kiểu String, `ArrayList` lưu trữ được mọi kiểu đối tượng

5. Đâu là sự khác biệt chính giữa Checked Exception và Unchecked Exception trong Java?

A. Checked Exception phải được xử lý bằng `try-catch` hoặc khai báo `throws`, Unchecked Exception thì không bắt buộc.
B. Unchecked Exception xảy ra trong thời gian biên dịch, Checked Exception xảy ra trong thời gian chạy.
C. Checked Exception là lỗi lập trình, Unchecked Exception là lỗi hệ thống.
D. Không có sự khác biệt, cả hai đều phải được xử lý giống nhau.

6. Phương thức `hashCode()` trong Java thường được ghi đè cùng với phương thức nào?

A. Phương thức `toString()`
B. Phương thức `clone()`
C. Phương thức `equals()`
D. Phương thức `finalize()`

7. Đâu là cách đúng để tạo một đối tượng `Scanner` để đọc dữ liệu từ bàn phím trong Java?

A. Scanner scanner = new Scanner();
B. Scanner scanner = Scanner.in;
C. Scanner scanner = new Scanner(System.in);
D. Scanner scanner = System.in.Scanner();

8. Phương thức `equals()` và toán tử `==` khác nhau như thế nào khi so sánh các đối tượng trong Java?

A. `equals()` so sánh tham chiếu đối tượng, `==` so sánh giá trị của đối tượng.
B. `equals()` so sánh giá trị của đối tượng (nội dung), `==` so sánh tham chiếu đối tượng (địa chỉ bộ nhớ).
C. Không có sự khác biệt, cả hai đều so sánh giá trị của đối tượng.
D. Không có sự khác biệt, cả hai đều so sánh tham chiếu đối tượng.

9. Trong Java, Dependency Injection (DI) là một design pattern (mẫu thiết kế) nhằm mục đích gì?

A. Tăng cường hiệu suất của ứng dụng.
B. Giảm sự phụ thuộc giữa các thành phần của ứng dụng.
C. Đơn giản hóa việc quản lý bộ nhớ.
D. Tăng tính bảo mật cho ứng dụng.

10. Trong Java, thread priority (độ ưu tiên luồng) được sử dụng để làm gì?

A. Xác định thời gian tối đa một luồng có thể chạy.
B. Yêu cầu hệ điều hành ưu tiên cấp phát CPU cho luồng có độ ưu tiên cao hơn.
C. Đảm bảo rằng một luồng luôn được thực thi trước các luồng khác.
D. Ngăn chặn một luồng chiếm dụng quá nhiều tài nguyên hệ thống.

11. Trong lập trình hướng đối tượng Java, khái niệm 'tính đóng gói' (encapsulation) nhằm mục đích gì?

A. Tăng tốc độ thực thi chương trình
B. Che giấu thông tin và bảo vệ dữ liệu
C. Giảm dung lượng bộ nhớ sử dụng
D. Đơn giản hóa cú pháp lập trình

12. Trong Java, exception `NullPointerException` thường xảy ra khi nào?

A. Cố gắng truy cập một phần tử mảng vượt quá chỉ số.
B. Thực hiện phép chia cho 0.
C. Cố gắng truy cập một phương thức hoặc thuộc tính của một đối tượng tham chiếu null.
D. Chuyển đổi một chuỗi không phải số thành số nguyên.

13. Interface `Comparable` trong Java được sử dụng để làm gì?

A. So sánh hai đối tượng thuộc các lớp khác nhau.
B. Định nghĩa cách các đối tượng của một lớp có thể được so sánh với nhau.
C. Chuyển đổi một đối tượng thành một kiểu dữ liệu khác.
D. Kiểm tra xem hai đối tượng có cùng kiểu dữ liệu hay không.

14. Trong Java, từ khóa `final` có thể được sử dụng với biến, phương thức và lớp. Khi sử dụng với lớp, `final` có nghĩa là gì?

A. Lớp đó không thể được kế thừa (không có lớp con).
B. Lớp đó không thể chứa bất kỳ phương thức nào.
C. Các đối tượng của lớp đó không thể thay đổi trạng thái sau khi tạo.
D. Lớp đó phải là lớp trừu tượng.

15. Phương thức `super()` trong Java được sử dụng để làm gì trong một lớp con?

A. Gọi phương thức `main()` của lớp cha.
B. Truy cập các biến static của lớp cha.
C. Gọi constructor của lớp cha.
D. Tạo một đối tượng mới của lớp cha.

16. Đâu là cách khai báo một mảng các chuỗi (String) có tên `names` với kích thước 5 phần tử trong Java?

A. String names = new String[5];
B. String[] names = new String(5);
C. String names[] = new String[5];
D. String[] names = new String[]{5};

17. Java Virtual Machine (JVM) có vai trò gì trong việc thực thi chương trình Java?

A. Biên dịch mã nguồn Java thành mã máy.
B. Quản lý bộ nhớ và thực thi mã byte code Java trên các nền tảng khác nhau.
C. Tạo giao diện người dùng đồ họa.
D. Kết nối với cơ sở dữ liệu.

18. Đâu là lợi ích chính của việc sử dụng đa luồng (multithreading) trong Java?

A. Giảm dung lượng bộ nhớ chương trình sử dụng.
B. Tăng độ phức tạp của mã nguồn.
C. Cải thiện hiệu suất bằng cách thực hiện đồng thời các tác vụ.
D. Đảm bảo tính bảo mật tuyệt đối cho chương trình.

19. Phương thức `wait()`, `notify()`, và `notifyAll()` trong Java được sử dụng trong ngữ cảnh nào?

A. Xử lý ngoại lệ.
B. Quản lý bộ nhớ.
C. Đồng bộ hóa luồng (thread synchronization).
D. Giao tiếp mạng.

20. Trong Java, từ khóa nào được sử dụng để khai báo một biến kiểu số nguyên?

A. float
B. double
C. int
D. char

21. Trong Java, annotation `@Override` được sử dụng để làm gì?

A. Khai báo một lớp là lớp trừu tượng.
B. Chỉ định rằng một phương thức trong lớp con đang ghi đè một phương thức từ lớp cha.
C. Đánh dấu một biến là biến hằng số (constant).
D. Bắt đầu một giao dịch cơ sở dữ liệu.

22. Trong Java, Serialization là quá trình gì?

A. Chuyển đổi mã Java thành mã byte code.
B. 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.
C. Mã hóa dữ liệu để bảo mật.
D. Giải mã dữ liệu đã được mã hóa.

23. Đặc điểm nào sau đây KHÔNG phải là đặc điểm của lập trình hướng đối tượng (OOP)?

A. Tính kế thừa (Inheritance)
B. Tính trừu tượng (Abstraction)
C. Tính tuần tự (Sequential)
D. Tính đa hình (Polymorphism)

24. Trong Java, garbage collection (thu gom rác) là quá trình gì?

A. Giải phóng bộ nhớ đã được cấp phát nhưng không còn được sử dụng.
B. Tối ưu hóa hiệu suất của chương trình bằng cách sắp xếp lại bộ nhớ.
C. Phát hiện và sửa lỗi bộ nhớ trong chương trình.
D. Cấp phát bộ nhớ cho các đối tượng mới.

25. Trong Java, Lambda Expression (biểu thức Lambda) được giới thiệu từ phiên bản nào và dùng để làm gì?

A. Java 5, để tạo lớp ẩn danh.
B. Java 8, để biểu diễn các functional interface một cách ngắn gọn.
C. Java 7, để xử lý ngoại lệ.
D. Java 9, để quản lý module.

26. Trong Java, từ khóa `static` có ý nghĩa gì khi được sử dụng cho một biến thành viên (member variable)?

A. Biến chỉ có thể được truy cập từ bên trong lớp chứa nó.
B. Giá trị của biến không thể thay đổi sau khi khởi tạo.
C. Biến thuộc về lớp chứ không phải đối tượng cụ thể của lớp đó.
D. Biến chỉ được khởi tạo một lần duy nhất khi chương trình bắt đầu.

27. Mục đích chính của giao diện (interface) trong Java là gì?

A. Tạo ra các lớp trừu tượng mà không cần từ khóa `abstract`.
B. Hiện thực tính đa kế thừa cho các lớp.
C. Định nghĩa một hợp đồng (contract) mà các lớp thực thi (implement) phải tuân theo.
D. Thay thế hoàn toàn cho lớp cha trong kế thừa.

28. Trong Java Collections Framework, interface `Set` khác với `List` như thế nào?

A. `Set` cho phép các phần tử trùng lặp, `List` thì không.
B. `List` duy trì thứ tự chèn của các phần tử, `Set` thì không đảm bảo thứ tự.
C. `Set` chỉ chứa các đối tượng kiểu String, `List` chứa được mọi kiểu đối tượng.
D. `List` nhanh hơn trong việc tìm kiếm phần tử, `Set` nhanh hơn trong việc thêm/xóa phần tử.

29. Trong Java, `try-catch-finally` block được sử dụng để làm gì?

A. Định nghĩa một vòng lặp vô hạn.
B. Xử lý ngoại lệ (exceptions) và đảm bảo một khối mã luôn được thực thi.
C. Khai báo biến cục bộ.
D. Tạo ra một luồng mới.

30. Trong Java, Stream API được sử dụng chủ yếu để làm gì?

A. Xử lý đồng thời các luồng.
B. Làm việc với cơ sở dữ liệu.
C. Xử lý dữ liệu dạng collection theo kiểu functional.
D. Tạo giao diện người dùng đồ họa.

1 / 30

Category: Lập trình java

Tags: Bộ đề 12

1. Phương thức `toString()` trong Java được sử dụng để làm gì?

2 / 30

Category: Lập trình java

Tags: Bộ đề 12

2. Phương thức `main` trong Java có vai trò gì?

3 / 30

Category: Lập trình java

Tags: Bộ đề 12

3. Trong Java, vòng lặp `for-each` (enhanced for loop) được sử dụng chủ yếu để làm gì?

4 / 30

Category: Lập trình java

Tags: Bộ đề 12

4. Đâu là sự khác biệt chính giữa `ArrayList` và `LinkedList` trong Java?

5 / 30

Category: Lập trình java

Tags: Bộ đề 12

5. Đâu là sự khác biệt chính giữa Checked Exception và Unchecked Exception trong Java?

6 / 30

Category: Lập trình java

Tags: Bộ đề 12

6. Phương thức `hashCode()` trong Java thường được ghi đè cùng với phương thức nào?

7 / 30

Category: Lập trình java

Tags: Bộ đề 12

7. Đâu là cách đúng để tạo một đối tượng `Scanner` để đọc dữ liệu từ bàn phím trong Java?

8 / 30

Category: Lập trình java

Tags: Bộ đề 12

8. Phương thức `equals()` và toán tử `==` khác nhau như thế nào khi so sánh các đối tượng trong Java?

9 / 30

Category: Lập trình java

Tags: Bộ đề 12

9. Trong Java, Dependency Injection (DI) là một design pattern (mẫu thiết kế) nhằm mục đích gì?

10 / 30

Category: Lập trình java

Tags: Bộ đề 12

10. Trong Java, thread priority (độ ưu tiên luồng) được sử dụng để làm gì?

11 / 30

Category: Lập trình java

Tags: Bộ đề 12

11. Trong lập trình hướng đối tượng Java, khái niệm `tính đóng gói` (encapsulation) nhằm mục đích gì?

12 / 30

Category: Lập trình java

Tags: Bộ đề 12

12. Trong Java, exception `NullPointerException` thường xảy ra khi nào?

13 / 30

Category: Lập trình java

Tags: Bộ đề 12

13. Interface `Comparable` trong Java được sử dụng để làm gì?

14 / 30

Category: Lập trình java

Tags: Bộ đề 12

14. Trong Java, từ khóa `final` có thể được sử dụng với biến, phương thức và lớp. Khi sử dụng với lớp, `final` có nghĩa là gì?

15 / 30

Category: Lập trình java

Tags: Bộ đề 12

15. Phương thức `super()` trong Java được sử dụng để làm gì trong một lớp con?

16 / 30

Category: Lập trình java

Tags: Bộ đề 12

16. Đâu là cách khai báo một mảng các chuỗi (String) có tên `names` với kích thước 5 phần tử trong Java?

17 / 30

Category: Lập trình java

Tags: Bộ đề 12

17. Java Virtual Machine (JVM) có vai trò gì trong việc thực thi chương trình Java?

18 / 30

Category: Lập trình java

Tags: Bộ đề 12

18. Đâu là lợi ích chính của việc sử dụng đa luồng (multithreading) trong Java?

19 / 30

Category: Lập trình java

Tags: Bộ đề 12

19. Phương thức `wait()`, `notify()`, và `notifyAll()` trong Java được sử dụng trong ngữ cảnh nào?

20 / 30

Category: Lập trình java

Tags: Bộ đề 12

20. Trong Java, từ khóa nào được sử dụng để khai báo một biến kiểu số nguyên?

21 / 30

Category: Lập trình java

Tags: Bộ đề 12

21. Trong Java, annotation `@Override` được sử dụng để làm gì?

22 / 30

Category: Lập trình java

Tags: Bộ đề 12

22. Trong Java, Serialization là quá trình gì?

23 / 30

Category: Lập trình java

Tags: Bộ đề 12

23. Đặc điểm nào sau đây KHÔNG phải là đặc điểm của lập trình hướng đối tượng (OOP)?

24 / 30

Category: Lập trình java

Tags: Bộ đề 12

24. Trong Java, garbage collection (thu gom rác) là quá trình gì?

25 / 30

Category: Lập trình java

Tags: Bộ đề 12

25. Trong Java, Lambda Expression (biểu thức Lambda) được giới thiệu từ phiên bản nào và dùng để làm gì?

26 / 30

Category: Lập trình java

Tags: Bộ đề 12

26. Trong Java, từ khóa `static` có ý nghĩa gì khi được sử dụng cho một biến thành viên (member variable)?

27 / 30

Category: Lập trình java

Tags: Bộ đề 12

27. Mục đích chính của giao diện (interface) trong Java là gì?

28 / 30

Category: Lập trình java

Tags: Bộ đề 12

28. Trong Java Collections Framework, interface `Set` khác với `List` như thế nào?

29 / 30

Category: Lập trình java

Tags: Bộ đề 12

29. Trong Java, `try-catch-finally` block được sử dụng để làm gì?

30 / 30

Category: Lập trình java

Tags: Bộ đề 12

30. Trong Java, Stream API được sử dụng chủ yếu để làm gì?