Bài Tập, Đề Thi Trắc Nghiệm Online – Môn Lập Trình .net – Đề 04

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é!!!


Môn Lập Trình .net

Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình .net - Đề 04

Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình .net - Đề 04 bao gồm nhiều câu hỏi hay, bám sát chương trình. Cùng làm bài tập trắc nghiệm ngay.

Câu 1: Trong .NET, Common Language Runtime (CLR) đóng vai trò trung tâm. Chức năng chính nào sau đây KHÔNG thuộc về CLR?

  • A. Quản lý bộ nhớ và thu gom rác (Garbage Collection)
  • B. Cung cấp môi trường thực thi mã an toàn và tin cậy
  • C. Hỗ trợ đa ngôn ngữ lập trình (.NET Languages)
  • D. Biên dịch mã nguồn C# thành mã máy (Machine Code)

Câu 2: Cho đoạn mã C# sau: `int x = 10; string y =

  • A. int, 30
  • B. string,
  • C. string,
  • D. Lỗi biên dịch do không thể cộng `int` và `string`

Câu 3: Phương thức mở rộng (Extension Method) trong C# cho phép bạn làm gì?

  • A. Thay đổi hành vi của các phương thức hiện có trong một lớp.
  • B. Thêm phương thức mới vào một lớp đã tồn tại mà không cần kế thừa hoặc sửa đổi lớp gốc.
  • C. Tạo ra một lớp con (derived class) từ một lớp cha (base class).
  • D. Giới hạn khả năng truy cập của các phương thức trong một lớp.

Câu 4: Kiểu dữ liệu `Nullable` (hoặc `T?` trong C#) được sử dụng để giải quyết vấn đề gì trong lập trình?

  • A. Cho phép các kiểu dữ liệu giá trị (value types) có thể nhận giá trị `null`.
  • B. Tăng hiệu suất truy cập bộ nhớ cho các biến kiểu giá trị.
  • C. Đảm bảo tính toàn vẹn dữ liệu khi làm việc với cơ sở dữ liệu.
  • D. Thay thế cho kiểu dữ liệu tham chiếu (reference types) trong một số trường hợp.

Câu 5: Trong lập trình hướng đối tượng với C#, "tính đa hình" (Polymorphism) mang lại lợi ích chính nào?

  • A. Tăng tốc độ thực thi chương trình.
  • B. Giảm thiểu sử dụng bộ nhớ.
  • C. Cho phép đối tượng thuộc các lớp khác nhau phản ứng khác nhau với cùng một thông điệp (phương thức).
  • D. Đơn giản hóa cấu trúc dữ liệu.

Câu 6: ADO.NET là công nghệ của .NET Framework dùng để làm gì?

  • A. Xây dựng giao diện người dùng đồ họa (GUI).
  • B. Truy cập và thao tác với dữ liệu từ các nguồn dữ liệu khác nhau (ví dụ: cơ sở dữ liệu).
  • C. Phát triển ứng dụng web phía máy chủ.
  • D. Quản lý bộ nhớ và thu gom rác.

Câu 7: LINQ (Language Integrated Query) trong C# cung cấp cách tiếp cận thống nhất để truy vấn dữ liệu từ nhiều nguồn khác nhau. Nguồn dữ liệu nào sau đây KHÔNG PHẢI là nguồn dữ liệu mà LINQ có thể truy vấn trực tiếp?

  • A. Bộ sưu tập các đối tượng trong bộ nhớ (Collections).
  • B. Tài liệu XML.
  • C. Cơ sở dữ liệu quan hệ (Relational Databases).
  • D. API hệ điều hành (Operating System APIs).

Câu 8: Trong ASP.NET Core, "Middleware" là gì và nó hoạt động như thế nào trong pipeline xử lý request?

  • A. Một loại controller đặc biệt để xử lý các request tĩnh.
  • B. Một cơ chế bảo mật để xác thực và ủy quyền người dùng.
  • C. Các thành phần phần mềm được xếp chồng lên nhau để xử lý các HTTP request và response trong ứng dụng ASP.NET Core.
  • D. Một công cụ để tạo và quản lý cơ sở dữ liệu cho ứng dụng ASP.NET Core.

Câu 9: Dependency Injection (DI) là một nguyên tắc quan trọng trong phát triển ứng dụng .NET hiện đại. Lợi ích chính của việc sử dụng DI là gì?

  • A. Giảm sự phụ thuộc giữa các thành phần (loose coupling), tăng tính module hóa và khả năng tái sử dụng code.
  • B. Tăng hiệu suất ứng dụng bằng cách giảm thời gian khởi tạo đối tượng.
  • C. Đơn giản hóa quá trình triển khai ứng dụng lên môi trường production.
  • D. Tự động tạo ra tài liệu kỹ thuật cho ứng dụng.

Câu 10: Cho đoạn mã C# sau: `List numbers = new List() { 1, 2, 3, 4, 5 }; numbers.RemoveAt(2);`. Sau khi thực thi, danh sách `numbers` sẽ chứa các phần tử nào?

  • A. { 1, 2, 4, 5, null }
  • B. { 1, 2, 4, 5 }
  • C. { 1, 2, 3, 5 }
  • D. { 1, 2, 3, 4 }

Câu 11: Trong C#, từ khóa `async` và `await` được sử dụng để làm gì?

  • A. Tăng tốc độ thực thi các vòng lặp.
  • B. Quản lý bộ nhớ một cách hiệu quả hơn.
  • C. Thực hiện đa luồng (multi-threading) để tăng hiệu suất.
  • D. Viết mã bất đồng bộ để thực hiện các tác vụ không đồng bộ mà không block thread chính.

Câu 12: Unit Testing là một phần quan trọng của quy trình phát triển phần mềm. Mục đích chính của việc viết Unit Test là gì?

  • A. Đo lường hiệu suất của ứng dụng.
  • B. Kiểm tra tính bảo mật của ứng dụng.
  • C. Xác minh tính đúng đắn của từng đơn vị mã (unit) nhỏ nhất trong ứng dụng.
  • D. Tự động tạo tài liệu hướng dẫn sử dụng cho ứng dụng.

Câu 13: Giải thích sự khác biệt chính giữa "Value Type" và "Reference Type" trong C#.

  • A. Value Type được lưu trữ trên Heap, Reference Type được lưu trữ trên Stack.
  • B. Value Type lưu trữ giá trị trực tiếp, Reference Type lưu trữ tham chiếu đến vị trí bộ nhớ chứa giá trị.
  • C. Value Type có thể nhận giá trị null, Reference Type không thể.
  • D. Không có sự khác biệt đáng kể giữa Value Type và Reference Type.

Câu 14: Trong C#, "Delegate" là gì và nó thường được sử dụng để làm gì?

  • A. Một kiểu dữ liệu đặc biệt để lưu trữ cấu hình ứng dụng.
  • B. Một cơ chế để quản lý bộ nhớ và thu gom rác.
  • C. Một cách để tạo ra các lớp kế thừa (inheritance).
  • D. Một kiểu dữ liệu đại diện cho phương thức, thường được dùng cho callback functions và xử lý sự kiện.

Câu 15: Cho đoạn code C# sau: `string message =

  • A.
  • B.
  • C.
  • D. Lỗi runtime vì index vượt quá độ dài chuỗi.

Câu 16: Trong .NET, "Garbage Collection" (GC) là gì và tại sao nó quan trọng?

  • A. Quá trình tự động thu hồi bộ nhớ không còn được sử dụng bởi ứng dụng, giúp ngăn chặn rò rỉ bộ nhớ và quản lý bộ nhớ hiệu quả.
  • B. Một cơ chế bảo mật để bảo vệ bộ nhớ khỏi truy cập trái phép.
  • C. Một kỹ thuật tối ưu hóa hiệu suất bằng cách nén bộ nhớ.
  • D. Một công cụ để gỡ lỗi và phân tích bộ nhớ ứng dụng.

Câu 17: Cho đoạn mã C# sau: `int? count = null; int result = count ?? 0;`. Giá trị của biến `result` sau khi thực thi là bao nhiêu?

  • A. null
  • B. 0
  • C. Lỗi runtime.
  • D. Giá trị không xác định.

Câu 18: "Interface" trong C# khác với "Abstract Class" như thế nào?

  • A. Interface có thể chứa implementation cho các phương thức, Abstract Class thì không.
  • B. Abstract Class hỗ trợ đa kế thừa, Interface thì không.
  • C. Interface chỉ định nghĩa contract (chứa khai báo phương thức, thuộc tính, sự kiện, chỉ mục), Abstract Class có thể chứa implementation cho một số thành viên.
  • D. Không có sự khác biệt về chức năng, chỉ khác nhau về cú pháp.

Câu 19: Attribute trong C# được sử dụng để làm gì?

  • A. Tăng hiệu suất thực thi của ứng dụng.
  • B. Kiểm soát quyền truy cập vào các thành viên của lớp.
  • C. Định nghĩa giao diện người dùng đồ họa.
  • D. Cung cấp metadata (dữ liệu về dữ liệu) cho code, có thể được sử dụng bởi runtime, compiler hoặc các công cụ khác.

Câu 20: Cho đoạn mã C# sau: `string[] names = {

  • A. Alice
    Bob
    Charlie
  • B. Alice Bob Charlie
  • C. Charlie
    Bob
    Alice
  • D. Không in ra gì do lỗi cú pháp.

Câu 21: "Generics" trong C# mang lại lợi ích gì trong lập trình?

  • A. Tăng tốc độ biên dịch code.
  • B. Tạo ra code type-safe, tái sử dụng code cho nhiều kiểu dữ liệu khác nhau, và tránh boxing/unboxing.
  • C. Đơn giản hóa việc quản lý bộ nhớ.
  • D. Cải thiện khả năng đọc hiểu code.

Câu 22: Trong ASP.NET Core MVC, "Controller" có vai trò gì?

  • A. Định nghĩa giao diện người dùng (UI) của ứng dụng web.
  • B. Quản lý dữ liệu và logic nghiệp vụ của ứng dụng.
  • C. Xử lý các request từ người dùng, tương tác với model, và chọn view để trả về response.
  • D. Cấu hình routing và middleware cho ứng dụng.

Câu 23: Cho đoạn code C#: `int[] numbers = { 5, 2, 8, 1, 9 }; Array.Sort(numbers);`. Mảng `numbers` sẽ chứa các phần tử nào sau khi thực thi?

  • A. { 9, 8, 5, 2, 1 }
  • B. { 5, 2, 8, 1, 9 }
  • C. { 5, 8, 9, 2, 1 }
  • D. { 1, 2, 5, 8, 9 }

Câu 24: "Exception Handling" trong .NET là cơ chế để làm gì?

  • A. Xử lý các lỗi xảy ra trong quá trình thực thi chương trình (runtime errors) một cách có cấu trúc và kiểm soát.
  • B. Ngăn chặn lỗi xảy ra trong quá trình biên dịch.
  • C. Tối ưu hóa hiệu suất ứng dụng khi có lỗi.
  • D. Tự động sửa lỗi trong code.

Câu 25: Trong C#, từ khóa `sealed` được sử dụng để làm gì khi khai báo một class?

  • A. Làm cho lớp trở thành abstract class.
  • B. Ngăn không cho lớp khác kế thừa từ lớp này.
  • C. Bảo vệ lớp khỏi bị thay đổi trong quá trình runtime.
  • D. Tăng hiệu suất truy cập đến các thành viên của lớp.

Câu 26: "Reflection" trong .NET cho phép bạn làm gì?

  • A. Biên dịch code C# thành mã máy.
  • B. Gỡ lỗi và debug ứng dụng .NET.
  • C. Kiểm tra metadata và thông tin về types, assemblies, modules tại runtime.
  • D. Tối ưu hóa hiệu suất ứng dụng bằng cách thay đổi code runtime.

Câu 27: Cho đoạn mã C# sau: `var result = 5 > 3 ?

  • A.
  • B.
  • C. true
  • D. false

Câu 28: "NuGet" là gì trong hệ sinh thái .NET và nó được sử dụng để làm gì?

  • A. Một công cụ để biên dịch và build ứng dụng .NET.
  • B. Một package manager cho .NET, cho phép dễ dàng quản lý và sử dụng các thư viện và packages bên ngoài.
  • C. Một framework để phát triển ứng dụng web ASP.NET Core.
  • D. Một công cụ để kiểm thử hiệu suất ứng dụng .NET.

Câu 29: Trong C#, từ khóa `virtual` và `override` được sử dụng cùng nhau để hiện thực cơ chế nào?

  • A. Tính đóng gói (Encapsulation).
  • B. Tính trừu tượng (Abstraction).
  • C. Tính đa hình (Polymorphism) thông qua kế thừa.
  • D. Tính kế thừa (Inheritance).

Câu 30: Cho đoạn code C# sau: `Dictionary ages = new Dictionary(); ages.Add(

  • A.
  • B.
  • C. 30
  • D. 25

1 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình .net

Tags: Bộ đề 4

Câu 1: Trong .NET, Common Language Runtime (CLR) đóng vai trò trung tâm. Chức năng chính nào sau đây KHÔNG thuộc về CLR?

2 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình .net

Tags: Bộ đề 4

Câu 2: Cho đoạn mã C# sau: `int x = 10; string y = "20"; var z = x + y;`. Biến `z` sẽ có kiểu dữ liệu nào và giá trị là bao nhiêu sau khi đoạn mã này thực thi?

3 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình .net

Tags: Bộ đề 4

Câu 3: Phương thức mở rộng (Extension Method) trong C# cho phép bạn làm gì?

4 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình .net

Tags: Bộ đề 4

Câu 4: Kiểu dữ liệu `Nullable` (hoặc `T?` trong C#) được sử dụng để giải quyết vấn đề gì trong lập trình?

5 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình .net

Tags: Bộ đề 4

Câu 5: Trong lập trình hướng đối tượng với C#, 'tính đa hình' (Polymorphism) mang lại lợi ích chính nào?

6 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình .net

Tags: Bộ đề 4

Câu 6: ADO.NET là công nghệ của .NET Framework dùng để làm gì?

7 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình .net

Tags: Bộ đề 4

Câu 7: LINQ (Language Integrated Query) trong C# cung cấp cách tiếp cận thống nhất để truy vấn dữ liệu từ nhiều nguồn khác nhau. Nguồn dữ liệu nào sau đây KHÔNG PHẢI là nguồn dữ liệu mà LINQ có thể truy vấn trực tiếp?

8 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình .net

Tags: Bộ đề 4

Câu 8: Trong ASP.NET Core, 'Middleware' là gì và nó hoạt động như thế nào trong pipeline xử lý request?

9 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình .net

Tags: Bộ đề 4

Câu 9: Dependency Injection (DI) là một nguyên tắc quan trọng trong phát triển ứng dụng .NET hiện đại. Lợi ích chính của việc sử dụng DI là gì?

10 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình .net

Tags: Bộ đề 4

Câu 10: Cho đoạn mã C# sau: `List numbers = new List() { 1, 2, 3, 4, 5 }; numbers.RemoveAt(2);`. Sau khi thực thi, danh sách `numbers` sẽ chứa các phần tử nào?

11 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình .net

Tags: Bộ đề 4

Câu 11: Trong C#, từ khóa `async` và `await` được sử dụng để làm gì?

12 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình .net

Tags: Bộ đề 4

Câu 12: Unit Testing là một phần quan trọng của quy trình phát triển phần mềm. Mục đích chính của việc viết Unit Test là gì?

13 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình .net

Tags: Bộ đề 4

Câu 13: Giải thích sự khác biệt chính giữa 'Value Type' và 'Reference Type' trong C#.

14 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình .net

Tags: Bộ đề 4

Câu 14: Trong C#, 'Delegate' là gì và nó thường được sử dụng để làm gì?

15 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình .net

Tags: Bộ đề 4

Câu 15: Cho đoạn code C# sau: `string message = "Hello World!"; string sub = message.Substring(6);`. Giá trị của biến `sub` sau khi thực thi là gì?

16 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình .net

Tags: Bộ đề 4

Câu 16: Trong .NET, 'Garbage Collection' (GC) là gì và tại sao nó quan trọng?

17 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình .net

Tags: Bộ đề 4

Câu 17: Cho đoạn mã C# sau: `int? count = null; int result = count ?? 0;`. Giá trị của biến `result` sau khi thực thi là bao nhiêu?

18 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình .net

Tags: Bộ đề 4

Câu 18: 'Interface' trong C# khác với 'Abstract Class' như thế nào?

19 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình .net

Tags: Bộ đề 4

Câu 19: Attribute trong C# được sử dụng để làm gì?

20 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình .net

Tags: Bộ đề 4

Câu 20: Cho đoạn mã C# sau: `string[] names = { "Alice", "Bob", "Charlie" }; foreach (string name in names) { Console.WriteLine(name); }`. Đoạn mã này sẽ in ra màn hình những gì?

21 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình .net

Tags: Bộ đề 4

Câu 21: 'Generics' trong C# mang lại lợi ích gì trong lập trình?

22 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình .net

Tags: Bộ đề 4

Câu 22: Trong ASP.NET Core MVC, 'Controller' có vai trò gì?

23 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình .net

Tags: Bộ đề 4

Câu 23: Cho đoạn code C#: `int[] numbers = { 5, 2, 8, 1, 9 }; Array.Sort(numbers);`. Mảng `numbers` sẽ chứa các phần tử nào sau khi thực thi?

24 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình .net

Tags: Bộ đề 4

Câu 24: 'Exception Handling' trong .NET là cơ chế để làm gì?

25 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình .net

Tags: Bộ đề 4

Câu 25: Trong C#, từ khóa `sealed` được sử dụng để làm gì khi khai báo một class?

26 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình .net

Tags: Bộ đề 4

Câu 26: 'Reflection' trong .NET cho phép bạn làm gì?

27 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình .net

Tags: Bộ đề 4

Câu 27: Cho đoạn mã C# sau: `var result = 5 > 3 ? "True" : "False";`. Giá trị của biến `result` sau khi thực thi là gì?

28 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình .net

Tags: Bộ đề 4

Câu 28: 'NuGet' là gì trong hệ sinh thái .NET và nó được sử dụng để làm gì?

29 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình .net

Tags: Bộ đề 4

Câu 29: Trong C#, từ khóa `virtual` và `override` được sử dụng cùng nhau để hiện thực cơ chế nào?

30 / 30

Category: Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình .net

Tags: Bộ đề 4

Câu 30: Cho đoạn code C# sau: `Dictionary ages = new Dictionary(); ages.Add("Alice", 30); ages.Add("Bob", 25); Console.WriteLine(ages["Bob"]);`. Đoạn mã này sẽ in ra màn hình giá trị nào?

Xem kết quả