100 câu hỏi và câu trả lời phỏng vấn .net hàng đầu năm 2022

Bạn đang lo lắng khi lần đầu phỏng vấn? Bạn cảm thấy thiếu tự tin về kinh nghiệm khi apply vào các công ty IT? Đừng hoang mang vì hôm nay, TopDev sẽ bật mí với các bạn những câu hỏi phỏng vấn từ các các nhà tuyển dụng IT. Bài viết là những chia sẻ thông qua các trải nghiệm tuyển dụng thực tế của đội ngũ TopDev, hy vọng sẽ có ích cho các bạn.

Show

Thách thức bài test đầu vào – Liệu bạn đã sẵn sàng?

Nghe thì đã sợ, đó là cảm giác ám ảnh suốt một khoảng thời gian dài đúng không nào? Tuy nhiên, bạn đừng lo, bài test đầu vào của một công ty IT nhằm đánh giá tổng quát những kiến thức cơ bản của bạn về vị trí ứng tuyển. Vì thế, bạn nên thoải mái, giữ một tinh thần tốt để sẵn sàng hoàn thành bài thi bất cứ lúc nào nhé.

100 câu hỏi và câu trả lời phỏng vấn .net hàng đầu năm 2022

100 câu hỏi và câu trả lời phỏng vấn .net hàng đầu năm 2022

Cụ thể trong thách thức đầu tiên, bạn cần thể hiện mình có những am hiểu cơ bản về chuyên môn lập trình, tư duy logic và khả năng về ngoại ngữ. Trong đó, bài thi về chuyên môn lập trình bao gồm bộ câu hỏi trắc nghiệm nhằm giúp bạn hệ thống lại các kiến thức xoay quanh nền tảng lập trình (Java core), web (HTML, CSS, JS), database. Chung quy lại, việc kiểm tra năng lực của bạn sẽ đi từ việc khai thác kiến thức Front-end đến Back-end và Database.

Quan trọng nhất – Vòng phỏng vấn trực tiếp 

Đây có thể nói là vòng quan trọng nhất bởi bạn sẽ được phỏng vấn trực tiếp bởi đội ngũ chuyên môn đến từ các Team Leader tại công ty. Thông thường, các bạn sẽ được hỏi các kiến thức từ cơ bản đến nâng cao. Sau đây, TopDev sẽ đưa ra danh sách các câu hỏi được phân loại tương ứng từng loại kiến thức chuyên môn. Đây là sườn những vấn đề và câu hỏi thường được nhà tuyển dụng hỏi để đánh giá năng lực và tiềm năng phát triển của ứng viên.

1. Câu hỏi cá nhân:

  • Giới thiệu bản thân: Bạn có thể nói sơ về số năm kinh nghiệm, sở thích về công nghệ, vị trí và dự định muốn làm (Dành cho khoảng này 2-3 phút thôi nhé)
  • Hãy nói về 1 project bạn đã làm? Bạn làm vai trò gì?: Người phỏng vấn sẽ hỏi khá sâu về cấu trúc project, những việc đã bạn làm, kể cả những khó khăn bạn gặp phải và kèm theo cách xử lý và vượt qua nó. Chính quá trình xử lý vấn đề họ sẽ đánh giá được nhiều điều từ bạn qua câu hỏi này.

2. Câu hỏi về chuyên môn:

Bộ câu hỏi tổng hợp được chia nhỏ theo nhiều skill, hãy chuẩn bị kỹ lưỡng trước càng sâu các skill trong chuyên môn và những gì bạn đã đề trong CV. Bạn sẽ được hỏi đầy đủ từ backend, đến frontend và cả một số các framework liên quan. Ngoài lý thuyết, bạn có thể còn được hỏi cách giải quyết 1 vấn đề cụ thể nào đấy, hãy chuẩn bị kỹ lưỡng nhé!

100 câu hỏi và câu trả lời phỏng vấn .net hàng đầu năm 2022

Bộ cheatsheet bạn có thể tham khảo:

  • Kiến thức Java nền tảng

    • Thế nào là lập trình đối tượng? Cho biết các tính chất đặc thù của lập trình hướng đối tượng?
    • Sự khác nhau giữa While và doWhile?
    • Cách tổ chức hoạt động của các Collection Framework như List , Map, Set, Queue, Stack,..?
    • Phân biệt ArrayList , Linkedlist và Vector?
    • Sự khác nhau giữa ArrayList – Array, Linkedlist – Arraylist, Set – List, Override – Overload?
    • Khái niệm về Generic? Cho ví dụ và lý do sử dụng?
    • Sự khác nhau giữa Abstract class và Interface?
    • Khái niệm tham trị và tham chiếu?
    • Ngoại lệ (Exception là gì)? Phân biệt Check và Uncheck exception?
    • Thuật toán tìm kiếm nhị phân và thuật toán sắp xếp?

Tham khảo ngay: Top các việc làm Java lương cao tại Topdev

  • Một số câu hỏi về Git cần biết 

    • Git fork là gì? Sự khác nhau giữa git fork, branch và clone?
    • Sự khác nhau giữa pull request và branch?
    • Làm thế nào để revert previous commit trong git?
    • Giải thích những ưu điểm of Forking Workflow?
    • Sự khác nhau giữa HEAD, working tree và index?
    • Trình bày quy trình làm việc của Gitflow Workflow?
    • Khi nào nên sử dụng git stash?
    • Làm thế nào để loại bỏ một tập tin từ git mà không cần loại bỏ nó khỏi file system của bạn?
    • Khi nào nên sử dụng git rebase thay vì git merge?
  • Kiến thức về Framework (ví dụ như học Spring Framework của Java)

    • Mô hình MVC là gì? Mô tả luồng đi của một ứng dụng MVC?
    • Các khái niệm về Dependency Injection, JPA, ORM mapping, Webservice?
    • Giải thích các annotation @Controller , @Service , @Repository , @Autowire?
    • Chức năng hoạt động của Maven?
    • Sự khác nhau của Session và Cookie?
    • Làm thế nào để bảo mật trong lập trình?
  • Kiến thức về Database

    • Khái niệm Database? Các quan hệ trong database? Các loại Join trong database?
    • Các khái niệm về Composite key, Transaction, Unique?
    • Khoá chính – khóa ngoại là gì?
    • Giải thích các Rule chuẩn hóa dữ liệu?
    • Sự khác nhau Truncate, Delete , Drop?
    • Sự khác nhau Having và Where?

Tham khảo các vị trí tuyển dụng Database hấp dẫn nhất trong tháng

  • Một số câu hỏi “mẹo” về Front-end

    • HTML, CSS, Bootstrap dùng để làm gì ?
    • Phân biệt Class và Id? Phân biệt 
    • Phân biệt các thuộc tính Position: Absolute, Fixed, Relative, Fixed, Static
    • Khai báo trong HTML có tác dụng gì?
    • Phân biệt Class vs ID như thế nào trong CSS?
    • Phân biệt toán tử “==” và “===” trong Javascript?
    • “this” trong Javascript dùng để làm gì?
    • Đánh lừa bằng cách đặt tên function trùng với một function có sẵn của thư viện

Tìm việc làm cho lập trình viên Front end hấp dẫn nhất 2022

100 câu hỏi và câu trả lời phỏng vấn .net hàng đầu năm 2022

3. Câu hỏi đánh giá về khả năng tiếp thu kiến thức

Câu hỏi này như một thách thức thêm để đánh giá mức độ cập nhật các xu hướng công nghệ mới của từng ứng viên.

Qua câu hỏi này, nhà tuyển dụng IT không đưa ra sự kết luận cuối nào cho kết quả tuyển dụng ứng viên, chỉ là xác lập thêm tiêu chí ứng viên đó có khả năng tự tìm hiểu về lĩnh vực mình theo đuổi hay không. Đó là điểm cộng lớn cho các ứng viên.

Lúc này sẽ có thêm một số câu hỏi cá nhân để không khí bớt căng thẳng: Bạn có sở thích gì? Bạn có điểm yếu điểm mạnh gì?,… Cứ trả lời thành thật! Bạn sẽ không chỉ được đánh giá qua kỹ năng technical, mà còn đánh giá qua thái độ làm việc, thái độ trả lời câu hỏi. Có nhiều câu hỏi bạn không biết, nhưng nếu cố gắng trả lời, thể hiện thái độ muốn học hỏi bạn vẫn sẽ được đánh giá cao nhé.

* Cuối buổi phỏng vấn: Bạn sẽ được hỏi rằng “Có câu hỏi gì không?” Đừng ngại mà hỏi các câu hỏi như: Môi trường làm việc ra sao, có yêu cầu OT hay không? Chính sách review tăng lương tăng thưởng thế nào? Công ty có tổ chức seminar hay chính sách gì để giúp nhân viên phát triển không?. Những câu hỏi này sẽ thể hiện bạn có tinh thần làm việc nghiêm túc, biết suy nghĩ đến tương lai.

Lời kết 

Những câu hỏi trên là những câu hỏi thông dụng nhất được tập hợp lại và chia sẻ thông qua các trải nghiệm tuyển chọn cá nhân. TopDev mong rằng, các bạn sẽ trang bị cho mình năng lực chuyên môn, các kỹ năng cần thiết và quan trọng là một thái độ tốt. Hãy nhớ rằng, sau buổi phỏng vấn, nhớ gửi một email cảm ơn cho người đã phỏng vấn mình. Đây là một điều nho nhỏ, hiệu quả lại lơn lớn mà các bạn thường “quên” không làm.

Có thể bạn quan tâm:

  • Bí mật giúp bạn thành công khi phỏng vấn (P1)
  • Đi phỏng vấn vị trí React Native 6 tháng kinh nghiệm cần những gì?
  • Quy tắc 333 hay là phiếm đàm về chuyện phỏng vấn Senior Developer

Xem thêm IT Developer Job trên TopDev

Top 100 câu hỏi và câu trả lời phỏng vấn C# cơ bản và nâng cao cho người mới và 2 - 4 năm có kinh nghiệm, các nhà phát triển và người thử nghiệm có mã mẫu và câu trả lời tốt nhất.

1) C-Sharp (C#) là gì?

C# là ngôn ngữ an toàn, được quản lý và định hướng đối tượng, được biên soạn bởi .NET Framework để tạo ngôn ngữ trung gian (IL).

2) Giải thích các tính năng của C#?

Dưới đây là một số tính năng được hỗ trợ trong C# -

  • Người xây dựng và người phá hủy
  • Đặc tính
  • Đi qua các tham số
  • Mảng
  • Chính
  • Tài liệu XML và
  • Người lập chỉ mục

3) Liệt kê một số lợi thế của C#?

Dưới đây là những lợi thế của C# -

  • Dễ học
  • Đối tượng định hướng
  • Định hướng thành phần
  • Một phần của .NET Framework

4) IDE, do Microsoft cung cấp cho C# Development là gì?

Dưới đây là IDE được sử dụng để phát triển C# -

  • Visual Studio Express (VCE)
  • Visual Studio (VS)
  • Nhà phát triển web trực quan

5) Giải thích các loại bình luận trong C#?

Dưới đây là các loại bình luận trong C# -

  • Nhận xét dòng đơn, ví dụ: //
  • Nhận xét đa dòng, ví dụ: / * * / /
  • XML Nhận xét, ví dụ: ///

6) Giải thích lớp niêm phong trong C#?

Lớp niêm phong được sử dụng để ngăn lớp được kế thừa từ các lớp khác. Vì vậy, công cụ sửa đổi đã niêm phong trên mạng cũng có thể được sử dụng với các phương pháp để tránh các phương pháp để ghi đè trong các lớp con.

7) Đưa ra một ví dụ về việc sử dụng lớp niêm phong trong C#?

Dưới đây là mã mẫu của lớp niêm phong trong C# -

class X {} 
sealed class Y : X {}
Sealed methods –
class A
{
protected virtual void First() { }
protected virtual void Second() { }
}
class B : A
{
sealed protected override void First() {}
protected override void Second() { }
}

Nếu bất kỳ lớp nào được thừa hưởng từ lớp Bọ thì đó là phương thức - First First sẽ không thể quá mức vì phương pháp này được niêm phong trong lớp B.


Phải đọc -& nbsp; .NET Framework Câu hỏi và câu trả lời & NBSP;
- .Net Framework Interview Questions and Answers 

8) Liệt kê sự khác biệt giữa Array và ArrayList trong C#?

  • Array lưu trữ các giá trị hoặc phần tử của cùng loại dữ liệu nhưng ArrayList lưu trữ các giá trị của các kiểu dữ liệu khác nhau.
  • Các mảng sẽ sử dụng độ dài cố định nhưng ArrayList không sử dụng độ dài cố định như mảng.

9) Tại sao sử dụng sử dụng sử dụng trên mạng trong C#?

Việc sử dụng các cuộc gọi câu lệnh của người Viking - Phương thức xử lý trong nội bộ, bất cứ khi nào xảy ra bất kỳ ngoại lệ nào trong bất kỳ cuộc gọi phương thức nào và trong các đối tượng tuyên bố sử dụng các đối tượng chỉ được đọc và không thể được chỉ định lại hoặc sửa đổi.

10) Giải thích các không gian tên trong C#?

Không gian tên là container cho các lớp. Chúng tôi sẽ sử dụng các không gian tên để nhóm các lớp liên quan trong C#. Có thể sử dụng từ khóa sử dụng từ khóa để sử dụng không gian tên trong không gian tên khác.

11) Tại sao phải sử dụng từ khóa, const const trong c#? Cho một ví dụ.

Từ khóa của const const được sử dụng để tạo ra một thực thể hằng số. Chúng ta có thể gán lại giá trị thành hằng số.

Eg: const string _name = "Test";

12) Sự khác biệt giữa các biến đổi của hằng số và các biến số đọc trong C#là gì?

  • Từ khóa của const const được sử dụng để tạo ra một thực thể hằng số. Chúng tôi không thể sửa đổi giá trị sau này trong mã. Việc gán giá trị là bắt buộc đối với các biến không đổi.
  • Có thể thay đổi giá trị biến đổi trong thời gian chạy và giá trị thành các biến đọc có thể được gán trong hàm tạo hoặc tại thời điểm khai báo.

13) Giải thích từ khóa của Static Static trong C#?

Từ khóa của Static Static có thể được sử dụng để khai báo một thành viên tĩnh. Nếu lớp được tạo tĩnh thì tất cả các thành viên của lớp cũng được tạo tĩnh. Nếu biến được thực hiện tĩnh thì nó sẽ có một thể hiện duy nhất và thay đổi giá trị được cập nhật trong trường hợp này.

14) Sự khác biệt giữa các biến số xử lý của người Viking và các biến hoàn thiện của các biến trong C#là gì?

  • Dispose - Phương thức này sử dụng giao diện - giao diện của Idisposable và nó sẽ giải phóng cả các mã được quản lý và không được quản lý như - kết nối cơ sở dữ liệu, tệp, v.v.
  • Kết thúc - Phương pháp này được gọi là nội bộ không giống như phương thức xử lý được gọi là rõ ràng. Nó được gọi bởi người thu gom rác và có thể được gọi từ mã.

15) Cách xử lý ngoại lệ được thực hiện trong C#?

Trong C# có một khối thử Catch Catch Catch để xử lý lỗi.

Giới thiệu về khung .NET và .NET Core

.NET Framework được phát triển bởi Microsoft, cung cấp một môi trường để chạy, gỡ lỗi và triển khai mã vào các dịch vụ và ứng dụng web bằng cách sử dụng các công cụ và chức năng như thư viện, lớp học và API. Khung này sử dụng lập trình hướng đối tượng.is developed by Microsoft, provides an environment to run, debug and deploy code onto web services and applications by using tools and functionalities like libraries, classes, and APIs. This framework uses object-oriented programming.

Bạn có thể sử dụng các ngôn ngữ khác nhau như C#, COBOL, VB, F#, PERL, v.v. để viết .NET Framework Ứng dụng. Khung này hỗ trợ các dịch vụ, trang web, ứng dụng máy tính để bàn và nhiều thứ khác trên Windows. Nó cung cấp các chức năng như các loại chung, quản lý bộ nhớ tự động, phản ánh, đồng thời, v.v ... Các chức năng này sẽ giúp làm cho sự phát triển dễ dàng và xây dựng web chất lượng cao cũng như ứng dụng khách hàng dễ dàng và hiệu quả.

.NET Core là phiên bản mới hơn của .NET Framework và nó là một nền tảng phát triển nguồn mở, miễn phí, miễn phí, được phát triển bởi Microsoft. .NET Core là một khung đa nền tảng chạy một ứng dụng trên các hệ điều hành khác nhau như hệ điều hành Windows, Linux và MacOS. Khung này có thể được sử dụng để phát triển các loại ứng dụng khác nhau như di động, web, IoT, đám mây, microservice, máy học, trò chơi, v.v. is a newer version of the .NET framework and it is a general-purpose, cost-free, open-source development platform developed by Microsoft. .NET Core is a cross-platform framework that runs an application on different operating systems such as Windows, Linux, and macOS operating systems. This framework can be used to develop various kinds of applications like mobile, web, IoT, cloud, microservices, machine learning, game, etc.

Đặc điểm của .NET Core:

  • Nguồn miễn phí và nguồn mở: Dự án mã nguồn lõi .NET có thể được lấy từ GitHub. Nó được miễn phí và được cấp phép theo giấy phép MIT và Apache.: .NET Core source code project can be obtained from Github. It is free and licensed under the MIT and Apache licenses.
  • TUYỆT VỜI TUYỆT VỜI: .NET Core được hỗ trợ bởi các hệ điều hành khác nhau như Windows, MacOS và Linux.: .NET Core is supported by different operating systems like Windows, macOS, and Linux.
  • Chia sẻ: Một mô hình API nhất quán duy nhất được viết bằng tiêu chuẩn .NET sẽ được sử dụng bởi .NET Core và là phổ biến cho tất cả các ứng dụng .NET. Cùng thư viện hoặc API có thể được sử dụng trên nhiều nền tảng với các ngôn ngữ khác nhau.: A single consistent API model that is written in .NET Standard will be used by .NET Core and is common for all the .NET applications. The same library or API can be used on multiple platforms with different languages.
  • Thân thiện: .NET Core tương thích với .NET Framework, Mono và Xamarin, thông qua tiêu chuẩn .NET. Nó cũng hỗ trợ làm việc với các khung web và thư viện khác nhau như Angular, React và JavaScript.: The .NET Core is compatible with .NET Framework, Mono, and Xamarin, through .NET Standard. It also supports working with different Web frameworks and libraries such as Angular, React, and JavaScript.
  • Nhanh: .NET Core 3.0 nhanh hơn so với .NET Framework, .NET Core 2.2 và các phiên bản trước. Nó cũng nhanh hơn nhiều so với các khung phía máy chủ khác như Node.js và Java Servlet.: .NET Core 3.0 is faster compared to the .NET Framework, .NET Core 2.2 and previous versions. It is also much faster than other server-side frameworks like Node.js and Java Servlet.

Bài viết này bao gồm các câu hỏi .NET và .NET cốt lõi được hỏi thường gặp nhất trong các cuộc phỏng vấn.

Chúng tôi đã phân loại chúng thành các phần sau:

  • .Net Câu hỏi phỏng vấn: Sinh viên mới và có kinh nghiệm
  • Câu hỏi phỏng vấn cốt lõi .NET: Sinh viên mới và có kinh nghiệm

1. Làm thế nào để khung .NET hoạt động?

  • Các ứng dụng dựa trên khung .NET được viết bằng các ngôn ngữ hỗ trợ như C#, F#hoặc Visual Basic được tổng hợp với Ngôn ngữ trung gian phổ biến (CIL).
  • Mã biên dịch được lưu trữ dưới dạng tệp lắp ráp có phần mở rộng tệp .dll hoặc .exe.
  • Khi ứng dụng .NET chạy, thời gian chạy ngôn ngữ chung (CLR) lấy tệp lắp ráp và chuyển đổi CIL thành mã máy với sự trợ giúp của trình biên dịch Just Time (JIT).
  • Bây giờ, mã máy này có thể thực thi trên kiến ​​trúc cụ thể của máy tính mà nó đang chạy.
100 câu hỏi và câu trả lời phỏng vấn .net hàng đầu năm 2022
Làm thế nào .NET hoạt động?

2. Giải thích về các thành phần chính của khung .NET.

Các thành phần chính .NET Framework được đưa ra dưới đây:

  • Thời gian chạy ngôn ngữ chung (CLR):
    • Đây là một công cụ thực thi chạy mã và cung cấp các dịch vụ giúp quá trình phát triển dễ dàng hơn.
    • Các dịch vụ được cung cấp bởi CLR là quản lý bộ nhớ, thu gom rác, an toàn loại, xử lý ngoại lệ, bảo mật và quản lý luồng. Nó cũng giúp thiết kế các ứng dụng và thành phần có đối tượng tương tác trên các ngôn ngữ dễ dàng hơn.
    • Các chương trình được viết cho khung .NET được thực hiện bởi CLR bất kể ngôn ngữ lập trình. Mỗi phiên bản .NET Framework đều có CLR.
  • Thư viện lớp khung (FCL):
    • Nó có các phương thức và thuộc tính được xác định trước để thực hiện các hàm phổ biến và phức tạp có thể được sử dụng bởi các ứng dụng .NET. Nó cũng sẽ cung cấp các loại cho ngày, chuỗi, số, v.v.
    • Thư viện lớp này bao gồm API cho kết nối cơ sở dữ liệu, đọc và ghi tệp, vẽ, v.v.
  • Thư viện lớp cơ sở (BCL):
    • Thư viện lớp cơ sở (BCL) có một bộ sưu tập khổng lồ các tính năng và chức năng của thư viện hữu ích trong việc triển khai các ngôn ngữ lập trình khác nhau như C#, F#, Visual C ++, v.v., trong .NET Framework.
    • BCL được chia thành hai phần. Họ đang:
      • Thư viện lớp do người dùng xác định: Nó bao gồm các hội đồng. It includes Assemblies.
        • Lắp ráp: Lắp ráp .NET được coi là khối xây dựng chính của khung .NET. Một tập hợp trong CLI (cơ sở hạ tầng ngôn ngữ chung) là một đơn vị mã logic, được sử dụng để bảo mật, triển khai và phiên bản. Lắp ráp có thể được định nghĩa trong hai biểu mẫu là thư viện liên kết động (.dll) và tệp thực thi (.exe). Khi tổng hợp của chương trình .NET diễn ra, siêu dữ liệu với ngôn ngữ trung gian Microsoft (MSIL) sẽ được tạo ra và sẽ được lưu trữ trong một tập tin được gọi là lắp ráp.
          When compilation of the .NET program takes place, metadata with Microsoft Intermediate Language(MSIL) will be generated and will be stored in a file called Assembly.
      • Thư viện lớp được xác định trước: Nó chứa không gian tên.It contains namespace.
        • Không gian tên: Đây là bộ sưu tập các phương thức và lớp được xác định trước có trong khung .NET. Một không gian tên có thể được thêm vào chương trình .NET với sự trợ giúp của việc sử dụng hệ thống, trong đó sử dụng đại diện cho một từ khóa và hệ thống đại diện cho một không gian tên.
  • Hệ thống loại chung (CTS):
    • CTS chỉ định một tiêu chuẩn sẽ đề cập đến loại dữ liệu và giá trị nào có thể được xác định và quản lý trong bộ nhớ trong thời gian chạy.
    • Nó sẽ đảm bảo rằng dữ liệu lập trình được xác định trong các ngôn ngữ khác nhau nên tương tác với nhau để chia sẻ thông tin. Ví dụ: trong vb.net, chúng tôi xác định kiểu dữ liệu là số nguyên, trong khi trong C#, chúng tôi xác định INT là kiểu dữ liệu.
    • Nó có thể được sử dụng để ngăn ngừa mất dữ liệu khi bạn đang cố gắng chuyển dữ liệu từ một loại bằng một ngôn ngữ sang loại tương đương của nó trong ngôn ngữ khác.
  • Thông số kỹ thuật ngôn ngữ chung (CLS):
    • Thông số kỹ thuật ngôn ngữ chung (CLS) là một tập hợp con của CTS và xác định một tập hợp các quy tắc và quy định được tuân theo bởi mọi ngôn ngữ .NET Framework.
    • Một CLS sẽ hỗ trợ khả năng tương tác hoặc tích hợp ngôn ngữ chéo, điều đó có nghĩa là nó cung cấp một nền tảng chung để tương tác và chia sẻ thông tin. Ví dụ: mọi ngôn ngữ lập trình (C#, F#, VB .NET, v.v.) trong .NET Framework đều có cú pháp riêng. Vì vậy, khi các câu nói thuộc về các ngôn ngữ khác nhau được thực thi, một nền tảng chung sẽ được CLS cung cấp để tương tác và chia sẻ thông tin.
100 câu hỏi và câu trả lời phỏng vấn .net hàng đầu năm 2022

3. EXE và DLL là gì?

EXE và DLL là các mô -đun thực thi lắp ráp.

EXE là một tệp thực thi chạy ứng dụng mà nó được thiết kế. Một exe được sản xuất khi chúng tôi xây dựng một ứng dụng. Do đó, các tổ hợp được tải trực tiếp khi chúng ta chạy EXE. Tuy nhiên, một EXE không thể được chia sẻ với các ứng dụng khác. is an executable file that runs the application for which it is designed. An EXE is produced when we build an application. Therefore the assemblies are loaded directly when we run an EXE. However, an EXE cannot be shared with the other applications.

Thư viện liên kết động (DLL) là một thư viện bao gồm mã cần được ẩn. Mã được gói gọn trong thư viện này. Một ứng dụng có thể bao gồm nhiều DLL có thể được chia sẻ với các chương trình và ứng dụng khác. is a library that consists of code that needs to be hidden. The code is encapsulated inside this library. An application can consist of many DLLs which can be shared with the other programs and applications.

4. CTS là gì?

CTS là viết tắt của hệ thống loại chung. Nó tuân theo một tập hợp các quy tắc có cấu trúc theo đó một loại dữ liệu nên được khai báo và sử dụng trong mã chương trình. Nó được sử dụng để mô tả tất cả các loại dữ liệu sẽ được sử dụng trong ứng dụng.

Chúng tôi có thể tạo các lớp và chức năng của riêng mình bằng cách tuân theo các quy tắc trong CTS. Nó giúp gọi kiểu dữ liệu được khai báo bằng một ngôn ngữ lập trình bằng các ngôn ngữ lập trình khác.

5. Giải thích CLS

Thông số kỹ thuật ngôn ngữ chung (CLS) giúp các nhà phát triển ứng dụng sử dụng các thành phần tương thích giữa các ngôn ngữ với các quy tắc nhất định đi kèm với CLS. Nó cũng giúp tái sử dụng mã giữa tất cả các ngôn ngữ tương thích .NET. helps the application developers to use the components that are inter-language compatible with certain rules that come with CLS. It also helps in reusing the code among all of the .NET-compatible languages.

6. JIT là gì?

JIT đứng đúng lúc. Nó là một trình biên dịch chuyển đổi mã trung gian thành ngôn ngữ bản địa trong quá trình thực thi. stands for Just In Time. It is a compiler that converts the intermediate code into the native language during the execution.

7. Sự khác biệt giữa INT và INT32 là gì?

Không có sự khác biệt giữa INT và INT32. Int32 là một loại được cung cấp bởi lớp .NET Framework trong khi Int là tên bí danh cho Int32 trong ngôn ngữ lập trình C#.

8. Giải thích sự khác biệt giữa loại giá trị và loại tham chiếu.

Sự khác biệt chính giữa loại giá trị và loại tham chiếu được đưa ra dưới đây:

  • Một loại giá trị giữ trực tiếp dữ liệu thực tế trong vị trí bộ nhớ và loại tham chiếu chứa một con trỏ bao gồm địa chỉ của một vị trí bộ nhớ khác chứa dữ liệu thực tế.
  • Loại giá trị lưu trữ nội dung của nó trên bộ nhớ ngăn xếp và loại tham chiếu lưu trữ nội dung của nó trên bộ nhớ heap.
  • Việc gán biến loại giá trị cho biến khác sẽ sao chép trực tiếp giá trị và gán biến tham chiếu cho một biến khác không sao chép giá trị, thay vào đó, nó tạo ra một bản sao thứ hai của tham chiếu.
  • Các loại dữ liệu được xác định trước, cấu trúc, Enums là ví dụ về các loại giá trị. Các lớp, đối tượng, mảng, chỉ mục, giao diện, vv là các ví dụ về các loại tham chiếu.

9. Sự khác biệt giữa mã được quản lý và không được quản lý là gì?

Sự khác biệt chính giữa mã được quản lý và không được quản lý được liệt kê dưới đây:

Mã được quản lýMã không được quản lý
Nó được quản lý bởi CLR.Nó không được quản lý bởi CLR.
.NET Framework là phải thực hiện.Không yêu cầu một khung .NET cho thực thi.
Quản lý bộ nhớ được thực hiện thông qua bộ sưu tập rác.Môi trường thời gian chạy chăm sóc quản lý bộ nhớ.

10. Giải thích ngôn ngữ trung cấp của Microsoft

MSIL là ngôn ngữ trung gian của Microsoft, cung cấp các hướng dẫn về các phương thức gọi, xử lý bộ nhớ, lưu trữ và khởi tạo các giá trị, xử lý ngoại lệ, v.v.

Các hướng dẫn do MSIL cung cấp là độc lập với nền tảng và được tạo bởi trình biên dịch dành riêng cho ngôn ngữ từ mã nguồn. Trình biên dịch JIT biên dịch MSIL vào mã máy dựa trên yêu cầu.

11. Hội đồng là gì?

Lắp ráp là một tệp được tạo tự động bởi trình biên dịch bao gồm một tập hợp các loại và tài nguyên được xây dựng để hoạt động cùng nhau và tạo thành một đơn vị chức năng logic. Chúng ta cũng có thể nói, lắp ráp là một mã được biên dịch và đơn vị logic của mã.

Các tập hợp được triển khai dưới dạng tệp thực thi (.exe) hoặc thư viện liên kết động (.dll).

12. ASP.NET có khác với ASP không? Nếu có, giải thích làm thế nào?

Có, ASP.NET và ASP (trang máy chủ hoạt động) đều khác nhau. Hãy để kiểm tra xem họ khác nhau như thế nào.

  • ASP.NET sử dụng các ngôn ngữ .NET như C# và VB.NET, được biên dịch cho Ngôn ngữ trung gian Microsoft (MSIL). ASP sử dụng VBScript. Mã ASP được giải thích trong quá trình thực hiện.
  • ASP.NET được phát triển bởi Microsoft được sử dụng để tạo các ứng dụng web động trong khi ASP là công nghệ phía máy chủ Microsoft Microsoft được sử dụng để tạo các trang web.
  • ASP.NET là hoàn toàn hướng đối tượng nhưng ASP được định hướng đối tượng một phần.
  • ASP.NET có hỗ trợ đầy đủ XML để trao đổi dữ liệu dễ dàng trong khi ASP không có hỗ trợ tích hợp cho XML.
  • ASP.NET sử dụng công nghệ ADO.NET để kết nối và làm việc với cơ sở dữ liệu. ASP sử dụng công nghệ ADO.

13. Giải thích bảo mật dựa trên vai trò trong .NET

Bảo mật dựa trên vai trò được sử dụng để thực hiện các biện pháp bảo mật trong .NET, dựa trên các vai trò được gán cho người dùng trong tổ chức. Trong tổ chức, ủy quyền của người dùng được thực hiện dựa trên vai trò của họ.

Ví dụ, Windows có quyền truy cập dựa trên vai trò như quản trị viên, người dùng và khách.

14. Giải thích các loại lắp ráp khác nhau.

Hội đồng được phân loại thành 2 loại. Họ đang:

Hội nghị riêng:

  • Nó chỉ có thể truy cập vào ứng dụng.
  • Chúng tôi cần sao chép hội nghị riêng này, riêng biệt trong tất cả các thư mục ứng dụng nơi chúng tôi muốn sử dụng lắp ráp đó. Nếu không sao chép, chúng tôi không thể truy cập hội nghị riêng.
  • Nó yêu cầu được cài đặt trong thư mục cài đặt của ứng dụng.

Chia sẻ hoặc hội đồng công khai:

  • Nó có thể được chia sẻ bởi nhiều ứng dụng.
  • Hội đồng công cộng không yêu cầu sao chép riêng vào tất cả các thư mục ứng dụng. Chỉ cần một bản sao của Hội đồng công cộng ở cấp hệ thống, chúng ta có thể sử dụng cùng một bản sao bằng nhiều ứng dụng.
  • Nó được cài đặt trong bộ đệm lắp ráp toàn cầu (GAC).

15. Thứ tự của các sự kiện trong vòng đời trang là gì?

Có tám sự kiện như được đưa ra dưới đây diễn ra theo thứ tự để hiển thị thành công một trang:

  • Page_PreInit
  • Page_Init
  • Page_InitComplete
  • Page_PreLoad
  • Page_Load
  • Page_LoadComplete
  • Page_PreRender
  • Kết xuất

16. Người thu gom rác là gì?

Trình thu gom rác giải phóng các đối tượng mã không sử dụng trong bộ nhớ. Các đống bộ nhớ được phân vùng thành 3 thế hệ:

  • Thế hệ 0: Nó giữ các đối tượng tồn tại trong thời gian ngắn.
  • Thế hệ 1: Nó lưu trữ các đối tượng sống trung bình.
  • Thế hệ 2: Đây là cho các đối tượng tồn tại lâu.

Bộ sưu tập rác đề cập đến việc kiểm tra các đối tượng trong các thế hệ của đống được quản lý không còn được sử dụng bởi ứng dụng. Nó cũng thực hiện các hoạt động cần thiết để lấy lại bộ nhớ của họ. Trình thu gom rác phải thực hiện một bộ sưu tập để giải phóng một số không gian bộ nhớ.

Trong quá trình thu thập rác:

  • Danh sách các đối tượng trực tiếp được công nhận.
  • Tài liệu tham khảo được cập nhật cho các đối tượng được nén.
  • Không gian bộ nhớ bị chiếm bởi các đối tượng chết được nhớ lại. Các đối tượng còn lại được chuyển đến một phân đoạn cũ.

Phương pháp System.GC.Collect() được sử dụng để thực hiện thu thập rác trong .NET.

17. Bộ nhớ đệm là gì?

Bộ nhớ đệm có nghĩa là lưu trữ dữ liệu tạm thời trong bộ nhớ để dữ liệu có thể dễ dàng truy cập từ bộ nhớ bởi một ứng dụng thay vì tìm kiếm nó ở vị trí ban đầu. Nó làm tăng hiệu suất tốc độ và hiệu suất của một ứng dụng.

Có ba loại bộ nhớ đệm:

  • Bộ nhớ đệm trang
  • Bộ nhớ đệm dữ liệu
  • Bộ nhớ đệm mảnh

18. Chúng ta có thể áp dụng các chủ đề cho các ứng dụng ASP.NET không?

Đúng. Bằng cách sửa đổi mã sau trong tệp web.config, chúng tôi có thể áp dụng các chủ đề cho các ứng dụng ASP.NET:


   
       
   

19. Giải thích MVC.

MVC là viết tắt của bộ điều khiển chế độ xem mô hình. Đó là một kiến ​​trúc để xây dựng các ứng dụng .NET. Sau đây là ba thành phần logic chính của MVC: mô hình, chế độ xem và bộ điều khiển.logical components of MVC: the model, the view, and the controller.

100 câu hỏi và câu trả lời phỏng vấn .net hàng đầu năm 2022
Các thành phần của MVC

Mô hình: Họ giữ dữ liệu và logic liên quan của nó. Nó xử lý lưu trữ và truy xuất đối tượng từ cơ sở dữ liệu cho một ứng dụng. Ví dụ: một đối tượng bộ điều khiển sẽ truy xuất thông tin nhân viên từ cơ sở dữ liệu. Nó thao tác dữ liệu nhân viên và gửi lại cơ sở dữ liệu hoặc sử dụng nó để hiển thị cùng một dữ liệu. They hold data and its related logic. It handles the object storage and retrieval from the databases for an application. For example:
A Controller object will retrieve the employee information from the database.
It manipulates employee data and sends back to the database or uses it to render the same data.

Xem: Xem xử lý phần UI của ứng dụng. Họ nhận được thông tin từ các mô hình cho màn hình của họ. Ví dụ: mọi chế độ xem nhân viên sẽ bao gồm nhiều thành phần như hộp văn bản, thả xuống, v.v. View handles the UI part of an application. They get the information from the models for their display. For example, any employee view will include many components like text boxes, dropdowns, etc.

Bộ điều khiển: Họ xử lý các tương tác của người dùng, tìm ra các phản hồi cho đầu vào của người dùng và cũng hiển thị đầu ra cuối cùng. Chẳng hạn, bộ điều khiển nhân viên sẽ xử lý tất cả các tương tác và đầu vào từ chế độ xem nhân viên và cập nhật cơ sở dữ liệu bằng mô hình nhân viên. They handle the user interactions, figure out the responses for the user input and also render the final output. For instance, the Employee controller will handle all the interactions and inputs from the Employee View and update the database using the Employee Model.

20. Đăng trang chéo là gì?

Bất cứ khi nào chúng tôi nhấp vào nút Gửi trên trang web, dữ liệu được lưu trữ trên cùng một trang. Nhưng nếu dữ liệu được lưu trữ trên một trang khác và được liên kết với trang hiện tại, thì nó được gọi là một bài đăng trên trang. Bài đăng trên trang được đạt được bởi tài sản POSTBACKURL.

Để có được các giá trị được đăng trên trang này mà trang đã được đăng, phương thức FindControl có thể được sử dụng.

21. Một đại biểu trong .NET là gì?

Đại biểu là đối tượng .NET xác định chữ ký phương thức và nó có thể truyền một hàm dưới dạng tham số.

Đại biểu luôn chỉ ra một phương thức phù hợp với chữ ký cụ thể của nó. Người dùng có thể gói gọn tham chiếu của một phương thức trong một đối tượng đại biểu.

Khi chúng tôi vượt qua đối tượng đại biểu trong một chương trình, nó sẽ gọi phương thức được tham chiếu. Để tạo một sự kiện tùy chỉnh trong một lớp, chúng ta có thể sử dụng đại biểu.

22. Điều khiển bảo mật có sẵn trên ASP.NET là gì?

Sau đây là năm điều khiển bảo mật có sẵn trên ASP.NET:

  • Eg: const string _name = "Test";
    0 cung cấp khả năng đăng nhập cho phép người dùng nhập thông tin đăng nhập của họ với các trường ID và mật khẩu.
  • Eg: const string _name = "Test";
    1 được sử dụng để hiển thị tên người dùng đã đăng nhập.
  • Eg: const string _name = "Test";
    2 cung cấp nhiều chế độ xem tùy thuộc vào mẫu đã được chọn.
  • Eg: const string _name = "Test";
    3 Được sử dụng để kiểm tra xem người dùng có được xác thực hay không.
  • Eg: const string _name = "Test";
    4 Gửi email cho người dùng trong khi đặt lại mật khẩu.

23. Boxing và Unboxing trong .NET là gì?

Quyền anh là quá trình chuyển đổi một loại giá trị thành loại tham chiếu trực tiếp. Quyền anh là tiềm ẩn.

Unboxing là quá trình trong đó loại tham chiếu được chuyển đổi trở lại thành loại giá trị. Unboxing là rõ ràng.

Một ví dụ được đưa ra dưới đây để chứng minh các hoạt động đấm bốc và unboxing:

int a = 10;      // a value type
object o = a;     // boxing
int b = (int)o;   // unboxing

24. MIME trong .NET là gì?

MIME là viết tắt của các phần mở rộng thư Internet đa năng. Đó là phần mở rộng của giao thức e-mail cho phép người dùng sử dụng giao thức để trao đổi tệp qua email một cách dễ dàng.

Các máy chủ chèn tiêu đề MIME khi bắt đầu truyền web để biểu thị rằng đó là một giao dịch MIME.

Sau đó, các máy khách sử dụng tiêu đề này để chọn một trình phát phù hợp cho loại dữ liệu mà tiêu đề chỉ ra. Một số người chơi này được tích hợp vào trình duyệt web.

25. Việc sử dụng biểu hiện trong khung .NET là gì?

Bản kê khai lưu trữ siêu dữ liệu của Hội đồng. Nó chứa siêu dữ liệu cần thiết cho nhiều thứ như được đưa ra dưới đây:

  • Thông tin phiên bản lắp ráp.
  • Kiểm tra phạm vi của Hội đồng.
  • Xác nhận tham chiếu đến các lớp.
  • Nhận dạng bảo mật.

Hai loại cookie có sẵn trong ASP.NET. Họ đang:

  • Cookie phiên: Nó nằm trên máy khách cho một phiên duy nhất và hợp lệ cho đến khi người dùng đăng xuất. It resides on the client machine for a single session and is valid until the user logs out.
  • Cookie liên tục: Nó nằm trên máy người dùng trong một khoảng thời gian được chỉ định để hết hạn. Nó có thể là một giờ, một ngày, một tháng hoặc không bao giờ. It resides on the user machine for a period specified for its expiry. It may be an hour, a day, a month, or never.

27. Ý nghĩa của CAS trong .NET là gì?

Bảo mật truy cập mã (CAS) là cần thiết để ngăn chặn truy cập trái phép vào các chương trình và tài nguyên trong thời gian chạy. Nó được thiết kế để giải quyết các vấn đề phải đối mặt khi lấy mã từ các nguồn bên ngoài, có thể chứa các lỗi và lỗ hổng khiến hệ thống người dùng dễ bị tổn thương.

CAS cung cấp quyền truy cập hạn chế vào mã để chỉ thực hiện các hoạt động nhất định thay vì cung cấp tất cả tại một thời điểm nhất định. CAS xây dựng một phần của kiến ​​trúc bảo mật .NET bản địa.

28. Phần appsinstall trong tệp web.config là gì?

Chúng ta có thể sử dụng khối appsinstall trong tệp web.config, nếu chúng ta muốn đặt các giá trị do người dùng xác định cho toàn bộ ứng dụng. Mã ví dụ được đưa ra dưới đây sẽ sử dụng ConnectionString cho kết nối cơ sở dữ liệu trong toàn bộ dự án:


   
       
           
       
   

29. Sự khác biệt giữa một lớp trừu tượng và giao diện là gì?

Sự khác biệt chính giữa một lớp trừu tượng và giao diện được liệt kê dưới đây:

Lớp học trừu tượngGiao diện
Được sử dụng để khai báo các thuộc tính, sự kiện, phương thức và trường là tốt.Các trường không thể được khai báo bằng giao diện.
Cung cấp việc thực hiện một phần các chức năng phải được thực hiện bằng cách kế thừa các lớp.Được sử dụng để tuyên bố hành vi của một lớp thực hiện.
Các loại sửa đổi truy cập khác nhau như tư nhân, công khai, được bảo vệ, vv được hỗ trợ.Chỉ có công cụ sửa đổi truy cập công cộng được hỗ trợ.
Nó có thể chứa các thành viên tĩnh.Nó không chứa các thành viên tĩnh.
Nhiều kế thừa không thể đạt được.Nhiều kế thừa đã đạt được.

30. Các loại ký ức được hỗ trợ trong .NET Framework là gì?

Hai loại ký ức có mặt trong .NET. Họ đang:

Stack: Stack là một loại giá trị được lưu trữ để theo dõi từng luồng thực thi và vị trí của nó. Nó được sử dụng để phân bổ bộ nhớ tĩnh. Stack is a stored-value type that keeps track of each executing thread and its location. It is used for static memory allocation.

Heap: Heap là loại tham chiếu được lưu trữ để theo dõi các đối tượng hoặc dữ liệu chính xác hơn. Nó được sử dụng để phân bổ bộ nhớ động. Heap is a stored reference type that keeps track of the more precise objects or data. It is used for dynamic memory allocation.

31. Giải thích nội địa hóa và toàn cầu hóa.

Nội địa hóa là quá trình tùy chỉnh ứng dụng của chúng tôi để hành xử theo văn hóa và địa phương hiện tại.

Toàn cầu hóa là quá trình thiết kế ứng dụng để người dùng có thể được sử dụng bởi người dùng trên toàn cầu bằng cách hỗ trợ nhiều ngôn ngữ.

32. Các tham số kiểm soát các hành vi gộp kết nối là gì?

Có 4 tham số kiểm soát các hành vi gộp kết nối. Họ đang:

  • Kết nối hết thời gian chờ
  • Kích thước hồ bơi tối thiểu
  • Kích thước hồ bơi tối đa
  • Tổng hợp

33. MDI và SDI là gì?

MDI (Giao diện nhiều tài liệu): MDI cho phép bạn mở nhiều cửa sổ, nó sẽ có một cửa sổ mẹ và nhiều cửa sổ con. Các thành phần được chia sẻ từ cửa sổ cha mẹ như thanh công cụ, menubar, v.v. An MDI allows you to open multiple windows, it will have one parent window and as many child windows. The components are shared from the parent window like toolbar, menubar, etc.

SDI (Giao diện tài liệu đơn): SDI mở từng tài liệu trong một cửa sổ riêng. Mỗi cửa sổ có các thành phần riêng như thanh công cụ, Menubar, v.v ... Do đó, nó không bị giới hạn trong cửa sổ cha. SDI opens each document in a separate window. Each window has its own components like a toolbar, menubar, etc. Therefore it is not constrained to the parent window.

34. Giải thích các phần khác nhau của một hội.

Các phần khác nhau của hội đồng là:

100 câu hỏi và câu trả lời phỏng vấn .net hàng đầu năm 2022

Các phần khác nhau của hội đồng là:

  • BÀI TẬP - Mỗi lắp ráp tĩnh hoặc động giữ một bộ sưu tập dữ liệu cung cấp chi tiết về cách các yếu tố trong lắp ráp liên quan đến nhau. Một bản kê khai lắp ráp bao gồm siêu dữ liệu hoàn chỉnh cần thiết để chỉ định các yêu cầu phiên bản và nhận dạng bảo mật của một hội đồng, và cả siêu dữ liệu cần thiết để xác định phạm vi lắp ráp và giải quyết các tài liệu tham khảo về các lớp và tài nguyên. Thực thi) Tệp chỉ chứa thông tin biểu hiện lắp ráp hoặc trong tệp PE (a .exe hoặc .dll) với mã MSIL (Ngôn ngữ trung gian Microsoft).– Every static or dynamic assembly holds a data collection that gives details about how the elements in the assembly relate to each other. An assembly manifest consists of complete metadata required to specify version requirements and security identity of an assembly, and also the metadata required for defining the assembly scope and resolving references to classes and resources.
    The assembly manifest will be stored in either a standalone PE(Portable Executable) file that holds only assembly manifest information, or in a PE file (a .exe or .dll) with MSIL(Microsoft intermediate language) code.
  • Loại siêu dữ liệu - Siêu dữ liệu cung cấp cho bạn thông tin bổ sung như loại, tên loại, tên phương thức, vv về nội dung của một tập hợp. Siêu dữ liệu sẽ được tự động tạo bởi các trình biên dịch từ các tệp nguồn và trình biên dịch sẽ nhúng siêu dữ liệu này trong các tệp đầu ra mục tiêu như .exe, .dll hoặc .NETmodule (trong trường hợp lắp ráp đa mô-đun). – Metadata gives you additional information such as types, type names, method names, etc about the contents of an assembly. Metadata will be automatically generated by the Compilers from the source files and the compiler will embed this metadata within target output files like .exe, .dll, or a .netmodule(in the case of multi-module assembly).
  • MSIL - Ngôn ngữ trung gian Microsoft (MSIL) là một mã thực hiện các loại. Nó bao gồm các hướng dẫn để tải, lưu trữ, khởi tạo và gọi các phương thức trên các đối tượng. Cùng với điều này, nó cũng bao gồm các hướng dẫn cho luồng điều khiển, truy cập bộ nhớ trực tiếp, các hoạt động số học và logic, xử lý ngoại lệ, v.v ... Điều này được tạo bởi trình biên dịch bằng một hoặc nhiều tệp mã nguồn. Trong thời gian chạy, trình biên dịch JIT (đúng lúc) của CLR (thời gian chạy ngôn ngữ chung) chuyển đổi mã MSIL thành mã gốc thành hệ điều hành. – Microsoft Intermediate Language(MSIL) is a code that implements the types. It includes instructions to load, store, initialize, and call the methods on objects. Along with this, it also includes instructions for control flow, direct memory access, arithmetic and logical operations, exception handling, etc. This is generated by the compiler using one or more source code files. During the runtime, the JIT(Just In Time) compiler of CLR(Common Language Runtime) converts the MSIL code into native code to the Operating System.
  • Tài nguyên - Tài nguyên có thể là danh sách các tệp liên quan như các tệp .bmp hoặc .jpg. Các tài nguyên này là tĩnh, có nghĩa là chúng không thay đổi trong thời gian chạy. Tài nguyên không phải là các mục thực thi. – Resources can be a list of related files such as .bmp or .jpg files. These resources are static, which means they do not change during run time. Resources are not executable items.

.NET Câu hỏi phỏng vấn cốt lõi

35. .NET Core là gì?

.NET Core có thể được nói là phiên bản mới hơn của .NET Framework. Đây là một nền tảng phát triển ứng dụng nguồn mở miễn phí, có mục đích chung được cung cấp bởi Microsoft. Nó là một khung đa nền tảng vì nó chạy trên các hệ điều hành khác nhau như Windows, Linux và MacOS. Khung này có thể được sử dụng để phát triển các ứng dụng như di động, web, IoT, học máy, trò chơi, đám mây, microservice, v.v.

Nó bao gồm các tính năng quan trọng như đa nền tảng, thư viện có thể chia sẻ, v.v., cần thiết để chạy một ứng dụng .NET Core cơ bản. Các tính năng còn lại được cung cấp dưới dạng các gói Nuget, có thể được thêm vào ứng dụng của bạn theo nhu cầu của bạn. Như thế này, chúng ta có thể nói, .NET Core sẽ tăng hiệu suất của một ứng dụng, giảm dấu chân bộ nhớ và trở nên dễ dàng hơn để duy trì ứng dụng. Nó tuân theo cách tiếp cận mô -đun, vì vậy thay vì toàn bộ cài đặt .NET Framework, ứng dụng của bạn có thể cài đặt hoặc chỉ sử dụng những gì được yêu cầu.

36. Lõi Dot Net được sử dụng để làm gì?

  • .NET Core rất hữu ích trong các sáng tạo ứng dụng máy chủ, chạy trên các hệ điều hành khác nhau như Windows, Mac và Linux. Sử dụng điều này, các nhà phát triển có thể viết thư viện cũng như các ứng dụng trong C#, F#và VB.NET trong cả hai thời gian.
  • Nói chung, nó được sử dụng cho các ứng dụng đám mây hoặc để sửa đổi các ứng dụng doanh nghiệp lớn thành microservice.
  • .NET Core 3.0 hỗ trợ phát triển chéo giữa các biểu mẫu WPF, UWP và Windows.
  • .NET Core hỗ trợ microservice, cho phép các dịch vụ đa nền tảng hoạt động với khung .NET Core bao gồm các dịch vụ được phát triển với .NET Framework, Ruby, Java, v.v.
  • Các tính năng của .NET Core, như nhẹ, mô đun và tính linh hoạt giúp dễ dàng triển khai các ứng dụng .NET Core trong các thùng chứa. Những container này có thể được triển khai trên bất kỳ nền tảng, Linux, Cloud và Windows.

37. C# và F# là gì?

C# là ngôn ngữ lập trình có mục đích chung và hướng đối tượng từ Microsoft chạy trên nền tảng .NET. Nó được thiết kế cho CLI (cơ sở hạ tầng ngôn ngữ chung), có mã thực thi và môi trường thời gian chạy cho phép sử dụng các ngôn ngữ cấp cao khác nhau trên các nền tảng và kiến ​​trúc máy tính khác nhau. Nó chủ yếu được sử dụng để phát triển các ứng dụng web, ứng dụng máy tính để bàn, ứng dụng di động, ứng dụng cơ sở dữ liệu, trò chơi, v.v.

F# là một nguồn mở, chức năng đầu tiên, hướng đối tượng và ngôn ngữ lập trình đa nền tảng chạy trên nền tảng .NET và được sử dụng để viết mã mạnh mẽ, cô đọng và biểu diễn. Chúng ta có thể nói rằng F# được định hướng dữ liệu vì ở đây mã liên quan đến việc chuyển đổi dữ liệu với các chức năng. Nó chủ yếu được sử dụng để tạo ra các mô hình khoa học, công việc nghiên cứu trí tuệ nhân tạo, giải quyết vấn đề toán học, mô hình hóa tài chính, trò chơi GUI, thiết kế CPU, lập trình trình biên dịch, v.v.

38. Coreclr là gì?

Coreclr là công cụ thực hiện thời gian chạy được cung cấp bởi .NET Core. Nó bao gồm một trình biên dịch JIT, trình thu gom rác, các lớp cấp thấp và các loại dữ liệu nguyên thủy. .NET Core là triển khai mô -đun của .NET và có thể được sử dụng làm ngăn xếp cơ sở cho các loại kịch bản lớn, từ các tiện ích điều khiển đến các ứng dụng web trên đám mây.

100 câu hỏi và câu trả lời phỏng vấn .net hàng đầu năm 2022

Ở đây, các ngôn ngữ lập trình khác nhau sẽ được biên dịch bởi các trình biên dịch tương ứng (Roslyn có thể biên dịch cả mã C# và VB vì nó bao gồm các trình biên dịch C# và VB) và mã ngôn ngữ trung gian phổ biến (CIL) sẽ được tạo. Khi việc thực thi ứng dụng bắt đầu, mã CIL này được biên dịch thành mã máy gốc bằng cách sử dụng trình biên dịch JIT được bao gồm trong Coreclr. Coreclr này được hỗ trợ bởi nhiều hệ điều hành như Windows, Linux, v.v.

39. Mục đích của WebHostBuilder () là gì?

Chức năng WebhostBuilder được sử dụng để tạo đường ống HTTP thông qua

Eg: const string _name = "Test";
5 Chuỗi tất cả cùng một lúc với
Eg: const string _name = "Test";
6 bằng cách sử dụng mẫu trình xây dựng. Hàm này được cung cấp bởi
Eg: const string _name = "Test";
7. Mục đích của Build () Phương thức là xây dựng các dịch vụ cần thiết và
Eg: const string _name = "Test";
8 để lưu trữ ứng dụng web.

40. Bộ sưu tập rác không gì?

Bộ thu gom rác không cho phép bạn phân bổ đối tượng vì điều này được yêu cầu bởi công cụ thực thi. Các đối tượng được tạo sẽ không được xóa tự động và về mặt lý thuyết, không còn yêu cầu bộ nhớ không bao giờ được đòi lại.

Có hai cách sử dụng chính của bộ sưu tập rác không. Họ đang:

  • Sử dụng điều này, bạn có thể phát triển cơ chế thu gom rác của riêng bạn. Nó cung cấp các chức năng cần thiết để thực hiện đúng thời gian chạy.
  • Nó có thể được sử dụng trong các trường hợp sử dụng đặc biệt như các ứng dụng sống rất ngắn hoặc gần như không có phân bổ bộ nhớ (các khái niệm như lập trình NO-ALLOC hoặc ZERO-ALLOC). Trong những trường hợp này, không cần phải thu gom rác và tốt hơn là nên loại bỏ nó.

41. CoreFX là gì?

CoreFX là tập hợp các triển khai thư viện lớp cho .NET Core. Nó bao gồm các loại bộ sưu tập, bảng điều khiển, hệ thống tệp, XML, JSON, ASYNC, v.v ... Đó là mã trung lập nền tảng, có nghĩa là nó có thể được chia sẻ trên tất cả các nền tảng. Mã trung lập nền tảng được triển khai dưới dạng một cụm di động duy nhất có thể được sử dụng trên tất cả các nền tảng.

42. Giao diện IGCTOCLR là gì?

Giao diện IGCTOCLR sẽ được truyền như một đối số cho hàm offerizeMagbagebagEcollector () và nó được sử dụng để giao tiếp thời gian chạy. Nó bao gồm rất nhiều phương thức tích hợp như restartee (), l kết (), v.v.

43. Việc sử dụng các tập lệnh SQL trong .NET Core là gì?

Nó rất hữu ích để tạo tập lệnh SQL, bất cứ khi nào bạn đang cố gắng gỡ lỗi hoặc triển khai các lần di chuyển của mình sang cơ sở dữ liệu sản xuất. Tập lệnh SQL có thể được sử dụng trong tương lai để xem xét độ chính xác của dữ liệu và được điều chỉnh để phù hợp với yêu cầu cơ sở dữ liệu sản xuất.

44. Giải thích về các loại hệ thống loại chung (CTS).

Hệ thống loại phổ biến (CTS) tiêu chuẩn hóa tất cả các kiểu dữ liệu có thể được sử dụng bởi các ngôn ngữ lập trình khác nhau trong khung .NET.

CTS có hai loại. Họ đang:

100 câu hỏi và câu trả lời phỏng vấn .net hàng đầu năm 2022
  1. Các loại giá trị: Chúng chứa các giá trị được lưu trữ trên ngăn xếp hoặc được phân bổ nội tuyến trong một cấu trúc. Họ được chia thành: They contain the values that are stored on a stack or allocated inline within a structure. They are divided into :
    • Các loại giá trị tích hợp - Nó bao gồm các loại dữ liệu nguyên thủy như Boolean, byte, char, int32, v.v.
    • Các loại giá trị do người dùng xác định - chúng được xác định bởi người dùng trong mã nguồn. Nó có thể được liệt kê hoặc cấu trúc.
    • Liệt kê - Đây là một tập hợp các giá trị được liệt kê được lưu trữ dưới dạng loại số và được biểu diễn bằng các nhãn.
    • Cấu trúc - Nó xác định cả dữ liệu (trường của cấu trúc) và các phương thức (hoạt động được thực hiện trên dữ liệu đó) của cấu trúc. Trong .NET, tất cả các loại dữ liệu nguyên thủy như boolean, byte, char, datetime, thập phân, v.v., được định nghĩa là cấu trúc.
  2. Các loại tham chiếu: Nó lưu trữ một tham chiếu đến địa chỉ bộ nhớ của một giá trị và được lưu trữ trên đống. Họ được chia thành: It Stores a reference to the memory address of a value and is stored on the heap. They are divided into :
    • Các loại giao diện - Nó được sử dụng để thực hiện các chức năng như thử nghiệm cho sự bình đẳng, so sánh và sắp xếp, v.v.
    • Các loại con trỏ - Đó là một biến chứa địa chỉ của một biến khác.
    • Các loại tự mô tả - Đó là một loại dữ liệu cung cấp thông tin về bản thân vì lợi ích của người thu gom rác. Nó bao gồm các mảng (bộ sưu tập các biến có cùng kiểu dữ liệu được lưu trữ dưới một tên duy nhất) và loại lớp (chúng xác định các hoạt động như phương thức, thuộc tính hoặc sự kiện được thực hiện bởi một đối tượng và dữ liệu mà đối tượng chứa) Các lớp, loại giá trị đóng hộp và đại biểu (được sử dụng cho trình xử lý sự kiện và các chức năng gọi lại).

45. Cho sự khác biệt giữa .NET Core và Mono?

.NET CoreBệnh tăng bạch cầu đơn nhân
.NET Core là tập hợp con của việc triển khai cho chính khung .NET của chính Microsoft.Mono là việc triển khai hoàn toàn khung .NET cho Linux, Android và iOS của Xamarin.
.NET Core chỉ cho phép bạn xây dựng các ứng dụng web và ứng dụng bảng điều khiển.Mono cho phép bạn xây dựng các loại ứng dụng khác nhau có sẵn trong .NET Framework, bao gồm các ứng dụng di động, ứng dụng máy tính để bàn hỗ trợ GUI, v.v.
.NET Core không có khả năng tích hợp để được biên dịch thành các gói tương thích Webassemby.Mono có khả năng tích hợp để được biên dịch thành các gói tương thích với webassebly.
.NET Core không bao giờ nhằm mục đích chơi game. Bạn chỉ có thể phát triển một cuộc phiêu lưu dựa trên văn bản hoặc trò chơi dựa trên trình duyệt tương đối cơ bản bằng cách sử dụng .NET Core.Mono được dành cho sự phát triển của các trò chơi. Các trò chơi có thể được phát triển bằng công cụ chơi game Unity hỗ trợ Mono.

46. ​​Mã hóa chuyển nhượng là gì?

Mã hóa chuyển đổi được sử dụng để chuyển phần thân tải trọng (phần thông tin của dữ liệu được gửi trong thân thông báo HTTP) cho người dùng. Đó là một tiêu đề hop-by-hop, được áp dụng không phải cho chính một tài nguyên, mà là một thông điệp giữa hai nút. Mỗi phân đoạn kết nối đa nút có thể sử dụng các giá trị mã hóa truyền khác nhau.

Mã hóa chuyển giao được đặt thành các chunk đã chỉ định rằng cơ chế chuyển giao chuyển đổi siêu văn bản chuyển đổi mã hóa mã hóa được bắt đầu trong đó dữ liệu sẽ được gửi dưới dạng một loạt các khối chunk. Điều này rất hữu ích khi lượng dữ liệu được gửi đến máy khách lớn hơn và tổng kích thước của phản hồi sẽ không được biết cho đến khi hoàn thành xử lý yêu cầu.

47. Liệu ‘Debug, và‘ Trace có giống nhau không?

Không. Lớp Trace được sử dụng để gỡ lỗi cũng như cho các bản phát hành xây dựng nhất định. Nó cung cấp kế hoạch thực thi và chi tiết thời gian xử lý. Trong khi gỡ lỗi được sử dụng chủ yếu để gỡ lỗi. Gỡ lỗi có nghĩa là đi qua luồng mã chương trình trong thời gian thực hiện.

Gỡ lỗi và theo dõi cho phép giám sát ứng dụng cho các lỗi và ngoại lệ mà không có VS.NET IDE.

48. MSBuild trong .NET Core là gì?

MSBuild là nền tảng phát triển nguồn miễn phí và nguồn mở cho Visual Studio và Microsoft. Đây là một công cụ xây dựng hữu ích trong việc tự động hóa quy trình tạo sản phẩm phần mềm, cùng với việc biên dịch mã nguồn, đóng gói, thử nghiệm, triển khai và tạo tài liệu. Sử dụng MSBuild, chúng tôi có thể xây dựng các dự án và giải pháp Visual Studio mà không cần cài đặt Visual Studio IDE.

Trong ứng dụng Universal Windows Platform (UWP), nếu bạn mở thư mục có tên dự án, bạn sẽ có thể xem cả hai tệp là

Eg: const string _name = "Test";
9 và

   
       
   
0. Nhưng nếu bạn mở ứng dụng bảng điều khiển trước đây của chúng tôi trong .NET Core, bạn sẽ được xem các tệp
Eg: const string _name = "Test";
9 và

   
       
   
2.

49. Ứng dụng Universal Windows (UWP) trong .NET Core là gì?

Universal Windows Platform (UWP) là một trong những phương thức được sử dụng để tạo các ứng dụng khách cho Windows. Các ứng dụng UWP sẽ sử dụng API WinRT để cung cấp UI mạnh mẽ cũng như các tính năng của sự không đồng bộ tiên tiến, lý tưởng cho các thiết bị có kết nối internet.

Các tính năng của ứng dụng UWP:

  • Bảo mật: Các ứng dụng UWP sẽ chỉ định tài nguyên của thiết bị và dữ liệu được truy cập bởi chúng.
  • Có thể sử dụng API chung trên tất cả các thiết bị (chạy trên Windows 10).
  • Nó cho phép chúng tôi sử dụng các khả năng cụ thể của thiết bị và điều chỉnh giao diện người dùng (UI) với các kích thước màn hình thiết bị khác nhau, DPI (dấu chấm trên mỗi inch) và độ phân giải.
  • Nó có sẵn trên Microsoft Store trên tất cả hoặc các thiết bị được chỉ định chạy trên Windows 10.
  • Chúng tôi có thể cài đặt và gỡ cài đặt các ứng dụng này mà không có bất kỳ rủi ro nào đối với máy/phát sinh máy Rot Rot.
  • Tham gia: Nó sử dụng gạch trực tiếp, hoạt động của người dùng và thông báo đẩy, tương tác với dòng thời gian của Windows cũng như với Cortana, nơi tôi rời đi, để thu hút người dùng.
  • Nó có thể được lập trình trong C ++, C#, JavaScript và Visual Basic. Đối với UI, bạn có thể sử dụng WinUI, HTML, XAML hoặc DirectX.

50. Giải thích về các thành phần .NET Core.

Khung .NET Core bao gồm các thành phần sau:

100 câu hỏi và câu trả lời phỏng vấn .net hàng đầu năm 2022
  • Công cụ CLI: Công cụ giao diện dòng lệnh (CLI) là một công cụ đa nền tảng để phát triển, xây dựng, thực hiện, khôi phục các gói và xuất bản. Nó cũng có khả năng xây dựng các ứng dụng bảng điều khiển và thư viện lớp có thể chạy trên toàn bộ khung .NET. Nó được cài đặt cùng với SDK .NET Core cho các nền tảng đã chọn. Vì vậy, nó không yêu cầu cài đặt riêng trên máy phát triển. Chúng tôi có thể xác minh để cài đặt CLI thích hợp bằng cách nhập
    
       
           
       
    
    3 trên lời nhắc lệnh của Windows và sau đó nhấn ENTER. Nếu việc sử dụng và các văn bản liên quan đến trợ giúp được hiển thị, thì chúng ta có thể kết luận rằng CLI được cài đặt đúng cách.
    Command Line Interface(CLI) tools is a cross-platform tool for developing, building, executing, restoring packages, and publishing. It is also capable of building Console applications and class libraries that can run on the entire .NET framework. It is installed along with .NET Core SDK for the selected platforms. So it does not require separate installation on the development machine. We can verify for the proper CLI installation by typing
    
       
           
       
    
    3 on the command prompt of Windows and then pressing Enter. If usage and help-related texts are displayed, then we can conclude that CLI is installed properly.
  • ROSLYN (Nền tảng trình biên dịch .NET): Đây là một bộ trình biên dịch ngôn ngữ nguồn mở và cũng có API phân tích mã cho các ngôn ngữ lập trình C# và Visual Basic (VB.NET). ROSLYN phơi bày các mô -đun để biên dịch động với ngôn ngữ trung gian phổ biến (CLI), cú pháp (từ vựng) và phân tích mã ngữ nghĩa, và cả phát thải mã. It is a set of an open-source language compiler and also has code analysis API for the C# and Visual Basic (VB.NET) programming languages. Roslyn exposes modules for dynamic compilation to Common Intermediate Language(CLI), syntactic (lexical) and semantic code analysis, and also code emission.
  • CoreFX: CoreFX là một tập hợp các thư viện khung. Nó bao gồm BCL mới (Thư viện lớp cơ sở), tức là
    
       
           
       
    
    4 những thứ như
    
       
           
       
    
    5,
    
       
           
       
    
    6, v.v.
    CoreFX is a set of framework libraries. It consists of the new BCL(Base Class Library) i.e.
    
       
           
       
    
    4 things like
    
       
           
       
    
    5,
    
       
           
       
    
    6, etc.
  • CORECLR: CLR (chỉ thời gian chạy (chỉ thời gian chạy ngôn ngữ lệnh). Coreclr là triển khai thời gian chạy chạy trên nền tảng chéo và có GC, Ryujit, Interop bản địa, v.v. A JIT(Just In Time) based CLR (Command Language Runtime). CoreCLR is the runtime implementation that runs on cross-platform and has the GC, RyuJIT, native interop, etc.

51. Phần mềm trung gian trong .NET Core là gì?

  • Middleware là phần mềm được lắp ráp thành một đường ống ứng dụng để xử lý yêu cầu và phản hồi. Mỗi thành phần sẽ chọn liệu yêu cầu có nên được chuyển cho thành phần tiếp theo trong đường ống hay không, nó cũng có thể thực hiện công việc trước và sau thành phần tiếp theo trong đường ống.
  • Ví dụ: chúng ta có thể có một thành phần phần mềm trung gian để xác thực người dùng, một phần mềm trung gian khác để xử lý lỗi và thêm một phần mềm trung gian để phục vụ các tệp tĩnh như tệp JavaScript, hình ảnh, tệp CSS, v.v.
  • Nó có thể được tích hợp vào khung .NET Core, có thể được thêm vào thông qua các gói NUGET. Các thành phần phần mềm trung gian này được xây dựng như một phần của lớp khởi động ứng dụng của phương thức cấu hình. Trong ứng dụng ASP.NET Core, các phương thức cấu hình này sẽ thiết lập một đường ống xử lý yêu cầu. Nó chứa một chuỗi các đại biểu yêu cầu được gọi là người khác.
  • Thông thường, mỗi phần mềm trung gian sẽ xử lý các yêu cầu đến và chuyển phản hồi cho phần mềm trung gian tiếp theo để xử lý. Một thành phần phần mềm trung gian có thể đưa ra quyết định không gọi phần mềm trung gian tiếp theo trong đường ống. Quá trình này được gọi là ngắn mạch đường ống hoặc chấm dứt đường ống yêu cầu. Quá trình này rất hữu ích vì nó tránh được công việc không cần thiết. Ví dụ: nếu yêu cầu được thực hiện cho một tệp tĩnh như tệp CSS, hình ảnh hoặc tệp JavaScript, v.v., các tệp trung gian tĩnh này có thể xử lý và phục vụ yêu cầu và do đó ngắn mạch đường ống còn lại.
100 câu hỏi và câu trả lời phỏng vấn .net hàng đầu năm 2022

Ở đây, có ba phần giữa được liên kết với một ứng dụng web ASP.NET Core. Chúng có thể là phần mềm trung gian được cung cấp bởi khung, được thêm vào thông qua Nuget hoặc phần mềm trung gian tùy chỉnh của riêng bạn. Yêu cầu HTTP sẽ được thêm hoặc sửa đổi bởi mỗi phần mềm trung gian và điều khiển sẽ được chuyển tùy chọn cho phần mềm trung gian tiếp theo và phản hồi cuối cùng sẽ được tạo ra khi thực hiện tất cả các thành phần phần mềm trung gian.

52. Phân biệt .NET Core vs .NET Framework.

Đặc trưng.NET Core.Nền tảng NET
Khả năng tương thíchNó hoạt động dựa trên nguyên tắc xây dựng trên mạng một lần, chạy bất cứ nơi nào. Nó là đa nền tảng, vì vậy nó tương thích với các hệ điều hành khác nhau như Linux, Windows và Mac OS.Khung này chỉ tương thích với hệ điều hành Windows. Mặc dù, nó đã được phát triển để hỗ trợ phần mềm và ứng dụng trên tất cả các hệ điều hành.
Cài đặtVì nó là đa nền tảng, nó được đóng gói và cài đặt độc lập với HĐH.Nó được cài đặt dưới dạng một gói duy nhất cho Windows OS.
Mô hình ứng dụngNó không hỗ trợ phát triển ứng dụng máy tính để bàn và nó tập trung chủ yếu vào Windows Mobile, Web và Windows Store.Nó được sử dụng để phát triển cả ứng dụng máy tính để bàn và web, cùng với nó cũng hỗ trợ các biểu mẫu Windows và các ứng dụng WPF.
Hiệu suất và khả năng mở rộngNó cung cấp hiệu suất cao và khả năng mở rộng.Nó ít hiệu quả hơn so với .NET Core về hiệu suất cũng như khả năng mở rộng của các ứng dụng.
Hỗ trợ dịch vụ vi mô và dịch vụ nghỉ ngơiNó hỗ trợ phát triển và triển khai các dịch vụ vi mô và người dùng được yêu cầu tạo API REST để triển khai.Nó không hỗ trợ sự phát triển và triển khai của microservice, nhưng nó hỗ trợ các dịch vụ API REST.
Bao bì và vận chuyểnNó được vận chuyển như một bộ sưu tập các gói Nugget.Tất cả các thư viện thuộc về khung .NET được đóng gói và vận chuyển tất cả cùng một lúc.
Phát triển AndroidNó tương thích với các nền tảng ứng dụng di động nguồn mở như Xamarin, thông qua thư viện tiêu chuẩn .NET. Các nhà phát triển có thể sử dụng các công cụ của Xamarin để định cấu hình ứng dụng di động cho các thiết bị di động cụ thể như điện thoại Android, iOS và Windows.Nó không hỗ trợ sự phát triển của các ứng dụng di động.
Công cụ CLIĐối với tất cả các nền tảng được hỗ trợ, nó cung cấp các trình chỉnh sửa nhẹ cùng với các công cụ dòng lệnh.Khung này nặng cho CLI (giao diện dòng lệnh) và các nhà phát triển thường thích làm việc trên CLI nhẹ.
Mô hình triển khaiPhiên bản cập nhật của .NET Core được bắt đầu trên một máy tại một thời điểm, điều đó có nghĩa là nó được cập nhật trong các thư mục/thư mục mới trong ứng dụng hiện có mà không ảnh hưởng đến nó. Vì vậy, chúng ta có thể nói rằng .NET Core có mô hình triển khai linh hoạt rất tốt.Khi phiên bản cập nhật được phát hành, nó chỉ được triển khai trên máy chủ thông tin Internet lúc đầu.

53. Giải thích tổng hợp rõ ràng (biên soạn trước thời gian).

  • Biên dịch trước (AOT) là quá trình biên dịch ngôn ngữ cấp cao thành ngôn ngữ cấp thấp trong thời gian xây dựng, tức là, trước khi thực hiện chương trình. Tổng hợp AOT làm giảm khối lượng công việc trong thời gian chạy.
  • AOT cung cấp thời gian khởi động nhanh hơn, trong các ứng dụng lớn hơn trong đó hầu hết các mã thực thi khi khởi động. Nhưng nó cần nhiều lượng không gian đĩa và bộ nhớ hoặc không gian địa chỉ ảo để giữ cả IL (ngôn ngữ trung gian) và hình ảnh được biên dịch trước. Trong trường hợp này, trình biên dịch JIT (chỉ trong thời gian) sẽ thực hiện rất nhiều công việc như hành động I/O của đĩa, rất tốn kém.
  • Việc biên dịch rõ ràng sẽ chuyển đổi ngôn ngữ cấp trên thành mã đối tượng khi thực hiện chương trình. Trình biên dịch trước thời gian (AOT) được thiết kế để đảm bảo liệu CPU có hiểu mã từng dòng hay không trước khi thực hiện bất kỳ tương tác nào với nó.
  • Việc biên dịch trước thời gian (AOT) chỉ xảy ra một lần trong thời gian xây dựng và nó không yêu cầu vận chuyển các mẫu HTML và trình biên dịch góc vào gói. Mã nguồn được tạo có thể bắt đầu chạy ngay sau khi nó được tải xuống trình duyệt, không cần các bước trước đó. Việc biên dịch AOT sẽ biến mẫu HTML thành đoạn mã có thể chạy được. AOT sẽ phân tích và biên dịch các mẫu của chúng tôi tĩnh trong thời gian xây dựng.
100 câu hỏi và câu trả lời phỏng vấn .net hàng đầu năm 2022

Lợi ích của tổng hợp AOT:

  • Kích thước ứng dụng nhỏ hơn vì bản thân trình biên dịch không được vận chuyển và có thể loại bỏ các tính năng không sử dụng.
  • Mẫu các lỗi phân tích cú pháp được phát hiện trước đó (trong thời gian xây dựng)
  • Bảo mật cao (không bắt buộc phải đánh giá động các mẫu)
  • Kết xuất một thành phần nhanh hơn (các mẫu được biên dịch sẵn)
  • Đối với biên dịch AOT, một số công cụ được yêu cầu thực hiện nó tự động trong quá trình xây dựng.

54. MEF là gì?

MEF (Khung mở rộng được quản lý) là một thư viện hữu ích cho việc phát triển các ứng dụng mở rộng và nhẹ. Nó cho phép các nhà phát triển ứng dụng sử dụng các tiện ích mở rộng mà không cần cấu hình. Nó cũng cho phép các nhà phát triển mở rộng để đóng gói mã dễ dàng hơn và do đó tránh được sự phụ thuộc cứng mong manh. MEF sẽ cho phép bạn sử dụng lại các tiện ích mở rộng trong các ứng dụng, cũng như trên các ứng dụng. Đây là một phần không thể thiếu của .NET Framework 4. Nó cải thiện khả năng duy trì, tính linh hoạt và khả năng kiểm tra của các ứng dụng lớn.

55.

Thư viện .NET Core được sử dụng nếu có yêu cầu tăng diện tích bề mặt của API .NET mà thư viện của bạn sẽ truy cập và chỉ cho phép các ứng dụng của .NET Core tương thích với thư viện của bạn nếu bạn ổn với nó. library is used if there is a requirement to increase the surface area of the .NET API which your library will access, and permit only applications of .NET Core to be compatible with your library if you are okay with it.

Thư viện tiêu chuẩn .NET sẽ được sử dụng trong trường hợp bạn cần tăng số lượng các ứng dụng tương thích với thư viện của bạn và giảm diện tích bề mặt (một đoạn mã mà người dùng có thể tương tác) của API .NET mà thư viện của bạn có thể truy cập nếu Bạn ổn với nó. library will be used in case you need to increase the count of applications that are compatible with your library and reduce surface area(a piece of code that a user can interact with) of the .NET API which your library can access if you are okay with it.

56. Corert là gì?

  • Corert là thời gian chạy bản địa cho việc biên dịch .NET nguyên bản trước thời hạn và nó là một phần của bản địa .NET mới (như được công bố vào tháng 4 năm 2014).
  • Nó không phải là một máy ảo và nó không có cơ sở tạo và chạy mã một cách nhanh chóng vì nó không bao gồm một JIT. Nó có khả năng RTTI (nhận dạng loại thời gian chạy) và phản xạ, cùng với nó có GC (Bộ thu gom rác).
  • Hệ thống loại của Corert được thiết kế theo cách mà siêu dữ liệu để phản xạ hoàn toàn không được yêu cầu. Tính năng này cho phép có một công cụ AOT có thể liên kết các siêu dữ liệu không sử dụng và có thể xác định mã ứng dụng không sử dụng.

57. SDK .NET Core là gì?

.NET Core SDK là một tập hợp các công cụ và thư viện cho phép nhà phát triển tạo ứng dụng .NET và thư viện cho .NET 5 (cũng là .NET Core) và các phiên bản sau. Nó bao gồm .NET CLI cho các ứng dụng xây dựng, thư viện .NET và thời gian chạy cho mục đích xây dựng và chạy các ứng dụng và dotnet.exe (dotnet thực thi) chạy các lệnh CLI và chạy ứng dụng. Đây là liên kết để tải xuống.

58. Docker là gì?

  • Docker là một nền tảng nguồn mở để phát triển các ứng dụng, và cả để vận chuyển và điều hành chúng. Nó cho phép tách ứng dụng ra khỏi cơ sở hạ tầng bằng cách sử dụng các thùng chứa để phần mềm có thể được phân phối nhanh chóng. Với Docker, bạn sẽ có thể quản lý cơ sở hạ tầng theo cùng một cách bạn đã sử dụng để quản lý các ứng dụng của mình.
  • Nó hỗ trợ vận chuyển, thử nghiệm và triển khai mã ứng dụng một cách nhanh chóng, do đó giảm sự chậm trễ giữa việc viết mã và chạy nó trong sản xuất.
  • Nền tảng Docker cung cấp khả năng thực hiện đóng gói và thực hiện ứng dụng trong môi trường bị cô lập lỏng lẻo là container. Việc cô lập và bảo mật cho phép bạn chạy nhiều container cùng một lúc trên một máy chủ nhất định. Các container rất nhẹ và chúng bao gồm mọi thứ cần thiết để chạy ứng dụng, vì vậy bạn không cần phải phụ thuộc vào những gì hiện đang được cài đặt trong máy chủ.

59. Xamarin là gì?

  • Xamarin là một nền tảng nguồn mở hữu ích trong việc phát triển một ứng dụng hiện đại và hiệu quả cho iOS, Android và Windows với .NET. Nó là một lớp trừu tượng được sử dụng để quản lý việc truyền đạt mã được chia sẻ với mã nền tảng cơ bản.
  • Xamarin chạy trong một môi trường được quản lý mang lại lợi ích như thu gom rác và phân bổ bộ nhớ.
  • Các nhà phát triển có thể chia sẻ khoảng 90% ứng dụng của họ trên các nền tảng bằng cách sử dụng Xamarin. Mẫu này cho phép các nhà phát triển viết toàn bộ logic kinh doanh bằng một ngôn ngữ duy nhất (hoặc sử dụng lại mã ứng dụng hiện có) nhưng hoàn thành hiệu suất gốc, nhìn và cảm nhận trên mỗi nền tảng. Các ứng dụng Xamarin có thể được ghi trên MAC hoặc PC và sau đó chúng sẽ được biên dịch thành các gói ứng dụng gốc, như tệp .ipa trên tệp iOS hoặc .APK trên Android.

60. Làm thế nào bạn có thể phân biệt ASP.NET Core với .NET Core?

.NET Core là thời gian chạy và được sử dụng để thực hiện một ứng dụng được xây dựng cho nó. Trong khi đó ASP.NET Core là một tập hợp các thư viện sẽ tạo thành một khung để phát triển các ứng dụng web. Các thư viện ASP.NET Core có thể được sử dụng trên .NET Core cũng như trên Full Full .NET Framework.

Một ứng dụng sử dụng các công cụ và thư viện của ASP.NET Core thường được gọi là ứng dụng cốt lõi của ASP ASP.NET, theo lý thuyết không nói liệu nó có được xây dựng cho .NET Framework hay .NET Core. Vì vậy, một ứng dụng của ASP ASP.NET Core có thể được coi là một ứng dụng cốt lõi của .NET.

61. Viết một chương trình để tính toán bổ sung hai số.

Các bước thực hiện như sau:

1. Bạn cần tạo một dự án ASP.NET Core mới tính toán. Mở Visual Studio 2015, Tập tin Goto> New New> Project. Chọn tùy chọn Web ở khung bên trái và chọn tùy chọn Ứng dụng web ASP.NET Core (.NET Core) dưới khung trung tâm. Chỉnh sửa tên dự án là tính toán của người Viking và nhấp vào OK.File–> New–> Project. Select the option Web in Left Pane and go for the option ASP.NET Core Web Application (.NET Core) under the central pane. Edit the project name as “CalculateSum” and click on OK.

2. Trong cửa sổ mẫu, chọn ứng dụng web và đặt xác thực thành không có xác thực và nhấp vào OK.

3. Mở giải pháp mở rộng Explorer và nhấp chuột phải vào thư mục Home Home (nó nằm trong chế độ xem), sau đó nhấp vào Thêm mục mới. Bạn cần chọn Mẫu trang MVC View trong phần ASP.NET và đổi tên nó thành Bổ sung.CSHTML và sau đó nhấp vào nút Thêm.Add New Item. You need to select MVC View Page Template under ASP.NET Section and rename it as “addition.cshtml” and then click on the Add button.

4. Mở Bổ sung.CSHTML và viết mã sau:

 @{
    ViewBag.Title = "Addition Page";
}

Welcome to Addition Page

Enter First Number :

Enter Second Number :

@ViewBag.Result

Ở đây, chúng tôi đã tạo ra một hình thức đơn giản có hai hộp văn bản và một nút bổ sung. Các hộp văn bản được đặt tên là


   
       
   
7 và

   
       
   
8. Trên trang bộ điều khiển, chúng tôi có thể truy cập các hộp văn bản này bằng cách sử dụng: ________ 29

   
       
   
9

Biểu mẫu này sẽ chỉ ra tất cả các bài nộp sẽ được chuyển đến Homecontroller và phương thức thêm hành động sẽ được thực thi.

5. Mở

int a = 10;      // a value type
object o = a;     // boxing
int b = (int)o;   // unboxing
0 và viết mã sau vào nó:

 using System;
using Microsoft.AspNetCore.Mvc;

namespace CalculateSum.Controllers
{
    public class HomeController : Controller
    {
        public IActionResult Index()
        {
            return View();
        }

        public IActionResult About()
        {
            ViewData["Message"] = "Application description page.";
            return View();
        }

        public IActionResult Contact()
        {
            ViewData["Message"] = "Contact page.";
            return View();
        }

        public IActionResult Error()
        {
            return View();
        }

        public IActionResult addition()
        {
            return View();
        }

        [HttpPost]
        public IActionResult add()
        {
            int number1 = Convert.ToInt32(HttpContext.Request.Form["txtFirstNum"].ToString());
            int number2 = Convert.ToInt32(HttpContext.Request.Form["txtSecondNum"].ToString());
            int res = number1 + number2;
            ViewBag.Result = res.ToString();
            return View("addition");
        }
    }
}

Trong chương trình này, chúng tôi đã thêm hai phương thức iaction bổ sung () và thêm (). Phương thức bổ sung () sẽ trả về trang Chế độ xem bổ sung và thêm () phương thức thu được đầu vào từ trình duyệt, xử lý nó và kết quả sẽ được giữ trong Viewbag.Result và sau đó được trả lại cho trình duyệt.

Bây giờ, nhấn Ctrl+F5 để chạy chương trình của bạn. Điều này sẽ khởi chạy một trang web ASP.NET Core vào trình duyệt. Thêm

int a = 10;      // a value type
object o = a;     // boxing
int b = (int)o;   // unboxing
1 ở cuối liên kết và sau đó nhấn vào Enter. Định dạng đầu ra được đưa ra dưới đây:

100 câu hỏi và câu trả lời phỏng vấn .net hàng đầu năm 2022

Sự kết luận

The .NET is a full-stack software development framework, which is essentially used to build large enterprise-scale and scalable software applications. Khung .NET có phạm vi rộng trên thị trường. Nó là một khung linh hoạt và thân thiện với người dùng, phù hợp với các công nghệ khác.

.NET Core được phát triển để đáp ứng với sự gia tăng phổ biến của Java. .NET Core thường được sử dụng trong các dự án rủi ro thấp. Một số thành phần .NET có thể được sử dụng trong các ứng dụng .NET Core (nhưng không phải là cách khác). Bài viết này chủ yếu tập trung vào các khái niệm khung của .NET và .NET Core. Chúng tôi chắc chắn rằng nó sẽ cung cấp cho bạn đầy đủ thông tin và kiến ​​thức công bằng về các câu hỏi phổ biến sẽ được hỏi trong một cuộc phỏng vấn.

Tài nguyên hữu ích:

.NET Nhà phát triển: Hướng dẫn nghề nghiệp

Asp. Cuộc phỏng vấn ròng

C# Phỏng vấn

.NET MCQ

Hệ thống.int32

Hệ thống.int8

Hệ thống.int16

Hệ thống.int64

Loại số nguyên để gấp đôi

Loại giá trị thành loại tham chiếu

Loại tham chiếu đến loại giá trị

Loại kép để số nguyên

Không có loại trở lại cho các sự kiện

Số nguyên

Sợi dây

Kép

Không có khối nào như cuối cùng

Đúng

Không

Cả Catch và cuối cùng là khối sẽ được thực thi.

Tĩnh

Nối tiếp

Địa phương

Riêng tư

Loại giá trị

Tất cả các loại dữ liệu trong .NET

Các loại tham chiếu

Giao tiếp giữa nhiều ngôn ngữ

System.Web

System.io

System.Object

System.File

Phương thức gc.run ()

Phương thức gc.Collection ()

Phương thức gc.finalize ()

Phương thức gc.Collect ()

Respons.output.write () cho phép bạn đệm đầu ra

Phản hồi.output.write () cho phép bạn tắt đầu ra

Respons.output.write () cho phép bạn viết đầu ra được định dạng

Phản hồi.output.write () cho phép bạn truyền phát đầu ra

.NET Core 3.1

.NET Core 3.0

.NET 6

Không có điều nào ở trên

Phát triển các ứng dụng

Vận chuyển các ứng dụng

Chạy các ứng dụng

Tất cả những điều trên

Công cụ CLI

Roslyn

COREFX và CORECLR

Tất cả những điều trên

Công cụ CLI

Roslyn

COREFX và CORECLR

Không có điều nào ở trên

Phát triển các ứng dụng

Vận chuyển các ứng dụng

Chạy các ứng dụng

Tất cả những điều trên

Công cụ CLI

Roslyn

COREFX và CORECLR

Hỗn hợp công nghệ trên ranh giới dịch vụ

Gỡ lỗi

Tạo và triển khai một container

Chỉ có cửa sổ

Tất cả những điều trên

Công cụ CLI

Roslyn

COREFX và CORECLR

Không có điều nào ở trên

Phát triển các ứng dụng

Vận chuyển các ứng dụng

Chạy các ứng dụng

Tất cả những điều trên

Công cụ CLI

Roslyn

COREFX và CORECLR

Hỗn hợp công nghệ trên ranh giới dịch vụ

Làm cách nào để chuẩn bị cho một cuộc phỏng vấn .NET?

Q. 3 Tôi nên chuẩn bị gì cho a. Phỏng vấn nhà phát triển ròng? Làm việc về các chủ đề như khung, phát triển trang web động, ứng dụng web, ASP, C#, lập trình hướng đối tượng, phát triển ứng dụng di động, v.v.Work on topics like frameworks, dynamic website development, web applications, ASP, C#, Object-oriented programming, mobile application developments, etc.

Làm cách nào để vượt qua một cuộc phỏng vấn .NET?

Thực tiễn tốt nhất để phỏng vấn các ứng cử viên ASP.NET..
Tranh thủ tất cả các bên liên quan.....
Ưu tiên câu hỏi.....
Các câu hỏi phỏng vấn phù hợp để phù hợp với từng ứng viên.....
Sử dụng các câu hỏi prefab như một điểm khởi đầu.....
Có nghĩa là gì có nghĩa là trong ASP.NET?....
Giải thích ngắn gọn về vòng đời ASP.NET ..

4 tính năng chính của .NET Framework là gì?

Các tính năng của .NET Framework 4.0..
Thời gian chạy ngôn ngữ động ..
Lớp cơ sở mở rộng ..
Tính toán song song..
Khung mở rộng được quản lý ..
Hiệp phương sai và trái ngược ..
Biginteger và số phức tạp ..

Các câu hỏi phỏng vấn cho nhà phát triển .NET là gì?

Các nguyên tắc thiết kế được sử dụng là gì.....
Thống chế là gì?....
Boxing và Unboxing là gì?....
Sự khác biệt giữa máy chủ là gì.....
Bộ sưu tập rác là gì.....
Các phân chia của đống bộ nhớ là gì?....
Sự khác biệt giữa lớp theo dõi và lớp gỡ lỗi là gì ?.