Sẵn sàng với cuộc họp công việc với 30 câu hỏi phỏng vấn .NET

Microsoft .net interview questions

.NET framework đã trở thành một cái tên nổi tiếng và dễ nhận biết trong thế giới khung framework. Ngày càng có nhiều lập trình viên sử dụng .NET cho trong công việc vụ hàng ngày của mình. Do vậy, các công ty đang tìm kiếm những người thành thạo về .NET framework trong việc tạo ứng dụng và phát triển web. Nếu bạn đang muốn ứng tuyển vào vị trí công việc như vậy, hãy tìm hiểu các câu hỏi phỏng vấn .NET trong hướng dẫn ngay hôm nay!

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 đó chúng ta sẽ tìm hiểu sâu hơn về lập trình .NET với các câu hỏi nâng cao.

Nội dung

Những điều cơ bản về .NET

Đây chủ yếu là các câu hỏi liên quan đến định nghĩa bạn thường gặp trong các cuộc phỏng vấn. Vì .NET được coi là một trong những framework công nghệ khó nên tìm hiểu sâu hơn về .NET framework là điều cần thiết, mặc dù vậy, cũng đừng bỏ qua các câu hỏi căn bản.

Câu hỏi 1: .NET là gì?

Nhà tuyển dụng có thể giả sử rằng:

Hãy tưởng tượng rằng tôi không biết gì về .NET. Bạn hãy giải thích cho tôi .NET là gì, .NET viết tắt của cái gì, v.v.

Người phỏng vấn muốn bạn giải thích mọi thứ trong câu hỏi phỏng vấn .NET bằng cách diễn đạt riêng của bạn. Tôi sẽ cung cấp cho bạn một số định nghĩa đơn giản, chính xác để bạn có thể đưa ra câu trả lời của mình.

''.NET'' không phải là từ viết tắt cho một cụm từ nào cả. Tuy nhiên, thuật ngữ đầy đủ phải là “Microsoft .NET”, vì Microsoft đã sáng tạo ra khung framework này.

Vậy, .NET là gì?

Nói một cách đơn giản, .NET là một khung phát triển phần mềm và trang web. Nó được coi là một trong những framework tốt và đáng tin cậy. Tuy nhiên, việc học và tìm hiểu về .NET framework không phải đơn giản. Rất nhiều người yêu thích .NET vì ‘khả năng tương tác ngôn ngữ’ của nó - bất kỳ ngôn ngữ nào trong .NET đều có thể sử dụng code được viết bằng ngôn ngữ khác.

Các nhà phát triển khác đánh giá cao .NET còn là vì nó có nhiều chức năng và cài đặt sẵn.

Câu hỏi 2: .NET hỗ trợ bao nhiêu ngôn ngữ?

Tại thời điểm viết bài viết này, thì .NET hỗ trợ 44 ngôn ngữ khác nhau.

So sánh Nền tảng học online Bên cạnh các nền tảng khác

Bạn có biết?

Bạn đã bao giờ băn khoăn nền tảng học online nào tốt nhất cho sự nghiệp của bạn chưa?

Xem & so sánh TOP3 nền tảng học online cạnh nhau

Câu hỏi 3: Tuổi thọ của các mục trong ViewState là bao lâu?

Các mục trong ViewState sẽ tồn tại cho đến khi trang mà chứa chúng ngừng hoạt động.

Câu hỏi 4: ‘CTS’ là gì?

CTS là từ viết tắt của Common-Type System (Hệ thống loại chung). Hệ thống này ra lệnh các loại dữ liệu được sử dụng trong hệ thống.

Bạn nên chú ý đến các câu hỏi liên quan đến CTS - đây là các câu hỏi phỏng vấn .NET khá quan trọng.

Câu hỏi 5: Định nghĩa ‘encapsulation’.

Encapsulationmột chức năng bao gồm các phương pháp và dữ liệu khác nhau trong một dự án. Điều này được thực hiện để đối tượng của chương trình có thể thực hiện các chức năng một cách trơn tru và không có bất kỳ lỗi nào.

Câu hỏi 6: Điểm khác biệt giữa ‘class’ (lớp) và ‘object’ (đối tượng) là gì?

Đây là một trong những câu hỏi phỏng vấn .NET dựa trên định nghĩa, câu hỏi này khá dễ nếu bạn đã quen thuộc với các ngôn ngữ lập trình .NET.

Nói một cách đơn giản, một “object” (đối tượng) là một cái gì đó xảy ra hoặc nằm trongclass” (lớp). Lớp (class) định hình đối tượng trông như thế nào, cách chúng hoạt động và loại thuộc tính nào chúng có. Đổi lại, các đối tượng hành động tương tự tạo nên các lớp đó.

Câu hỏi 7: Có sự khác biệt giữa ‘debug’ và ‘trace’ hay không?

Câu trả lời là có. Lớp Trace có thể được sử dụng để gỡ lỗi và phát hành một số bản dựng nhất định, trong khi Debug chỉ được sử dụng để gỡ lỗi.

Câu hỏi này có thể được coi là một câu hỏi mẹo trong danh sách câu hỏi phỏng vấn .NET vì bạn dễ dàng quên chức năng bổ sung của Trace.

Câu hỏi 8: Điểm khác biệt giữa ‘in-process’ và ‘out-of-process’ là gì?

Cả hai khái niệm này đều liên quan đến quản lý bộ nhớ phiên. In-process (quá trình lưu trữ trong) lưu trữ tất cả dữ liệu từ một phiên phát triển trên máy chủ web. Trái ngược với điều đó, out-of-process  (quy trình lưu trữ ngoài) lưu trữ cùng một dữ liệu trên một khu vực quản lý bộ nhớ ngoài. Có lẽ một trong những khu vực lưu trữ bộ nhớ ngoài phổ biến nhất sẽ là SQL server.

Câu hỏi 9: MSIL là gì?

MSIL (Microsoft Intermediate Language) có nghĩa là Ngôn ngữ trung gian của Microsoft. Nó được sử dụng để xác định các giá trị, lưu trữ bộ nhớ và các tác vụ cao cấp tương tự khác. Mỗi mã code mà .NET sử dụng trước tiên phải đi qua MSIL.

Câu hỏi 10: ‘inheritance’ là gì?

Đây không phải là một trong những câu hỏi phỏng vấn .NET chính nhưng nó thường được hỏi vì liên quan đến .NET framework.

Inheritance (Kế thừa) xảy ra khi một lớp nhỏ hơn đảm nhận các tính năng và tham số của lớp khác lớn hơn. Lớp lớn hơn này sau đó được xem như là một “lớp mẹ” của lớp nhỏ hơn (lớp con).

Bạn cũng có thể mở rộng câu hỏi phỏng vấn .NET này. .NET chỉ hỗ trợ kế thừa đơn lẻ. Điều này có nghĩa là lớp con nhỏ hơn chỉ có thể kế thừa (inherit) từ một lớp mẹ.

Câu hỏi 11: Điểm khác biệt giữa ‘managed code’ và ‘unmanaged code’ là gì?

Managed code (Mã được quản lý) là một loại mã code được tạo và biên dịch trong .NET framework. Ngược lại, unmanaged code (mã không được quản lý) đến từ một khung framework xây dựng phần mềm khác và mang theo tất cả các tính năng và cài đặt của khung khác.

Câu hỏi 12: ‘int’ và ‘System.Int32’ có khác biệt hay không?

Bạn còn nhớ về câu hỏi phỏng vấn.NET mẹo mà tôi đã đề cập? Đây là một trong những câu hỏi như vậy.

Không có sự khác biệt nhiều giữa int” và “System.Int32”. “Int” có thể được hiểu đơn giản là một phiên bản ngắn hơn của  “System.Int32.

Câu hỏi 13: Định nghĩa ‘caching’.

Đây là một thuật ngữ quen thuộc nếu bạn đã có kinh nghiệm lập trình. Câu hỏi về “Catching” là một trong những câu hỏi phỏng vấn .NET phổ biến.

Caching (Bộ nhớ đệm) là một quá trình khi bạn giữ các tệp và dữ liệu thường được sử dụng nhất trong một bộ nhớ riêng. Vị trí riêng biệt này - bộ đệm cache - là nơi bạn có thể truy cập tất cả các tệp được chỉ định. Bộ nhớ đệm tiết kiệm cho các nhà lập trình .NET rất nhiều thời gian và tăng khả năng quản lý bộ nhớ.

Câu hỏi 14: ‘assembly’ là gì?

Assembly nơi chứa tất cả các công cụ cần thiết để xây dựng trang web và chương trình sử dụng .NET. Một nhà phát triển có thể cần có nơi tập trung private (riêng) và shared (chung).

Câu hỏi 15: .NET có phải là OOP hay AOP framework không?

OOP (Object-Oriented Programming) nghĩa là Lập trình hướng đối tượng, còn AOP viết tắt của Aspect-Oriented Programming (Lập trình hướng khía cạnh). Vậy, .NET sử dụng cái nào?

Câu trả lời đã được ẩn ý trong các câu hỏi phỏng vấn .NET đề cập trước đó. .NET hoàn toàn là một khung OOP - các khái niệm đã đề cập như EncapsulationInheritancemột số tính năng chính của khung lập trình hướng đối tượng.

Đây có lẽ là một trong những câu hỏi phỏng vấn .NET framework thú vị nhất. Tuy nhiên, câu trả lời đã khá rõ ràng nếu bạn biết sự khác biệt giữa OOP và AOP.

Câu hỏi ngôn ngữ lập trình .NET nâng cao

Microsoft .net interview questions - software disc

Hãy nhớ rằng từ “advanced” (nâng cao) không có nghĩa, bạn phải là một chuyên gia lập trình .NET hơn 20 năm mới trả lời được. Nó đòi hỏi bạn thực sự đã sử dụng .NET, chứ không chỉ nghe nói về nó, để trả lời các câu hỏi phỏng vấn .NET nâng cao.

Câu hỏi 1: Có thể cài đặt thủ công bộ đếm thời gian ‘session out’ không?

Câu trả lời là có. Đây là một câu hỏi phỏng vấn .NET với các câu hỏi mở rộng sau đó, vì nó sẽ không chỉ dừng lại ở “có” hay “không”.

Câu hỏi mở rộng có thể là “Bằng cách nào?” Và bạn phải thực sự thực hiện và truy cập web.config.

Câu hỏi 2: Có thể kết hợp các ngôn ngữ khác nhau trong thư mục ‘App_Code’ không?

Câu trả lời là không. Tập tin bạn đang làm việc phải được viết bằng một mã code cụ thể. Bạn không thể kết hợp các ngôn ngữ coding trong thư mục.

Câu hỏi 3: Tập tin ‘.dll’ là gì?

Bạn có biết cảm giác khi chơi trò chơi yêu thích và đột nhiên có ý tưởng tuyệt vời để chỉnh sửa nó, nhưng lại phát hiện ra một loạt các tập tin “DLL” bị mất sau khi quá trình sửa đổi hoàn tất?

Tập tin DLL là những tập tin cần được ẩn. Đây là thuật ngữ viết tắt của “Dynamic Link Library”. Các thư viện này rất rộng lớn, chứa một lượng lớn tệp và lệnh. DLL cũng có thể được chia sẻ giữa các chương trình và ứng dụng khác. Đây chỉ có thể là một phần nhỏ trong các câu hỏi phỏng vấn .NET nhưng lại tạo ra một sự khác biệt lớn.

Câu hỏi 4: Có sự khác biệt giữa ‘stack’ và ‘queue’ hay không?

Câu trả lời sẽ là có. Một cách giải thích ngắn gọn và rõ ràng có thể là stacks LIFOqueues FIFO.

LIFO có nghĩa là Last in, first out (“nhập sau, xuất trước”). Stack xử lý các loại giá trị theo hệ thống phân cấp từ trên xuống. Mặt khác, FIFO có nghĩa là First-in, first-out (“nhập trước, xuất trước”). Queues tuân theo nguyên tắc này và chèn các mục từ phía dưới trong khi xóa các mục ở phía trên.

Câu hỏi 5: ‘boxing’ là gì?

Boxingmột quá trình khi bạn tạo các đối tượng từ các loại giá trị nhất định. Các quy trình này là ẩn.

Đây là một trong những câu hỏi phỏng vấn .NET có thể có câu hỏi mở rộng sau đó, có thể là “unboxing là gì?”.  Nói một cách đơn giản - unboxing là quá trình ngược lại của boxing.

Câu hỏi 6: Chỉ số của khóa chính trên bảng có thể được điều chỉnh hay thay đổi không?

Câu trả lời sẽ là không.

Câu hỏi 7: Làm thế nào để xác thực dữ liệu đã có trên trang Web?

Client-side validation (Xác thực phía khách hàng) được nhiều người coi là cách tốt nhất để xác thực dữ liệu từ trang web. Lý do chính là bạn không cần sử dụng bất kỳ tài nguyên nào để đạt được điều này - người dùng ghé thăm trang web chính là những người giải quyết quy trình này.

Câu hỏi 8: Điểm khác biệt chính giữa ‘functions’ và ‘stored procedures’ là gì?

Mặc dù hai tính năng này có nhiều điểm khác biệt và câu hỏi phỏng vấn .NET kiểu này có thể khiến bạn rơi vào “bẫy” và dễ trả lời sai. Features (Tính năng) có thể thực hiện một số nhiệm vụ khác nhau, trong khi stored procedure (quy trình được lưu trữ) chỉ được thiết kế cho một nhiệm vụ duy nhất.

Câu hỏi 9: LINQ là gì?

LINQ (Language Integrated Query) là một truy vấn tích hợp ngôn ngữ. Đây là một mô hình do Microsoft tạo ra với cú pháp cụ thể riêng. LINQ dựa trên ngôn ngữ lập trình C # và có thể được triển khai như một thư viện sang các ngôn ngữ coding khác.

Câu hỏi 10: Có sự khác biệt giữa ‘stacks’ và ‘heaps’ không?

Có – stacks lưu trữ các loại giá trị, trong khi heaps lưu trữ các loại tham chiếu.

Câu hỏi 11: Định nghĩa ‘variable’ và ‘constant’.

Một variable (biến) là một nơi trên máy tính nơi dữ liệu được lưu trữ. Mỗi biến có một loại dữ liệu được chỉ định. Các biến có một tên cụ thể được gán cho chúng.

Constants (hằng số) gần như giống với các biến ngoại trừ việc chúng có các giá trị cụ thể gắn liền với chúng,không thể thay đổi.

Ví dụ về hằng số:

const int interestRate =73;

Đây là một trong những câu hỏi phỏng vấn .NET yêu cầu bạn thực hành một số kiến thức coding, vì vậy đừng quên nâng cao kỹ năng cho bản thân!

Câu hỏi 12: Garbage Collector là gì?

Garbage collectors (Gom rác) là những công cụ đặc biệt trong .NET được thiết kế để giải phóng không gian không sử dụng và do đó làm cho framework chạy và hoạt động nhanh hơn.

Công cụ có thể được truy cập bằng lệnh System.GC.Collect()

Câu hỏi 13: Có thể chỉ định các sửa đổi truy cập trong một giao diện không?

Giả sử rằng câu hỏi liên quan đến các công cụ sửa đổi truy cập mục thì câu trả lời là không, Vậy tại sao? Đơn giản vì giao diện luôn được ở chế độ công khai.

Câu hỏi 14: ‘tuple’ là gì?

Tuples (Bộ dữ liệu) là bộ sưu tập các loại dữ liệu cùng loại hoặc khác nhau. Các kích thước của bộ dữ liệu luôn được cố định (1 - 8) - nhà phát triển phải áp dụng kích thước mà họ muốn tại thời điểm khai báo “declaration”.

Ưu điểm
  • Đa dạng nhiều khóa học
  • Dễ điều hướng
  • Không có vấn đề kỹ thuật
Tính năng chính
  • Đa dạng nhiều khóa học
  • Chính sách hoàn tiền trong 30 ngày
  • Chứng chỉ hoàn thành miễn phí
Ưu điểm
  • Thiết kế đơn giản (không có thông tin không cần thiết)
  • Khóa học chất lượng cao (ngay cả khóa miễn phí)
  • Đa dạng tính năng
Tính năng chính
  • Chương trình nanodegree
  • Phù hợp với doanh nghiệp
  • Chứng chỉ hoàn thành trả phí
Ưu điểm
  • Dễ sử dụng
  • Cung cấp nội dung chất lượng
  • Minh bạch giá cả
Tính năng chính
  • Chứng chỉ miễn phí sau hoàn thành
  • Tập trung vào các kỹ năng khoa học dữ liệu
  • Thời gian học tập linh hoạt

Câu hỏi 15: Có bao nhiêu loại chỉ mục trong .NET?

hai loại chỉ mục - chỉ mục cụm clustered và chỉ mục không phân cụm non-clustered.

Tóm tắt

Trong hướng dẫn này, chúng ta đã nói về một số câu hỏi phỏng vấn .NET cơ bản và nâng cao và những gì .NET thể hiện.

Microsoft .net interview questions - computer programming

Khi chuẩn bị cho cuộc phỏng vấn, hãy cố gắng tìm ra càng nhiều câu hỏi khác nhau càng tốt. Dần dần, bạn sẽ thấy các câu hỏi nghe tương tự nhau và thậm chí còn dễ hơn.

Điều đó là bởi vì bạn đã trải nghiệm nhiều dạng câu hỏi khác nhau và bộ não dần ghi nhớ thông tin dễ dàng hơn. Một khi cảm thấy đủ tự tin với các kỹ năng và lý thuyết thì hãy bắt đầu thực hành và áp dụng những gì bạn biết về lập trình .NET và các ngôn ngữ lập trình khác với các khóa học và trang hướng dẫn tại BitDegree.

Để lại phản hồi chân thật của bạn

Hãy để lại ý kiến xác thực của bạn & giúp hàng nghìn người chọn được nền tảng học online tốt nhất. Tất cả phản hồi, dù tích cực hay tiêu cực, đều được chấp nhận miễn là chúng trung thực. Chúng tôi không công khai phản hồi thiên vị hoặc thư rác. Vì vậy, nếu bạn muốn chia sẻ kinh nghiệm, ý kiến hoặc đưa ra lời khuyên - phần này dành cho bạn!

Câu hỏi thường gặp

Cách chọn trang khóa học trực tuyến nào để đánh giá như thế nào?

Chúng tôi chọn các nền tảng học online theo quy mô thị trường, mức độ phổ biến của chúng và quan trọng nhất là yêu cầu hoặc sở thích chung của người dùng để đọc các bài đánh giá MOOC chân thật về một số nền tảng học online nhất định.

Bạn cần nghiên cứu nhiều như thế nào trước khi viết đánh giá e-learning?

Các chuyên gia MOOC tận tâm của chúng tôi thực hiện nghiên cứu trong nhiều tuần - chỉ sau đó mới có thể nói rằng các đánh giá của họ về các khía cạnh khác nhau là cuối cùng và hoàn chỉnh. Mặc dù mất rất nhiều thời gian, nhưng đây là cách duy nhất chúng tôi có thể đảm bảo rằng tất cả các tính năng thiết yếu của nền tảng học online đều được thử nghiệm và kiểm tra và phán quyết dựa trên dữ liệu thực.

Khía cạnh nào là quan trọng nhất khi chọn nền tảng học online tốt nhất?

Sẽ không đúng nếu chỉ chọn một khía cạnh trong số lựa chọn: các ưu tiên phụ thuộc vào từng cá nhân, giá trị, mong muốn và mục tiêu của họ. Một tính năng quan trọng đối với một người có thể hoàn toàn không liên quan đến người kia. Nhưng dù sao, tất cả người dùng sẽ đồng ý rằng chất lượng tốt của tài liệu học tập là điều bắt buộc đối với các nền tảng học online.

Nền tảng đánh giá e-learning này khác với những cái khác như thế nào?

Mỗi nền tảng đánh giá MOOC là duy nhất và có các mục tiêu và giá trị riêng. Các bài đánh giá e-learning của chúng tôi là chân thực 100% và được viết sau khi thực hiện phân tích cẩn thận. Đó là mục tiêu mà rất nhiều trang đánh giá e-learning còn thiếu, vì vậy chúng tôi coi đó là siêu năng lực của mình!

Ngày
Giờ
Phút
Giây