Bộ 3 - Trắc nghiệm Lập trình hướng đối tượng có đáp án

Thời gian còn lại: --:--

Câu 1: Trong lập trình hướng đối tượng (OOP), mục đích chính của tính đóng gói (Encapsulation) là gì?

Câu 2: Sự khác biệt chính giữa 'Overloading' (Nạp chồng) và 'Overriding' (Ghi đè) là gì?

Câu 3: Đặc điểm nào sau đây là đúng khi nói về một 'Lớp trừu tượng' (Abstract Class)?

Câu 4: Trong mối quan hệ giữa các đối tượng, 'Composition' (Thành phần) khác với 'Aggregation' (Thu gom) ở điểm nào?

Câu 5: Nguyên lý 'Liskov Substitution' (L thuộc SOLID) phát biểu điều gì?

Câu 6: Tính đa hình (Polymorphism) trong OOP cho phép điều gì?

Câu 7: Phạm vi truy cập (Access Modifier) 'protected' có ý nghĩa như thế nào?

Câu 8: Lợi ích lớn nhất của việc sử dụng 'Interface' thay vì kế thừa từ một lớp cụ thể là gì?

Câu 9: Trong OOP, từ khóa 'static' gắn với một phương thức có nghĩa là gì?

Câu 10: Nguyên lý 'Single Responsibility' (S trong SOLID) khuyên chúng ta điều gì khi thiết kế lớp?

Câu 11: Hiện tượng 'Diamond Problem' (Vấn đề hình thoi) xảy ra trong trường hợp nào?

Câu 12: Từ khóa 'this' trong Java hoặc C# thường được dùng để làm gì?

Câu 13: Hàm khởi tạo (Constructor) có đặc điểm nào sau đây là SAI?

Câu 14: Kỹ thuật 'Dependency Inversion' (D trong SOLID) có mục đích gì?

Câu 15: Trong OOP, khái niệm 'Late Binding' (Liên kết muộn) liên quan chặt chẽ nhất đến tính chất nào?

Câu 16: Quan hệ 'Association' (Hiệp hội) giữa hai lớp đối tượng được hiểu là gì?

Câu 17: Tại sao việc sử dụng quá nhiều tính chất 'Kế thừa' có thể dẫn đến thiết kế tồi?

Câu 18: Mục đích của việc sử dụng từ khóa 'final' (Java) hoặc 'sealed' (C#) trước một tên lớp là gì?

Câu 19: Trong lập trình hướng đối tượng, 'Cohesion' (Độ kết dính) cao được hiểu là gì?

Câu 20: Đâu là mô tả đúng về 'Interface Segregation Principle' (I trong SOLID)?

Câu 21: Sự khác biệt giữa 'Shallow Copy' và 'Deep Copy' khi sao chép đối tượng là gì?

Câu 22: Trong OOP, khái niệm 'Abstract Method' (Phương thức trừu tượng) có đặc điểm gì?

Câu 23: Nguyên lý 'Open/Closed' (O trong SOLID) có nghĩa là gì?

Câu 24: Từ khóa 'super' (Java) hoặc 'base' (C#) được sử dụng để làm gì?

Câu 25: Mục đích của việc sử dụng 'Private Constructor' (Hàm khởi tạo riêng tư) là gì?