Bài viết hiện tại: Tìm hiểu câu hỏi phỏng vấn .NET để sẵn sàng cho vị trí lập trình .NET. Trước hết chúng ta sẽ tìm hiểu xem .NET là gì và nó viết tắt cho cái gì, tại sao mọi người lại sử dụng nó v.v…. Đó là các câu hỏi phỏng vấn .NET tương đối căn bản, sau
Entity Framework và ADO.NET. Câu hỏi hay hỏi nhất trong khi phỏng vấn .NET Developer là bạn đã làm việc với Entity Framework chưa? Có những cách làm việc nào? Vậy là các bạn phải trả lời được có 3 cách là DB First, Code First và Model First. Vậy là các bạn phải nêu được ưu
Câu hỏi phỏng vấn là gì? Câu hỏi là dạng câu nghi vấn dùng mà chúng ta vẫn dùng để thắc mắc về những điều bản thân chưa biết. Chúng ta thường đặt câu hỏi cho người khác, nhưng đôi khi chúng ta cũng đặt câu hỏi cho chính mình.
Trên đây là bộ câu hỏi phỏng vấn .NET mà thường gặp nhất. Ngoài những câu hỏi này, vẫn sẽ có thêm một số câu hỏi phỏng vấn khác tùy thuộc vào nhà tuyển dụng. Do đó, bạn cần trang bị cho mình càng nhiều kiến thức về mảng .NET càng tốt. Hy vọng những câu hỏi
Trang Chủ / Khỏe đẹp / Gợi ý cách trả lời cho 7 câu hỏi phỏng vấn cực khó Khỏe đẹp . 18/10/2022 8:20:00 SA. BẢO TRỢ. Gợi ý cách
Fast Money. 19 câu hỏi phỏng vấn Core 1. Làm để để thiết lập Session trong Core? Middleware cho Session được cung cấp bởi gói Để sử dụng session trong ứng dụng Core, chúng ta cần thêm gói này tới file .csproj và thêm Session Middleware tới Core Request pipeline. public class Startup { public void ConfigureServicesIServiceCollection services { // // } public void ConfigureIApplicationBuilder app, IHostingEnvironment env { // // // // } } 2. Startup class trong Core là gì? Startup class là điểm vào của ứng dụng Core. Mỗi ứng dụng .NET Core phải có class này. Nó không bắt buộc phải có tên class là “Startup”, tên class có thể là bất kỳ tên gì, chúng ta có thể cấu hình startup class trong Program class. public class Program { public static void Mainstring[] args { CreateWebHostBuilderargs.Build.Run; } public static IWebHostBuilder CreateWebHostBuilderstring[] args => .UseStartup; } 3. Tag-helper trong Core là gì? Nó là một tính năng được cung cấp bởi Razor view-engine cho phép chúng ta viết mã server-side để tạo và hiển thị các phần tử HTML trong view Razor. Tag-helper là các lớp C thường được dùng để tạo view bằng cách thêm các phần tử HTML. Chức năng của tag-helper rất giống với HTML-helper của MVC. //HTML Helper => new { class = "form-control", placeholder = "Enter Your First Name" } //content with tag helper //Equivalent HTML 4. Metapackage là gì? .NET Core đã giới thiệu Metapackage, nó bao gồm tất cả các package được hỗ trợ bởi mã với các dependency của chúng vào trong 1 package. Nó giúp chúng ta phát triển nhanh vì chúng ta không yêu cầu include các package Core riêng lẻ. một Metapackage được cung cấp bởi Core. 5. Core cung cấp các tính năng nào? Core cung cấp các tính năng chính như sau Hỗ trợ Dependency Injection. Hỗ trợ cho Logging framework và có thể được mở rộng. Giới thiệu web server mới Kestrel, nó nhanh và hỗ trợ đa nền tảng. Vì vậy, một ứng dụng web có thể chạy mà không cần IIS, Apache và Nginx. Hỗ trợ nhiều cách Hosting. Hỗ trợ hướng module, vì vậy các developer cần import các module mình cần vào trong ứng dụng. Tuy nhiên, .NET Core framework cũng cung cấp Meta package trong các thư viện. Command-line hỗ trợ tao, build và chạy ứng dụng. Không có file Chúng ta có thể lưu trữ các thông tin cấu hình vào file Không có file Chúng ta có thể đăng ký và sử dụng các services vào startup class. Hỗ trợ tốt cho lập trình bất đồng bộ. Hỗ trợ WebSocket và SignalR. Cung cấp bảo vệ chống CSRF Cross-Site Request Forgery 6. Công dụng của hàm “Map” trong IApplicationBuilder trong việc thêm Middleware vào Core Pipeline là gì? Nó thường dùng để chia nhánh Pipeline. Nó phân nhánh Core Pipeline dựa vào việc khớp đường dẫn Request. Nếu đường dẫn Request bắt đầu với đường dẫn đã cho, Middleware trên nhánh đó sẽ được thực thi. public void ConfigureIApplicationBuilder app { Middleware1; Middleware2; } 7. Middleware là gì? Middleware là thành phần của phần mềm đóng vai trò tác động vào request pipeline luồng request để xử lý chúng và tạo ra response phản hồi lại client. Mỗi một tiến trình middleware thao tác với các request nhận được từ middleware trước nó. Nó cũng có thể quyết định gọi middleware tiếp theo trong pipeline hoặc trả về response cho middleware ngay trước nó. ngắt pipeline. 8. Làm sao chúng ta có thể thực hiện model-binding tự động trong Razor Pages? Razor Pages cung cấp tùy chọn để liên kết thuộc tính một cách tự động khi truyền dữ liệu sử dụng thuộc tính BindProperty. Mặc định nó chỉ liên kết các thuộc tính với các method không phải GET. Chúng ta cần gán thuộc tính SupportsGet thành “true” để liên kết 1 thuộc tính với method GET. public class Test1Model PageModel { [BindProperty] public string Name { get; set; } } 9. Ứng dụng Core có thể làm việc với framework .NET full không? Có, thông qua thư viện chuẩn .NET 10. Làm sao để disable tag-helper ở cấp phần tử? Chúng ta có thể disable tag-helper ở cấp phần tử bằng cách sử dụng ký tự “!”. Ký tự này phải được dùng ở tag đóng và mở. 11. Hàm ConfigureServices trong startup class dùng để làm gì? Đây là một hàm tùy chọn của startup class. Nó được dùng để cấu hình các sevice được sử dụng trong ứng dụng. Hàm này được gọi đầu tiên khi ứng dụng được request lần đầu. Sử dụng hàm này, chúng ta có thể thêm các service vào DI-container, như vậy các service sẽ có sẵn như 1 dependency trong constructor của controller. 12. Các file JSON nào có sẵn trong Core? 13. Hàm Configure trong startup class dùng để làm gì? Nó định nghĩa cách mà ứng dụng sẽ hồi đáp tới mỗi HTTP request. Chúng ta có thể cấu hình Request Pipeline bằng cách cấu hình Middleware. Nó chấp nhận IApplicationBuilder như là 1 parameter và nó cũng có thêm 2 parameter tùy chọn IHostingEnvironment và ILoggerFactory. Sử dụng hàm này, chúng ta có thể cấu hình Middleware có sẵn như Routing, authentication, session, … cũng như các Third-party Middleware. 14. Làm sao để thêm một Service Dependency vào Controller? Có 3 bước đơn giản để thêm một custom Service Dependency vào một Controller. Bước 1 Tạo service. public interface IHelloWorldService { string SaysHello; } public class HelloWorldService IHelloWorldService { public string SaysHello { return "Hello "; } } Bước 2 Thêm service này vào Service container bằng Singleton, hoặc Transient hoặc Scoped. public void ConfigureServicesIServiceCollection services { // // // // } Bước 3 Sử dụng service này trong Controller. public class HomeController Controller { IHelloWorldService _helloWorldService; public HomeControllerIHelloWorldService helloWorldService { _helloWorldService = helloWorldService; } } 15. và khác nhau như thế nào? Chúng ta có thể sử dụng cả hai phương thức vào trong phương thức Configure của startup class. Cả hai thường được sử dụng để thêm Middleware Delegate tới Request Pipeline của ứng dụng. Việc thêm Middleware bằng cách dùng có thể gọi Middleware tiếp theo trong Pipeline, trong khi đó việc dùng để thêm Middleware thì sẽ không bao giờ gọi được Middleware tiếp theo. Sau khi gọi phương thức hệ thống ngừng thêm Middleware trong Request Pipeline. 16. Razor Pages trong Core là gì? Đây là một tính năng mới được giới thiệu trong Core Nó tuân theo một mô hình phát triển tập trung như Web forms. Nó hỗ trợ tất cả tính năng của Core. page Hello, Book Reader! This is Razor Pages Razor Pages bắt đầu với directive “page”. Directive này xử lý các yêu cầu trực tiếp mà không phải thông qua Controller. Razor Pages có thể có file code-behind, nhưng không thật sự là file code-behind. Nó là lớp kế thừa từ lớp PageModel. 17. core là gì? Core không phải là một phiên bản nâng cấp của Core hoàn toàn được tạo ra để làm việc với .NET Core framework. Nó nhanh hơn, dễ cấu hình chi tiết hơn, theo hướng module, dễ mở rộng và hỗ trợ đa nền tảng. Nó có thể làm với cả .NET Core và .NET framework thông qua .NET standard framework. Core là thích hợp nhất để phát triển các ứng dụng cloud-based như web, mobile, IoT. 18. Trình bày về routing trong Core? Routing là chức năng ánh xạ các request tới bộ xử lý định tuyến. Route có thể có nhiều giá trị được trích xuất ra từ URL thường được dùng để xử lý request. Tất cả các Route được đăng ký khi ứng dụng bắt đầu. Core hỗ trợ 2 loại Routing Định tuyến thông thường Định tuyến thuộc tính Attribute routing Routing sử dụng các Route trong việc ánh xạ các Request với bộ xử lý tuyến và Generate URL được dùng trong việc hồi đáp request. Hầu hết ứng dụng có 1 bộ tập hợp Route và bộ tập hợp này được dùng trong việc xử lý request. Phương thức RouteAsync thường được dùng để ánh xạ request ứng với URL có sẵn trong bộ tập hợp Route. 19. Những ưu điểm nào của Core so với ? Hỗ trợ đa nền tảng, có thể chạy được trên Windows, Linux, Mac. Không có dependency trong cài đặt framework bởi vì tất cả các dependency bắt buộc đều được gửi cùng ứng dụng. Core có thể xử lý nhiều request hơn Nhiều tùy chọn deloy web có sẵn trong Core.
Có là dot NET hay dot NET core thì anh em cũng cần nắm vững một số kiến thức cơ bản để tham gia phỏng vấn NET Developer. Thời thế đổi thay nhưng những kiến thức cơ bản luôn cần thiết và cần nhớ bền, nhớ vững trong đầu. Nói là lựa chọn vậy chứ hiện nay hầu hết các vị trí tuyển dot NET đều yêu cầu kinh nghiệm ở cả dot NET và dot NET CORE. không khó để tìm ra các JD job description kiểu như này. Technical requirements .NET C, Visual – 5 years+ .NET Core API’s SQL Server – 3 years+ Microservices / Messaging Event-Driven / Distributed System Bài viết này giới thiệu tới anh em top 10 câu hỏi phỏng vấn NET developer. Giúp anh em tham khảo, tổng hợp lại kiến thức và hiểu biết của mình. Chuẩn bị tốt cho buổi phỏng vấn chưa bao giờ là thừa đúng không anh em? Ok, bắt đầu ngay thôi nào! 1. .NET framework hoạt động như thế nào? Câu hỏi đâu tiên, đập ngay vào là .NET hoạt động như nào. Tưởng dễ mà không dễ tẹo nào. Cụ thể thì .NET framework hoạt động như thế nào?. Như bao ngôn ngữ khác, anh em viết code .NET với C hoặc VB bằng ngôn ngữ tự nhiên, thông qua Native compiler rồi đem tới CIL common intermediate language, intermediate là trung gian. Tức qua bước trung gian này từ ngôn ngữ tự nhiên sẽ chuyển qua ngôn ngữ code. Sau khi qua bước này, CLR sẽ làm việc để compile toàn bộ nội dung từ CIL thành mã máy, lúc này machine có thể hiểu được và thực thi. Về mặt bản chất việc compile từ mã code qua mã máy giống với các ngôn ngữ khác, đều dùng Just In TimeJIT compiler để biên dịch qua mã máy. Tuy nhiên anh em lưu ý .NET compiler code qua file có định dạng dll hoặc exe. Anh em chú ý hoạt động như thế nào thường là câu hỏi được hỏi khi phỏng vấn NET developer nha. 2. Thứ tự events thực thi của page life cycle? Câu hỏi thứ hai phỏng vấn .NET hỏi về life cycle. Câu này đánh mạnh vào kinh nghiệm làm việc thực tế. Nếu anh em đã có thời gian debug từng event trong life cycle tất nhiên sẽ nhớ được. Page_PreInit Page_Init Page_InitComplete Page_PreLoad Page_Load Page_LoadComplete Page_PreRender Render Về thứ tự thì anh em nhớ là init luôn đầu tiên, khi nào init xong thì mới tới load, load hết xong xuôi tất cả đâu vào đấy rồi mới tới render. TOP các vị trí tuyển dụng .Net lương cao tại đây 3. Boxing và unboxing trong .NET? Xin thưa boxing không phải là uýnh lộn trong .NET. Trả lời lèo nghèo coi chừng toang. Boxing is the process of converting a value type into a reference type directly. Boxing là quá trình chuyển đổi giá trị từ kiểu giá trị sang kiểu tham chiếu Trong khi đó unboxing Unboxing is the process where reference type is converted back into a value type. Unboxing là quá trình chuyển đổi kiểu tham chiếu ngược trở lại thành kiểu giá trị int a = 10; // a value type object o = a; // boxing int b = into; // unboxing Trong ví dụ này biến á từ kiểu giá trị int được chuyển thành object, có thể tham chiếu là o. Sau đó được chuyển ngược lại thành kiểu giá trị và gán vào biến b. Vẫn là một câu hỏi đơn giản phỏng vấn NET developer. Vậy sao không nhào qua tí về OOP, để xem .NET khác gì so với các ngôn ngữ khác khi so sánh giữa Abstract và Interface? 4. Sự khác biệt giữa Abstract và Interface trong .NET Câu hỏi Abtract, Interface nó như cái gì đó default và cơ bản khi phỏng vấn bất cứ ngôn ngữ lập trình hướng đối tượng nào. Cụ thể anh em có thể tham khảo bảng so sánh dưới đây Abstract class Interface Sử dụng để khai báo properties, events, methods và fields Trong interface không thể khai báo các field. Nhiều loại hình access biến như public, private, protected được hỗ trợ bởi Abstract Với interface thì chỉ public được hỗ trợ Với Abstract thì bản thân nó chấp nhận kiểu static Interface không hỗ trợ kiểu static Abstract không hỗ trợ đa kế thừa Interface hỗ trợ đa kế thừa Về kế thừa và đa kế thừa thì dễ hiểu vì interface là can-do, tất nhiên một objects đối tượng có thể làm can do nhiều thứ khác nhau. Còn abstract là is-a, tức là cái gì đó. Việc cho phép đa kế thừa với interface và không cho kế thừa với abstract .NET giống với các ngôn ngữ lập trình bậc cao khác. Nói chung là đi phỏng vấn NET developer hay Java hay Python mà ở vị trí Backend thì thường anh em sẽ được hỏi câu hỏi này. Nếu có thể đưa ra ví dụ cụ thể giải thích Abstract và Interface nữa thì càng tuyệt. 5. Sự khác nhau giữa từ khoá ref và out Khác với một số ngôn ngữ lập trình phổ biến như Java chỉ hỗ trợ pass by value .NET hỗ trợ cả pass by reference và pass by value. Nhưng sự khó hiểu giữa ref và out thì khác hẳn so với hai cái pass ở trên kia. Cả hai đều là pass by reference, nhưng vẫn tồn tại một số điểm khác biệt. Quay lại với câu hỏi. ref keyword is used to pass an already initialized variable to a method as a reference type, facilitating bi-directional data passing. Từ khoá ref sử dụng để giá trị của biến vào function thông qua hình thức pass by reference. Tiếng việt gọi là tham chiếu. Dữ liệu 2 chiều. Tại sao hai chiều hồi sau sẽ rõ. out keyword is used to pass a variable as an empty container that can store multiple values to a method as a reference type. out keyword allows uni-directional data passing, as the container passed using out keyword doesn’t need to be initialized beforehand. Trong khi đó từ khoa out sử dụng để chuyển giá tị của biến vào trong vùng chứa dưới loại tham chiếu. Với từ khoá out, biến được chuyển vào mà không cần khởi tạo vùng chứa. Chu choa, nghe hơi căng. Thôi ví dụ gấp. Ví dụ về ref và out using System; class GFG { // Main method static public void Main { // Khai báo biến string str3 = "Kien"; // Gọi hàm với từ khoá ref initializeStringref str3; {0}", str3; } // Dùng từ khoá ref khai báo kiểu reference public static void initializeStringref string str1 { if str1 == "Kien" { Kien dep trai"; } // Vì biến là reference nên khi khai báo lại cái nó mất ngay // Tưởng đẹp nhưng không ngờ khi khai báo lại phát nữa thì anh Kiên lại xấu như quỷ str1 = "Anh Kien xau nhu quy"; } } Kết quả khi chạy chương trình anh em sẽ nhận được 2 dòng chữ Chao Kien dep trai Độp phát ngay sau đó là “anh Kien xấu như quỷ” using System; class GFG { // Main method static public void Main { // Khai báo biến string str3 = "Kien"; // Gọi hàm với từ khoá ref initializeStringout str3; {0}", str3; } // Dùng từ khoá ref khai báo kiểu reference public static void initializeStringout string str1 { str1 = "Kien dep trai"; // Check parameter value if str1 == "Kien dep trai" { dep trai that"; } } } Giá trị out put của đoạn code này là; ok dep trai that Chao Kien dep trai Một ví dụ khác của out // C program to illustrate the // concept of out parameter using System; class GFG { // Main method static public void Main { // Declaring variable // without assigning value int G; // Pass variable G to the method // using out keyword Sumout G; // Display the value G sum of" + " the value is {0}", G; } // Method in which out parameter is passed // and this method returns the value of // the passed parameter public static void Sumout int G { G = 80; G += G; } } Output của chương trình này The sum of the value is 160 In ra cả hai dòng chữ như này cho ta thấy cả out và ref đều là kiểu tham trị. Tức là vào và ra function thì giá trị của biến đều thay đổi. Vậy điểm khác nhau của out và ref là gì?. Parameter truyền vào function thông qua hình thức ref cần được khởi tạo trước Parameter truyền vào function thông qua hình thức out không cần được khởi tạo trước Không cần khởi tạo giá trị trước khi trả về cho function gọi Cần khởi tạo để trả về vì lúc đưa vào đã không có gì còn trả ra không có gì thì toang Hữu dụng khi giá trị vào hàm ra hàm phát là thay đổi mãi mãi luôn, không cần quay lại giá trị cũ như pass by value Không cần khởi tạo nên nhận vào một nhưng trả về 3,4,5. Hữu dụng khi hàm trả về nhiều giá trị Câu này đem đi phỏng vấn NET developer mà trả lời trôi chảy thì cũng khá là khoai đó chơ. 6. Tham khảo thêm câu hỏi phỏng vấn NET developer Trên đây là 5 câu hỏi phỏng vấn NET developer. Mong rằng với các câu hỏi này, anh em có thời gian tổng hợp lại kiến thức. Chuẩn bị tốt nhất cho buổi phỏng vấn NET developer. Anh em có thể tham khảo thêm một số bài viết sau How Does the Internet Work Infographic HP Tech Takes C ref vs out Prototype pattern – một trong những pattern phổ biến nhất Cảm ơn thời gian của anh em – Thank you for your time to read – Happy coding! Tác giả Kiên Nguyễn Có thể bạn quan tâm Bách khoa toàn thư .Net 5 Điều Cần Trang Bị Để Trở Thành Lập Trình Viên .NET Giỏi Cách cài đặt .NET Framework trên Windows thành công 100% Tìm kiếm việc làm IT mới nhất tại TopDev!
Lượt đọc 209 .Net là gì ?Câu hỏi và câu trả lời phỏng vấn .NET phổ biến1. .NET Framework là gì?2. .NET Framework hỗ trợ những ngôn ngữ nào?3. Các khía cạnh quan trọng nhất của .NET là gì?4. Sự khác biệt giữa mã được quản lý và không được quản lý là gì?5. Giải thích các thuật ngữ cơ bản về cách thực thi mã được quản lý. .NET Framework là một khung phần mềm mạnh mẽ, có thể thích ứng được phát triển bởi Microsoft. Các nhà phát triển .NET sẽ xử lý hiệu suất, thử nghiệm, bảo mật và khả năng mở rộng của cả ứng dụng web và ứng dụng di động, và một số nhà phát triển sẽ sử dụng .NET Framework để phát triển các trang web cũng như các ứng dụng dành cho máy tính để bàn và thiết bị di động. Các nhà phát triển .NET hiếm khi làm việc cô lập và thường phối hợp với các nhóm để xây dựng ứng dụng hiệu quả hơn. Các chuyên gia này thường có các trách nhiệm sau Cộng tác với một nhóm để phát triển các ứng dụng web và di độngDịch bảng phân cảnh ứng dụng thành các ứng dụng chức năngTích hợp các giải pháp lưu trữ dữ liệuĐảm bảo hiệu suất cao nhất, chất lượng và khả năng đáp ứng của các ứng dụngXác định lỗi và các vấn đề khác trong ứng dụng và phát triển các giải pháp để giải quyết các vấn đề đóDuy trì chất lượng mã theo thời gianThiết kế và phát triển mã sạch và hiệu quả Là một nhà phát triển .NET kết hợp giải quyết vấn đề sáng tạo với mã hóa và phát triển kỹ thuật có thể cải thiện công ty và phục vụ nhu cầu của khách hàng. Các kỹ năng thường được yêu cầu bao gồm Thành thạo ngôn ngữ hoặc C , hoặc cả haiKiến thức về .NET Framework, cho các phiên bản cụ thểLàm quen với Mono nếu cầnKỹ năng hợp tácKhả năng viết các thư viện có thể tái sử dụngHiểu biết về lập trình hướng đối tượngQuen thuộc với nhiều kiểu thiết kế và kiến trúcQuen thuộc với Microsoft SQLKiến thức về các mẫu đồng thờiKhả năng viết mã sạch và dễ bảo trìHiểu biết về các điểm mạnh và hạn chế của Common Language RuntimeQuen thuộc với Windows Presentation FrameworkKiến thức về các khung ứng dụng web phổ biếnKiến thức về các nguyên tắc thiết kế cơ bản cần thiết để phát triển một ứng dụng có thể mở rộngKinh nghiệm xây dựng lược đồ cơ sở dữ liệu Câu hỏi và câu trả lời phỏng vấn .NET phổ biến Để chuẩn bị cho cuộc phỏng vấn nhà phát triển sắp tới của bạn, dưới đây là các câu hỏi phỏng vấn .NET phổ biến kiểm tra kiến thức của bạn về khuôn khổ và câu trả lời sẽ cải thiện cơ hội nhận được công việc đó của bạn .NET Framework là gì?.NET Framework hỗ trợ những ngôn ngữ nào?Các khía cạnh quan trọng nhất của .NET là gì?Sự khác biệt giữa mã được quản lý và không được quản lý là gì?Giải thích các thuật ngữ cơ bản về cách thực thi mã được quản lý. 1. .NET Framework là gì? Đây là cách phổ biến để người phỏng vấn bắt đầu cuộc phỏng vấn cho một nhà phát triển phần mềm cần chuyên môn về .NET Framework. Cho người phỏng vấn thấy khả năng sử dụng .NET Framework một cách hiệu quả bằng cách mô tả nó là gì, khi nào sử dụng nó và các tính năng chính của nó. Cố gắng thể hiện kiến thức thực tế của bạn về hệ thống. Ví dụ “.NET là một khung công tác của Microsoft được thiết kế để giúp các nhà phát triển làm việc với các ngôn ngữ mã hóa khác nhau. Nói một cách dễ hiểu, đó là một máy ảo hỗ trợ biên dịch, chuyển đổi và thực thi mã trong một khuôn khổ phát triển. Sử dụng .NET, các nhà phát triển có thể tạo các ứng dụng và dịch vụ dựa trên biểu mẫu và web ”. 2. .NET Framework hỗ trợ những ngôn ngữ nào? Trả lời câu hỏi này cho thấy bạn có kiến thức và kỹ năng cơ bản cần thiết để đáp ứng các nhu cầu của vị trí. Ứng viên phù hợp phải là một lập trình viên có kiến thức và có thể viết mã thoải mái trong .NET Framework. Ngoài việc cho biết khung hỗ trợ ngôn ngữ nào, bạn cũng có thể cung cấp trải nghiệm lập trình của mình trong các ngôn ngữ đó. Ví dụ “.NET Framework hỗ trợ hơn 60 ngôn ngữ. Điều này bao gồm cả ngôn ngữ của Microsoft và không phải của Microsoft. Các ngôn ngữ phổ biến nhất là các ngôn ngữ Cobol, Perl, C , C ++ và F . Tôi bắt đầu sự nghiệp lập trình của mình bằng cách học C . Nó cung cấp một nền tảng quan trọng cho sự phát triển nghề nghiệp của tôi với tư cách là một lập trình viên. Khi tôi có chứng chỉ lập trình C , tôi được thăng chức thành nhà phát triển toàn thời gian tại National Telecom Ltd. Trong vai trò đó, tôi cũng đã học F và Cobol. Điều này khiến tôi rất quen thuộc với những ngôn ngữ phổ biến này được áp dụng cho .NET Framework. ” 3. Các khía cạnh quan trọng nhất của .NET là gì? .NET là một cơ sở hạ tầng bao gồm nhiều tính năng như miền ứng dụng, hệ thống kiểu chung và cấu hình. Cô lập một hoặc hai phần quan trọng có thể là một thách thức, nhưng người phỏng vấn có thể đang tìm kiếm câu trả lời “thư viện lớp học” và “Thời gian chạy ngôn ngữ chung”. Điều quan trọng là phải đưa ra lý do tại sao đó là những tính năng cần thiết nhất. Đây là cơ hội để thể hiện kỹ năng của bạn không chỉ là kỹ thuật vì bạn cũng có thể áp dụng tư duy phản biện. Ví dụ “Thư viện lớp và thời gian chạy ngôn ngữ chung là những khía cạnh quan trọng nhất của .NET Framework. CLR cung cấp các công cụ và tài nguyên xây dựng giúp các nhà phát triển đặt nền tảng cho việc xây dựng ứng dụng. Thư viện lớp chứa các lớp thiết yếu được sử dụng để cung cấp chức năng thường được biết đến có thể chia sẻ trên các ứng dụng. “ 4. Sự khác biệt giữa mã được quản lý và không được quản lý là gì? Khi các nhà phát triển làm việc trong một khuôn khổ đã được thiết lập, họ nên nhận thức được các sắc thái nhất định, đặc biệt là những sắc thái giữa mã được quản lý và không được quản lý. Câu hỏi này cho phép bạn hiển thị kiến thức của mình về cách làm việc trong khuôn khổ và để phân biệt kiến thức đó với việc làm việc trong các môi trường mã hóa khác. Trả lời câu hỏi này kiểm tra kiến thức lập trình sâu rộng của bạn và cho người phỏng vấn biết bạn đủ kỹ năng để xử lý các môi trường khác nhau trong vòng đời phát triển doanh nghiệp. Ví dụ “Mã được quản lý được quản lý và chạy bên trong CLR và cần .NET Framework để thực thi. Mặt khác, mã không được quản lý không cần CLR để thực thi. Mã không được quản lý được xây dựng từ một ngôn ngữ độc lập với .NET Framework và do đó sử dụng môi trường độc lập của nó để thực thi và biên dịch. ” Các câu hỏi khác mà người phỏng vấn có thể hỏi để đảm bảo bạn hiểu các tính năng sắc thái của .NET bao gồm Giải thích sự khác biệt giữa hàm và thủ tục được lưu loại lắp ráp khác nhau là gì?Các phần tử của một assembly là gì?Hai loại cookie trong là gì? 5. Giải thích các thuật ngữ cơ bản về cách thực thi mã được quản lý. Thực thi mã là một chức năng thiết yếu của bất kỳ nhà phát triển nào, nhưng kiến thức về thực thi mã được quản lý chỉ dành riêng cho .NET Framework. Câu trả lời của bạn sẽ giải thích cách thực thi mã chạy bên trong môi trường thời gian chạy ngôn ngữ chung mà khung cung cấp. Ngoài ra, bất cứ khi nào người phỏng vấn yêu cầu bạn giải thích điều gì đó bằng “các thuật ngữ cơ bản”, điều quan trọng là phải chú ý đến ngôn ngữ bạn sử dụng để làm cho nó rõ ràng nhất có thể. Những loại câu hỏi này thường được hỏi khi vị trí này yêu cầu ứng viên phải rất kỹ thuật và cũng là một người giao tiếp tốt, người có thể giải thích công việc của họ cho nhiều đối tượng. Trong một số tổ chức, nhà phát triển chính có thể chịu trách nhiệm báo cáo tiến độ của một ứng dụng cho các bên liên quan. Trong những cuộc trao đổi này, họ sẽ có thể chia nhỏ công việc của mình mà không sử dụng biệt ngữ kỹ thuật hoặc ngôn ngữ quá phức tạp. Ví dụ “Đầu tiên, tôi sẽ viết mã. Sau đó, tôi sẽ biên dịch mã với một tài nguyên được gọi là trình biên dịch. Sử dụng trình biên dịch, tôi sẽ chuyển đổi mã được quản lý thành một ngôn ngữ trung gian. Ngôn ngữ trung gian sẽ được nhắm mục tiêu bởi Common Language Runtime trong .NET Framework và được chuyển đổi thành mã gốc mà sau đó có thể được thực thi bên trong khuôn khổ. Trong vai trò nhà phát triển trước đây của tôi, tôi được giao nhiệm vụ đẩy nhanh thời gian phân phối ứng dụng. Sử dụng .NET và quy trình này để thực thi mã được quản lý, tôi đã có thể giảm 5% tiến trình phân phối về tổng thể. ”
câu hỏi phỏng vấn net