Bộ số 1

Câu 1

Trong OOP, khái niệm nào liên quan đến việc một đối tượng có thể có hành vi khác nhau khi thực hiện cùng một phương thức?

Câu 2

Trong OOP, một 'abstract method' (phương thức trừu tượng) là gì?

Câu 3

Đâu là một đặc điểm của 'inheritance' (kế thừa) trong OOP?

Câu 4

Trong OOP, 'encapsulation' (đóng gói) giúp bảo vệ dữ liệu bằng cách nào?

Câu 5

Khái niệm 'Đa hình' (Polymorphism) trong OOP cho phép điều gì?

Câu 6

Trong OOP, 'method overriding' (ghi đè phương thức) khác với 'method overloading' (quá tải phương thức) ở điểm nào?

Câu 7

Khái niệm 'cohesion' (sự gắn kết) trong OOP đề cập đến điều gì?

Câu 8

Khái niệm 'composition' (sở hữu/tập hợp) trong OOP khác với 'inheritance' (kế thừa) ở điểm nào?

Câu 9

Chọn phát biểu ĐÚNG về 'Đóng gói' (Encapsulation) trong OOP.

Câu 10

Đâu là một ví dụ về 'method overloading' (quá tải phương thức) trong OOP?

Câu 11

Trong OOP, 'Trừu tượng hóa' (Abstraction) tập trung vào điều gì?

Câu 12

Đâu là một ví dụ về 'covariant return types' (kiểu trả về đồng biến) trong OOP?

Câu 13

Trong các ngôn ngữ OOP hỗ trợ 'kế thừa đa' (multiple inheritance), điều gì có thể xảy ra nếu một lớp kế thừa thuộc tính 'mauSac' từ hai lớp cha khác nhau mà không có cơ chế xử lý xung đột?

Câu 14

Tại sao việc sử dụng 'private constructors' (hàm tạo riêng tư) lại hữu ích trong OOP, ví dụ như trong mẫu thiết kế Singleton?

Câu 15

Nguyên tắc 'O' trong SOLID (Open/Closed Principle) phát biểu rằng các thực thể phần mềm (lớp, module, hàm, v.v.) nên:

Câu 16

Đâu là một ví dụ về 'dependency injection' (tiêm phụ thuộc) trong thiết kế OOP?

Câu 17

Trong OOP, khái niệm 'Constructor' (Hàm tạo) được sử dụng để làm gì?

Câu 18

Trong lập trình hướng đối tượng (OOP), khái niệm nào cho phép một lớp kế thừa các thuộc tính và phương thức từ một lớp khác?

Câu 19

Khái niệm 'encapsulation' (đóng gói) trong OOP chủ yếu nhằm mục đích gì?

Câu 20

Trong OOP, 'interface segregation principle' (nguyên tắc phân tách giao diện) nói rằng:

Câu 21

Trong OOP, 'abstraction' (trừu tượng hóa) giúp giải quyết vấn đề gì trong các hệ thống phần mềm phức tạp?

Câu 22

Đâu là một ví dụ về 'class invariant' (bất biến lớp) trong thiết kế OOP?

Câu 23

Khái niệm 'static' (tĩnh) trong OOP thường được áp dụng cho điều gì?

Câu 24

Lớp 'Dog' kế thừa từ lớp 'Animal'. Nếu chúng ta có một hàm nhận đối tượng kiểu 'Animal' và gọi phương thức 'makeSound()', thì hành vi của hàm này sẽ phụ thuộc vào điều gì để thể hiện tính đa hình (polymorphism)?

Câu 25

Trong OOP, 'composition over inheritance' (sở hữu hơn kế thừa) là một nguyên tắc thiết kế quan trọng. Tại sao?

Câu 26

Trong OOP, 'SOLID' là một tập hợp các nguyên tắc thiết kế. Nguyên tắc 'S' trong SOLID là gì?

Câu 27

Khi một lớp triển khai một giao diện (interface), điều bắt buộc là gì?

Câu 28

Đâu là một ví dụ về 'getter' (phương thức lấy giá trị) trong OOP?

Câu 29

Trong OOP, 'constructor chaining' (chuỗi hàm tạo) xảy ra khi nào?

Câu 30

Tại sao 'polymorphism' (đa hình) là một khái niệm quan trọng trong OOP?

Câu 31

Khi một lớp kế thừa từ một lớp trừu tượng (abstract class), điều bắt buộc là gì?

Câu 32

Chọn phát biểu SAI về 'Abstraction' (Trừu tượng hóa) trong OOP.

Câu 33

Trong OOP, 'Polymorphism' (đa hình) thường được thực hiện thông qua cơ chế nào?

Câu 34

Trong OOP, 'abstract class' (lớp trừu tượng) và 'interface' (giao diện) có điểm gì chung quan trọng nhất?

Câu 35

Đâu là một ví dụ về 'kế thừa đơn' (single inheritance) trong OOP?

Câu 36

Đâu là một ví dụ về 'factory pattern' (mẫu thiết kế nhà máy) trong OOP?

Câu 37

Trong OOP, 'immutable objects' (đối tượng bất biến) là gì?

Câu 38

Một lớp trừu tượng (abstract class) trong OOP có thể:

Câu 39

Đâu là một ví dụ về 'data hiding' (che giấu dữ liệu) trong OOP, một khía cạnh của đóng gói?

Câu 40

Tại sao 'coupling' (sự liên kết) giữa các lớp trong một hệ thống OOP nên được giữ ở mức thấp?