Đề 13 – 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

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

1. Trong Java Collections Framework, 'List', 'Set', và 'Map' là gì?

A. Các kiểu dữ liệu nguyên thủy.
B. Các interface định nghĩa các loại collection khác nhau.
C. Các lớp cụ thể triển khai các thuật toán sắp xếp.
D. Các từ khóa dùng để khai báo biến collection.

2. Trong Java, 'garbage collection' là quá trình gì?

A. Quá trình biên dịch mã nguồn Java thành bytecode.
B. Quá trình quản lý bộ nhớ tự động, giải phóng bộ nhớ không còn được sử dụng.
C. Quá trình gỡ lỗi (debugging) chương trình Java.
D. Quá trình đóng gói (packaging) mã Java thành file JAR.

3. Trong Java, 'reflection' cho phép chương trình làm gì?

A. Tăng tốc độ thực thi chương trình.
B. Kiểm tra và thao tác các lớp, interface, constructor và phương thức tại thời gian chạy.
C. Tự động sửa lỗi trong code.
D. Biên dịch mã Java thành mã máy.

4. Trong Java, 'serialization' là quá trình gì?

A. Chuyển đổi mã nguồn Java thành bytecode.
B. Chuyển đổi một đối tượng thành một luồng byte để có thể lưu trữ hoặc truyền tải.
C. Quá trình kiểm tra và xác thực dữ liệu đầu vào.
D. Quá trình tối ưu hóa hiệu suất của chương trình Java.

5. Interface trong Java khác với abstract class ở điểm nào?

A. Interface có thể chứa các phương thức có thân (method body).
B. Một lớp có thể kế thừa từ nhiều interface nhưng chỉ có thể kế thừa từ một abstract class.
C. Abstract class không thể chứa các biến thành viên.
D. Interface có thể có constructor.

6. JDBC (Java Database Connectivity) được sử dụng để làm gì?

A. Thiết kế giao diện người dùng cho ứng dụng Java.
B. Kết nối và tương tác với cơ sở dữ liệu từ ứng dụng Java.
C. Quản lý bộ nhớ trong Java.
D. Xử lý các sự kiện (events) trong GUI.

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

A. So sánh hai đối tượng.
B. Chuyển đổi một đối tượng thành kiểu dữ liệu số.
C. Trả về một chuỗi đại diện cho đối tượng.
D. Tạo một bản sao của đối tượng.

8. Đâu là kiểu dữ liệu nguyên thủy (primitive data type) KHÔNG phải là một phần của Java?

A. int
B. float
C. boolean
D. string

9. Lambda expression trong Java 8 được sử dụng chủ yếu để làm gì?

A. Định nghĩa các lớp ẩn danh (anonymous classes) một cách ngắn gọn.
B. Thay thế cho vòng lặp for.
C. Xử lý ngoại lệ.
D. Tạo ra các biến static.

10. Trong Java, JPA (Java Persistence API) được sử dụng để làm gì?

A. Phát triển giao diện người dùng đồ họa (GUI).
B. Quản lý và truy cập dữ liệu trong cơ sở dữ liệu quan hệ (RDBMS) một cách hướng đối tượng.
C. Xử lý các request và response trong ứng dụng web.
D. Tạo ra các RESTful web services.

11. Trong Java, từ khóa nào được sử dụng để ngăn một lớp khác kế thừa từ một lớp?

A. abstract
B. final
C. static
D. protected

12. Phương thức `main` trong Java phải có đặc điểm nào sau đây để chương trình có thể thực thi?

A. Phải được khai báo là private.
B. Phải trả về một giá trị nguyên.
C. Phải được khai báo là public static void.
D. Phải có ít nhất một tham số đầu vào.

13. Trong Java, 'checked exception' khác với 'unchecked exception' như thế nào?

A. Checked exception xảy ra trong thời gian chạy, unchecked exception xảy ra trong thời gian biên dịch.
B. Checked exception phải được xử lý (try-catch hoặc throws) trong mã, unchecked exception thì không bắt buộc.
C. Checked exception là lỗi lập trình, unchecked exception là lỗi hệ thống.
D. Checked exception nhanh hơn unchecked exception.

14. 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. class
B. new
C. instanceof
D. extends

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

A. `equals()` so sánh tham chiếu đối tượng, `==` so sánh giá trị nội dung đối tượng.
B. `equals()` so sánh giá trị nội dung đối tượng (nếu được ghi đè), `==` so sánh tham chiếu đối tượng.
C. Cả `equals()` và `==` đều so sánh tham chiếu đối tượng.
D. Cả `equals()` và `==` đều so sánh giá trị nội dung đối tượng.

16. Vòng lặp `for-each` trong Java đượ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 một khối lệnh một số lần cố định.
C. Lặp cho đến khi một điều kiện nhất định trở thành sai.
D. Thay thế cho vòng lặp `while` trong mọi trường hợp.

17. Phương thức `start()` và `run()` trong lớp `Thread` của Java khác nhau như thế nào?

A. `start()` thực thi mã trong luồng hiện tại, `run()` tạo ra một luồng mới.
B. `start()` tạo ra một luồng mới và gọi phương thức `run()` trong luồng mới đó, `run()` chỉ chứa mã thực thi của luồng.
C. Không có sự khác biệt, cả hai đều bắt đầu thực thi luồng.
D. `run()` được kế thừa từ lớp cha, `start()` được định nghĩa trong lớp con.

18. Trong lập trình đa luồng (multithreading) Java, 'race condition' là gì?

A. Một tình huống khi một luồng bị treo vô thời hạn.
B. Một lỗi biên dịch khi có nhiều luồng cùng truy cập một biến.
C. Một tình huống khi kết quả của chương trình phụ thuộc vào thứ tự thực hiện của các luồng.
D. Một cơ chế đồng bộ hóa giữa các luồng.

19. Khái niệm nào sau đây KHÔNG liên quan đến lập trình hướng đối tượng (OOP) trong Java?

A. Tính đóng gói (Encapsulation)
B. Tính đa hình (Polymorphism)
C. Tính kế thừa (Inheritance)
D. Con trỏ (Pointers)

20. Ưu điểm chính của việc sử dụng framework Spring trong phát triển ứng dụng Java là gì?

A. Tăng tốc độ biên dịch code Java.
B. Cung cấp nhiều tính năng hỗ trợ phát triển ứng dụng doanh nghiệp, giảm boilerplate code và tăng năng suất.
C. Giảm dung lượng file JAR của ứng dụng.
D. Tự động tối ưu hóa bộ nhớ cho ứng dụng.

21. Annotation trong Java được sử dụng để làm gì?

A. Thay thế cho comment trong code.
B. Cung cấp metadata về code cho compiler và JVM hoặc các công cụ khác.
C. Định nghĩa các biến toàn cục.
D. Tạo ra các đối tượng mới.

22. Java Stream API được giới thiệu từ phiên bản Java nào?

A. Java 5
B. Java 6
C. Java 7
D. Java 8

23. Ngoại lệ (Exception) 'NullPointerException' trong Java thường xảy ra khi nào?

A. Khi cố gắng truy cập một biến mảng vượt quá kích thước mảng.
B. Khi cố gắng thực hiện một phép chia cho 0.
C. Khi cố gắng truy cập một đối tượng tham chiếu null.
D. Khi cố gắng chuyển đổi một chuỗi không hợp lệ sang số.

24. Tính chất 'đa hình' (polymorphism) trong OOP Java cho phép điều gì?

A. Một lớp có thể có nhiều lớp con.
B. Các đối tượng thuộc các lớp khác nhau có thể được xem như đối tượng của một lớp cha chung.
C. Dữ liệu có thể được ẩn khỏi bên ngoài lớp.
D. Một lớp có thể kế thừa thuộc tính và phương thức từ nhiều lớp cha.

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

A. Gọi một phương thức static của lớp cha.
B. Truy cập các biến private 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.

26. Khái niệm 'microservices' trong kiến trúc phần mềm liên quan đến việc chia ứng dụng thành các phần nhỏ hơn như thế nào?

A. Chia ứng dụng thành các hàm (functions) nhỏ.
B. Chia ứng dụng thành các module có thể tái sử dụng.
C. Chia ứng dụng thành các dịch vụ độc lập, có thể triển khai và mở rộng riêng biệt.
D. Chia ứng dụng thành các lớp (classes) nhỏ hơn.

27. Dependency Injection (DI) là một pattern thiết kế phần mềm giúp giải quyết vấn đề gì?

A. Vấn đề hiệu suất của ứng dụng.
B. Vấn đề quản lý bộ nhớ.
C. Vấn đề phụ thuộc giữa các thành phần (components) trong ứng dụng.
D. Vấn đề bảo mật của ứng dụng.

28. Trong Java, từ khóa `static` có ý nghĩa gì đối với một biến thành viên (member variable)?

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

29. Sự khác biệt chính giữa `ArrayList` và `LinkedList` trong Java là gì?

A. `ArrayList` nhanh hơn trong việc thêm/xóa phần tử ở đầu danh sách, `LinkedList` nhanh hơn trong việc truy cập phần tử ngẫu nhiên.
B. `ArrayList` dựa trên mảng động, cho phép truy cập phần tử ngẫu nhiên nhanh chóng, `LinkedList` dựa trên danh sách liên kết, tối ưu cho việc thêm/xóa phần tử ở đầu hoặc giữa danh sách.
C. Không có sự khác biệt, `ArrayList` và `LinkedList` có hiệu suất tương đương trong mọi trường hợp.
D. `LinkedList` sử dụng ít bộ nhớ hơn `ArrayList`.

30. Trong ngữ cảnh của Java Stream API, 'intermediate operations' khác với 'terminal operations' như thế nào?

A. Intermediate operations tạo ra stream kết quả mới, terminal operations tiêu thụ stream và tạo ra kết quả.
B. Intermediate operations thực hiện xử lý song song, terminal operations thực hiện xử lý tuần tự.
C. Intermediate operations chỉ áp dụng cho số, terminal operations áp dụng cho mọi kiểu dữ liệu.
D. Intermediate operations thay đổi stream gốc, terminal operations không thay đổi.

1 / 30

Category: Lập trình java

Tags: Bộ đề 13

1. Trong Java Collections Framework, `List`, `Set`, và `Map` là gì?

2 / 30

Category: Lập trình java

Tags: Bộ đề 13

2. Trong Java, `garbage collection` là quá trình gì?

3 / 30

Category: Lập trình java

Tags: Bộ đề 13

3. Trong Java, `reflection` cho phép chương trình làm gì?

4 / 30

Category: Lập trình java

Tags: Bộ đề 13

4. Trong Java, `serialization` là quá trình gì?

5 / 30

Category: Lập trình java

Tags: Bộ đề 13

5. Interface trong Java khác với abstract class ở điểm nào?

6 / 30

Category: Lập trình java

Tags: Bộ đề 13

6. JDBC (Java Database Connectivity) được sử dụng để làm gì?

7 / 30

Category: Lập trình java

Tags: Bộ đề 13

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

8 / 30

Category: Lập trình java

Tags: Bộ đề 13

8. Đâu là kiểu dữ liệu nguyên thủy (primitive data type) KHÔNG phải là một phần của Java?

9 / 30

Category: Lập trình java

Tags: Bộ đề 13

9. Lambda expression trong Java 8 được sử dụng chủ yếu để làm gì?

10 / 30

Category: Lập trình java

Tags: Bộ đề 13

10. Trong Java, JPA (Java Persistence API) được sử dụng để làm gì?

11 / 30

Category: Lập trình java

Tags: Bộ đề 13

11. Trong Java, từ khóa nào được sử dụng để ngăn một lớp khác kế thừa từ một lớp?

12 / 30

Category: Lập trình java

Tags: Bộ đề 13

12. Phương thức `main` trong Java phải có đặc điểm nào sau đây để chương trình có thể thực thi?

13 / 30

Category: Lập trình java

Tags: Bộ đề 13

13. Trong Java, `checked exception` khác với `unchecked exception` như thế nào?

14 / 30

Category: Lập trình java

Tags: Bộ đề 13

14. 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?

15 / 30

Category: Lập trình java

Tags: Bộ đề 13

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

16 / 30

Category: Lập trình java

Tags: Bộ đề 13

16. Vòng lặp `for-each` trong Java được sử dụng chủ yếu để làm gì?

17 / 30

Category: Lập trình java

Tags: Bộ đề 13

17. Phương thức `start()` và `run()` trong lớp `Thread` của Java khác nhau như thế nào?

18 / 30

Category: Lập trình java

Tags: Bộ đề 13

18. Trong lập trình đa luồng (multithreading) Java, `race condition` là gì?

19 / 30

Category: Lập trình java

Tags: Bộ đề 13

19. Khái niệm nào sau đây KHÔNG liên quan đến lập trình hướng đối tượng (OOP) trong Java?

20 / 30

Category: Lập trình java

Tags: Bộ đề 13

20. Ưu điểm chính của việc sử dụng framework Spring trong phát triển ứng dụng Java là gì?

21 / 30

Category: Lập trình java

Tags: Bộ đề 13

21. Annotation trong Java được sử dụng để làm gì?

22 / 30

Category: Lập trình java

Tags: Bộ đề 13

22. Java Stream API được giới thiệu từ phiên bản Java nào?

23 / 30

Category: Lập trình java

Tags: Bộ đề 13

23. Ngoại lệ (Exception) `NullPointerException` trong Java thường xảy ra khi nào?

24 / 30

Category: Lập trình java

Tags: Bộ đề 13

24. Tính chất `đa hình` (polymorphism) trong OOP Java cho phép điều gì?

25 / 30

Category: Lập trình java

Tags: Bộ đề 13

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

26 / 30

Category: Lập trình java

Tags: Bộ đề 13

26. Khái niệm `microservices` trong kiến trúc phần mềm liên quan đến việc chia ứng dụng thành các phần nhỏ hơn như thế nào?

27 / 30

Category: Lập trình java

Tags: Bộ đề 13

27. Dependency Injection (DI) là một pattern thiết kế phần mềm giúp giải quyết vấn đề gì?

28 / 30

Category: Lập trình java

Tags: Bộ đề 13

28. Trong Java, từ khóa `static` có ý nghĩa gì đối với một biến thành viên (member variable)?

29 / 30

Category: Lập trình java

Tags: Bộ đề 13

29. Sự khác biệt chính giữa `ArrayList` và `LinkedList` trong Java là gì?

30 / 30

Category: Lập trình java

Tags: Bộ đề 13

30. Trong ngữ cảnh của Java Stream API, `intermediate operations` khác với `terminal operations` như thế nào?