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

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 - Đề 02

Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Lập Trình .net - Đề 02 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) chịu trách nhiệm chính cho việc gì trong quá trình thực thi ứng dụng?

  • A. Biên dịch mã nguồn C# thành mã máy trực tiếp.
  • B. Quản lý bộ nhớ, thực thi mã byte trung gian (IL), và cung cấp môi trường runtime.
  • C. Đóng gói và triển khai ứng dụng .NET lên các nền tảng khác nhau.
  • D. Hỗ trợ gỡ lỗi và kiểm thử ứng dụng trong quá trình phát triển.

Câu 2: Cho đoạn mã C# sau: `List numbers = new List() { 1, 2, 3, 4, 5 }; var evenNumbers = numbers.Where(n => n % 2 == 0);`. `evenNumbers` trong đoạn mã trên là kiểu dữ liệu nào?

  • A. List
  • B. int[]
  • C. IEnumerable
  • D. IQueryable

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

  • A. 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 mã nguồn của lớp đó.
  • B. Thay thế hoàn toàn các phương thức hiện có của một lớp bằng các phương thức mới.
  • C. Tạo ra một lớp con (derived class) từ một lớp cha (base class) và thêm phương thức vào lớp con.
  • D. Thay đổi hành vi của toán tử trên các kiểu dữ liệu nguyên thủy.

Câu 4: Đâu là phát biểu đúng về sự khác biệt giữa `struct` và `class` trong C#?

  • A. `struct` hỗ trợ đa kế thừa, trong khi `class` chỉ hỗ trợ đơn kế thừa.
  • B. `struct` là kiểu giá trị (value type) và được lưu trữ trên stack, còn `class` là kiểu tham chiếu (reference type) và lưu trữ trên heap.
  • C. `struct` có thể chứa các phương thức ảo (virtual methods), còn `class` thì không.
  • D. Không có sự khác biệt đáng kể giữa `struct` và `class`, chúng có thể được sử dụng thay thế cho nhau trong mọi trường hợp.

Câu 5: Trong lập trình hướng đối tượng với C#, nguyên tắc "SOLID" nào khuyến khích việc các lớp nên được mở rộng để thay đổi hành vi, nhưng phải đóng để sửa đổi mã nguồn?

  • A. Single Responsibility Principle (SRP)
  • B. Liskov Substitution Principle (LSP)
  • C. Open/Closed Principle (OCP)
  • D. Interface Segregation Principle (ISP)

Câu 6: Cho đoạn code C# sau: `public interface ILogger { void Log(string message); } public class FileLogger : ILogger { public void Log(string message) { // Ghi log vào file } } public class ConsoleLogger : ILogger { public void Log(string message) { // Ghi log ra console } }`. Đoạn code trên thể hiện rõ nhất khái niệm nào trong lập trình hướng đối tượng?

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

Câu 7: Trong ASP.NET Core, Middleware pipeline được sử dụng để làm gì?

  • A. Định nghĩa cấu trúc dữ liệu và tương tác với cơ sở dữ liệu.
  • B. Xử lý các HTTP request và response trong ứng dụng, thực hiện các tác vụ như xác thực, ghi log, định tuyến.
  • C. Quản lý trạng thái phiên (session state) của người dùng.
  • D. Tạo giao diện người dùng động (dynamic user interface) cho ứng dụng web.

Câu 8: Dependency Injection (DI) container trong .NET Core Framework có vai trò gì chính?

  • A. Biên dịch mã nguồn ứng dụng thành mã thực thi.
  • B. Quản lý bộ nhớ và thu gom rác cho ứng dụng.
  • C. Khởi tạo và quản lý các đối tượng phụ thuộc (dependencies) của ứng dụng, giúp giảm sự phụ thuộc giữa các thành phần.
  • D. Cung cấp các dịch vụ bảo mật và xác thực cho ứng dụng.

Câu 9: Cho đoạn code C# sử dụng async/await: `public async Task CalculateAsync() { await Task.Delay(1000); return 5; } public async Task Main() { int result = await CalculateAsync(); Console.WriteLine(result); }`. Điều gì sẽ xảy ra khi đoạn code này được thực thi?

  • A. Chương trình sẽ in ra số 5 sau khoảng 1 giây.
  • B. Chương trình sẽ in ra số 5 ngay lập tức mà không cần chờ.
  • C. Chương trình sẽ gây ra lỗi runtime do sử dụng `await` trong `Main` method.
  • D. Chương trình sẽ không in ra gì cả và kết thúc ngay lập tức.

Câu 10: Trong Entity Framework Core (EF Core), "Code-First" approach nghĩa là gì?

  • A. Database được thiết kế và tạo ra trước, sau đó code C# được sinh ra dựa trên database schema.
  • B. Code C# và database schema phải được thiết kế đồng thời và song song.
  • C. Chỉ database được tạo ra, code C# không cần thiết trong quá trình phát triển.
  • D. Code C# (model lớp) được viết trước, và EF Core sẽ tự động tạo database schema tương ứng từ code.

Câu 11: `Garbage Collector` (GC) trong .NET CLR thực hiện công việc chính nào?

  • A. Biên dịch mã IL thành mã máy.
  • B. Quản lý luồng (threads) trong ứng dụng.
  • C. Tự động thu hồi bộ nhớ không còn được sử dụng bởi ứng dụng, ngăn ngừa rò rỉ bộ nhớ.
  • D. Xác thực và phân quyền truy cập vào các tài nguyên hệ thống.

Câu 12: `Boxing` và `Unboxing` trong C# liên quan đến việc chuyển đổi giữa kiểu dữ liệu nào?

  • A. Giữa các kiểu dữ liệu nguyên thủy khác nhau (ví dụ: int sang float).
  • B. Giữa kiểu giá trị (value type) và kiểu tham chiếu (reference type - cụ thể là object).
  • C. Giữa các lớp kế thừa nhau trong hệ thống phân cấp lớp.
  • D. Giữa các kiểu dữ liệu nullable và non-nullable.

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

  • A. Khai báo một lớp hoặc phương thức là tĩnh (static).
  • B. Khai báo một lớp hoặc phương thức là trừu tượng (abstract).
  • C. Cho phép một lớp hoặc phương thức được kế thừa hoặc override ở bất kỳ đâu.
  • D. Ngăn chặn một lớp không thể bị kế thừa hoặc một phương thức ảo không thể bị override trong lớp con.

Câu 14: Namespace `System.Reflection` trong .NET Framework cung cấp chức năng chính nào?

  • A. Cho phép kiểm tra metadata của assemblies, types, members và tạo instance của types tại runtime.
  • B. Cung cấp các lớp để làm việc với các luồng (streams) và file system.
  • C. Hỗ trợ các hoạt động mạng và giao tiếp qua giao thức HTTP.
  • D. Cung cấp các lớp và interface cho lập trình đa luồng (multithreading).

Câu 15: `Delegates` trong C# có thể được xem như là?

  • A. Một kiểu dữ liệu nguyên thủy để lưu trữ các giá trị số nguyên.
  • B. Một cơ chế để quản lý bộ nhớ và thu gom rác.
  • C. Một kiểu dữ liệu tham chiếu đại diện cho các phương thức, cho phép truyền phương thức như tham số.
  • D. Một cách để tạo ra các lớp trừu tượng (abstract classes).

Câu 16: Cho đoạn mã C#: `try { // Code có thể gây ra exception } catch (Exception ex) { // Xử lý exception } finally { // Code luôn được thực thi }`. Khối `finally` được sử dụng để làm gì?

  • A. Chỉ thực thi khi có exception xảy ra trong khối `try`.
  • B. Luôn được thực thi, bất kể có exception xảy ra hay không, thường dùng để giải phóng tài nguyên.
  • C. Thực thi thay cho khối `catch` nếu không có exception xảy ra.
  • D. Không có vai trò cụ thể, chỉ dùng để ghi log exception.

Câu 17: `async` và `await` keywords trong C# được sử dụng chủ yếu để giải quyết vấn đề gì?

  • A. Tăng hiệu suất tính toán của CPU.
  • B. Giảm thiểu sử dụng bộ nhớ RAM.
  • C. Đơn giản hóa việc quản lý đa luồng.
  • D. Viết mã bất đồng bộ một cách dễ đọc và dễ bảo trì, tránh blocking UI thread trong các ứng dụng GUI.

Câu 18: Trong mô hình lập trình Web API .NET Core, HTTP methods nào thường được sử dụng để tạo mới một tài nguyên (resource)?

  • A. POST
  • B. GET
  • C. PUT
  • D. DELETE

Câu 19: Cho đoạn code C#: `string name =

  • A.
  • B.
  • C.
  • D. Lỗi biên dịch do cú pháp không hợp lệ.

Câu 20: Trong .NET, khái niệm `NuGet` package manager dùng để làm gì?

  • A. Biên dịch và đóng gói ứng dụng .NET để triển khai.
  • B. Quản lý và cài đặt các thư viện và dependencies của bên thứ ba vào dự án .NET.
  • C. Gỡ lỗi và kiểm thử ứng dụng .NET.
  • D. Tạo giao diện người dùng đồ họa (GUI) cho ứng dụng .NET.

Câu 21: Đâu là kiểu dữ liệu tham chiếu (reference type) trong các lựa chọn sau của C#?

  • A. int
  • B. enum
  • C. string
  • D. struct

Câu 22: Trong C#, từ khóa `virtual` được sử dụng khi muốn...

  • A. ngăn chặn một phương thức bị override trong lớp con.
  • B. cho phép một phương thức của lớp cha có thể được override bởi lớp con.
  • C. khai báo một phương thức là tĩnh (static).
  • D. khai báo một phương thức là private.

Câu 23: `LINQ` (Language Integrated Query) trong .NET Framework cung cấp khả năng chính nào?

  • A. Quản lý bộ nhớ tự động và thu gom rác.
  • B. Tạo giao diện người dùng đồ họa (GUI) cho ứng dụng.
  • C. Xử lý bất đồng bộ và đa luồng.
  • D. Truy vấn dữ liệu từ nhiều nguồn khác nhau (collections, databases, XML, etc.) một cách thống nhất bằng cú pháp giống SQL.

Câu 24: Trong ASP.NET Core MVC, `IActionResult` interface được sử dụng để làm gì?

  • A. Định nghĩa model dữ liệu cho view.
  • B. Xử lý các HTTP request trước khi đến action method.
  • C. Đại diện cho kết quả trả về của một action method, bao gồm HTTP status code, content type, và body response.
  • D. Quản lý routing và điều hướng trong ứng dụng MVC.

Câu 25: Cho đoạn code C#: `int? nullableInt = null;`. `nullableInt` có thể nhận giá trị nào?

  • A. Chỉ có thể nhận giá trị số nguyên dương.
  • B. Có thể nhận giá trị số nguyên hoặc `null`.
  • C. Chỉ có thể nhận giá trị 0 hoặc 1.
  • D. Chỉ có thể nhận giá trị số nguyên âm.

Câu 26: Trong C#, thuộc tính (property) khác với trường (field) ở điểm nào chính?

  • A. Trường (field) luôn là public, còn thuộc tính (property) luôn là private.
  • B. Thuộc tính (property) không thể có kiểu dữ liệu, còn trường (field) thì có.
  • C. Trường (field) chỉ có thể đọc, còn thuộc tính (property) có thể đọc và ghi.
  • D. Thuộc tính (property) cung cấp cơ chế truy cập có kiểm soát thông qua `get` và `set` accessors, trong khi trường (field) truy cập trực tiếp.

Câu 27: Trong .NET Core, cấu hình ứng dụng (application configuration) thường được quản lý thông qua file nào?

  • A. appsettings.json
  • B. web.config
  • C. Program.cs
  • D. Startup.cs

Câu 28: Kiểu dữ liệu `dynamic` trong C# có đặc điểm gì nổi bật?

  • A. Là kiểu dữ liệu tĩnh, được kiểm tra kiểu tại thời điểm biên dịch.
  • B. Chỉ có thể lưu trữ các giá trị số nguyên.
  • C. Kiểm tra kiểu (type checking) được thực hiện tại thời gian chạy (runtime), không phải thời gian biên dịch (compile time).
  • D. Không thể sử dụng trong các ứng dụng web ASP.NET Core.

Câu 29: Trong Entity Framework Core, phương thức `Include()` dùng để làm gì?

  • A. Lọc dữ liệu trả về từ database theo điều kiện chỉ định.
  • B. Tải trước (eager loading) các related entities trong một query, tránh vấn đề N+1 query.
  • C. Thêm một entity mới vào database context.
  • D. Cập nhật một entity đã tồn tại trong database.

Câu 30: Cho đoạn code C#: `Action greet = name => { Console.WriteLine(

  • A. Một biến kiểu string.
  • B. Một phương thức tĩnh (static method).
  • C. Một lớp (class) dùng để in ra lời chào.
  • D. Một delegate type `Action` đại diện cho một phương thức nhận một tham số kiểu string và không trả về giá trị.

1 / 30

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

Tags: Bộ đề 2

Câu 1: Trong .NET, Common Language Runtime (CLR) chịu trách nhiệm chính cho việc gì trong quá trình thực thi ứng dụng?

2 / 30

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

Tags: Bộ đề 2

Câu 2: Cho đoạn mã C# sau: `List numbers = new List() { 1, 2, 3, 4, 5 }; var evenNumbers = numbers.Where(n => n % 2 == 0);`. `evenNumbers` trong đoạn mã trên là kiểu dữ liệu nào?

3 / 30

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

Tags: Bộ đề 2

Câu 3: Phương thức mở rộng (Extension Method) trong C# cho phép 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ộ đề 2

Câu 4: Đâu là phát biểu đúng về sự khác biệt giữa `struct` và `class` trong C#?

5 / 30

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

Tags: Bộ đề 2

Câu 5: Trong lập trình hướng đối tượng với C#, nguyên tắc 'SOLID' nào khuyến khích việc các lớp nên được mở rộng để thay đổi hành vi, nhưng phải đóng để sửa đổi mã nguồn?

6 / 30

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

Tags: Bộ đề 2

Câu 6: Cho đoạn code C# sau: `public interface ILogger { void Log(string message); } public class FileLogger : ILogger { public void Log(string message) { // Ghi log vào file } } public class ConsoleLogger : ILogger { public void Log(string message) { // Ghi log ra console } }`. Đoạn code trên thể hiện rõ nhất khái niệm nào trong lập trình hướng đối tượng?

7 / 30

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

Tags: Bộ đề 2

Câu 7: Trong ASP.NET Core, Middleware pipeline được sử dụng để làm gì?

8 / 30

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

Tags: Bộ đề 2

Câu 8: Dependency Injection (DI) container trong .NET Core Framework có vai trò gì chính?

9 / 30

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

Tags: Bộ đề 2

Câu 9: Cho đoạn code C# sử dụng async/await: `public async Task CalculateAsync() { await Task.Delay(1000); return 5; } public async Task Main() { int result = await CalculateAsync(); Console.WriteLine(result); }`. Điều gì sẽ xảy ra khi đoạn code này được thực thi?

10 / 30

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

Tags: Bộ đề 2

Câu 10: Trong Entity Framework Core (EF Core), 'Code-First' approach nghĩa là gì?

11 / 30

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

Tags: Bộ đề 2

Câu 11: `Garbage Collector` (GC) trong .NET CLR thực hiện công việc chính nào?

12 / 30

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

Tags: Bộ đề 2

Câu 12: `Boxing` và `Unboxing` trong C# liên quan đến việc chuyển đổi giữa kiểu dữ liệu nào?

13 / 30

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

Tags: Bộ đề 2

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

14 / 30

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

Tags: Bộ đề 2

Câu 14: Namespace `System.Reflection` trong .NET Framework cung cấp chức năng chính nào?

15 / 30

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

Tags: Bộ đề 2

Câu 15: `Delegates` trong C# có thể được xem như là?

16 / 30

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

Tags: Bộ đề 2

Câu 16: Cho đoạn mã C#: `try { // Code có thể gây ra exception } catch (Exception ex) { // Xử lý exception } finally { // Code luôn được thực thi }`. Khối `finally` được sử dụng để làm gì?

17 / 30

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

Tags: Bộ đề 2

Câu 17: `async` và `await` keywords trong C# được sử dụng chủ yếu để giải quyết vấn đề gì?

18 / 30

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

Tags: Bộ đề 2

Câu 18: Trong mô hình lập trình Web API .NET Core, HTTP methods nào thường được sử dụng để tạo mới một tài nguyên (resource)?

19 / 30

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

Tags: Bộ đề 2

Câu 19: Cho đoạn code C#: `string name =

20 / 30

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

Tags: Bộ đề 2

Câu 20: Trong .NET, khái niệm `NuGet` package manager dùng để làm gì?

21 / 30

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

Tags: Bộ đề 2

Câu 21: Đâu là kiểu dữ liệu tham chiếu (reference type) trong các lựa chọn sau của C#?

22 / 30

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

Tags: Bộ đề 2

Câu 22: Trong C#, từ khóa `virtual` được sử dụng khi muốn...

23 / 30

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

Tags: Bộ đề 2

Câu 23: `LINQ` (Language Integrated Query) trong .NET Framework cung cấp khả năng chính nào?

24 / 30

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

Tags: Bộ đề 2

Câu 24: Trong ASP.NET Core MVC, `IActionResult` interface được sử dụng để 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ộ đề 2

Câu 25: Cho đoạn code C#: `int? nullableInt = null;`. `nullableInt` có thể nhận giá trị nào?

26 / 30

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

Tags: Bộ đề 2

Câu 26: Trong C#, thuộc tính (property) khác với trường (field) ở điểm nào chính?

27 / 30

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

Tags: Bộ đề 2

Câu 27: Trong .NET Core, cấu hình ứng dụng (application configuration) thường được quản lý thông qua file nào?

28 / 30

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

Tags: Bộ đề 2

Câu 28: Kiểu dữ liệu `dynamic` trong C# có đặc điểm gì nổi bật?

29 / 30

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

Tags: Bộ đề 2

Câu 29: Trong Entity Framework Core, phương thức `Include()` dùng để làm gì?

30 / 30

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

Tags: Bộ đề 2

Câu 30: Cho đoạn code C#: `Action greet = name => { Console.WriteLine("Hello, " + name + "!"); };`. `greet` trong đoạn code trên là gì?

Xem kết quả