50 câu hỏi và câu trả lời phỏng vấn API Web Asp.Net (2025)
Câu hỏi và câu trả lời phỏng vấn API Web Asp.Net dành cho người mới
1) API Web là gì?
WebAPI là một framework giúp bạn xây dựng/phát triển các dịch vụ HTTP.
2) Tại sao cần có API Web? Có thể sử dụng dịch vụ RESTful bằng WCF không?
Có, chúng tôi vẫn có thể phát triển dịch vụ RESTful với WCF. Tuy nhiên, có hai lý do chính khiến người dùng sử dụng Web API thay vì dịch vụ RESTful.
- API Web tăng cường phương pháp tiếp cận TDD (Kiểm tra dữ liệu theo hướng) trong việc phát triển các dịch vụ RESTful.
- Nếu chúng tôi muốn phát triển dịch vụ RESTful trong WCF, bạn chắc chắn cần rất nhiều cài đặt cấu hình, mẫu URI, hợp đồng & điểm cuối để phát triển dịch vụ RESTful bằng API web.
👉 Tải xuống bản PDF miễn phí: Câu hỏi và câu trả lời phỏng vấn API Web Asp.Net >>
3) Tại sao chọn API Web?
- Nó được sử dụng để tạo các Dịch vụ HTTP đơn giản, không dựa trên SOAP
- Đây cũng là một phương pháp dễ dàng để tạo bằng API Web. Với dịch vụ WCF REST
- Nó dựa trên HTTP và dễ dàng xác định, hiển thị và sử dụng theo cách REST-ful.
- Đây là kiến trúc nhẹ và lý tưởng cho các thiết bị có băng thông hạn chế như điện thoại thông minh.
4) Có đúng là API Web ASP.NET đã thay thế WCF không?
Hoàn toàn không đúng khi cho rằng ASP.NET Web API đã thay thế WCF. Trên thực tế, đó là một cách khác để xây dựng các dịch vụ không dựa trên SOAP, tức là chuỗi XML hoặc JSON đơn giản.
5) Ưu điểm của API Web là gì?
Ưu điểm của API Web là:
- OData
- Bộ Lọc
- Đàm phán nội dung
- Tự lưu trữ
- Định tuyến
- Ràng buộc mô hình
6) Các loại trả về chính được hỗ trợ trong API Web là gì?
Hành động điều khiển Web API có thể trả về các giá trị sau:
- Làm mất hiệu lực – Nó sẽ trả về nội dung trống
- HttpResponseMessage – Nó sẽ chuyển đổi phản hồi thành tin nhắn HTTP.
- IHttpActionKết quả – gọi ExecuteAsync nội bộ để tạo HttpResponseMessage
- các loại khác – Bạn có thể viết giá trị trả về được tuần tự hóa vào phần nội dung phản hồi
7) API Web hỗ trợ giao thức nào?
Ứng dụng web hỗ trợ giao thức HTTP.
8) .NET framework nào hỗ trợ API Web?
NET 4.0 trở lên hỗ trợ API web.
9) Web API sử dụng thư viện mã nguồn mở nào sau đây để tuần tự hóa JSON?
API Web sử dụng thư viện Json.NET để tuần tự hóa JSON.
10) Theo mặc định, Web API gửi phản hồi HTTP với mã trạng thái nào sau đây cho tất cả ngoại lệ chưa được phát hiện?
500 - Lỗi máy chủ nội bộ
Câu hỏi phỏng vấn API Web Asp.Net dành cho người có kinh nghiệm
11) Nhược điểm lớn nhất của “Các loại trả về khác” trong API Web là gì?
Nhược điểm lớn nhất của phương pháp này là bạn không thể trực tiếp trả về mã lỗi như lỗi 404.
12) Bạn xây dựng HtmlResponseMessage như thế nào?
Sau đây là cách xây dựng để thực hiện điều đó,
public class TestController : ApiController { public HttpResponseMessage Get() { HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.OK, "value"); response.Content = new StringContent("Testing", Encoding.Unicode); response.Headers.CacheControl = new CacheControlHeaderValue() { MaxAge = TimeSpan.FromMinutes(20) }; return response; } }
13) Định tuyến API Web là gì?
Định tuyến là khớp mẫu giống như trong MVC.
Tất cả các tuyến đường được đăng ký trong Bảng định tuyến.
Ví dụ:
Routes.MapHttpRoute( Name: "ExampleWebAPIRoute", routeTemplate: “api/{controller}/{id} defaults: new { id = RouteParameter.Optional}
14) SOAP là gì?
SOAP là một định dạng thông báo XML được sử dụng trong các tương tác dịch vụ web. Nó cho phép gửi tin nhắn qua HTTP hoặc JMS, nhưng có thể sử dụng các giao thức truyền tải khác. Nó cũng là một giao thức nhắn tin dựa trên XML để trao đổi thông tin giữa các máy tính.
15) Lợi ích của việc sử dụng REST trong API Web là gì?
REST được sử dụng để thực hiện ít chuyển dữ liệu hơn giữa máy khách và máy chủ, điều này lý tưởng để sử dụng nó trong các ứng dụng di động. API Web cũng hỗ trợ giao thức HTTP. Vì vậy, nó giới thiệu lại cách truyền thống của các động từ HTTP để giao tiếp.
16) Làm cách nào chúng ta có thể sử dụng API Web với ASP.NET Web Form?
API Web có thể được sử dụng với ASP.NET Web Form
Nó có thể được thực hiện trong ba bước đơn giản:
- Tạo Bộ điều khiển API Web,
- Thêm bảng định tuyến vào phương thức Application_Start của Global.asax
- Sau đó, bạn cần tạo một phương thức jQuery AJAX Call to Web API và lấy dữ liệu.
17) Làm cách nào để bạn có thể giới hạn Quyền truy cập vào API Web đối với Động từ HTTP cụ thể?
Lập trình thuộc tính đóng một vai trò quan trọng. Thật dễ dàng để hạn chế quyền truy cập vào một phương thức API Web ASP.NET được gọi bằng một phương thức HTTP cụ thể.
18) Bạn có thể sử dụng API Web với ASP.NET Web Form không?
Có, Có thể sử dụng API Web với biểu mẫu web ASP.Net. Vì nó được đóng gói với khung ASP.NET MVC. Tuy nhiên, nó có thể được sử dụng với Mẫu web ASP.NET.
19) Làm cách nào có thể gán tên bí danh cho Hành động API Web ASP.NET?
Chúng tôi có thể đặt tên bí danh cho hành động API Web giống như trong trường hợp ASP.NET MVC bằng cách sử dụng thuộc tính “ActionName” như sau:
[HttpPost] [ActionName("SaveStudentInfo")] public void UpdateStudent(Student aStudent) { StudentRepository.AddStudent(aStudent); }
20) Ý nghĩa của TestApi là gì?
TestApi là một thư viện API tiện ích. Sử dụng thư viện này, nhà phát triển thử nghiệm có thể tạo công cụ kiểm tra và kiểm tra tự động cho ứng dụng .NET bằng cách sử dụng cấu trúc dữ liệu và thuật toán.
Câu hỏi phỏng vấn API Web cho 5 năm kinh nghiệm
21) Giải thích các bộ lọc ngoại lệ?
Nó sẽ được thực thi khi các ngoại lệ không được xử lý và được ném ra khỏi bộ điều khiển method. Lý do ngoại lệ có thể là bất cứ điều gì. Bộ lọc ngoại lệ sẽ triển khai giao diện “IExceptionFilter”.
22) Làm cách nào chúng tôi có thể đăng ký bộ lọc ngoại lệ từ hành động?
Chúng ta có thể đăng ký bộ lọc ngoại lệ từ hành động bằng cách sử dụng mã sau:
[NotImplExceptionFilter] public TestCustomer GetMyTestCustomer(int custid) { //write the code }
23) Làm cách nào bạn có thể trả về Chế độ xem từ phương thức API Web ASP.NET?
Không, chúng tôi không thể trả về chế độ xem từ Phương thức API Web ASP.NET. API Web tạo các dịch vụ HTTP hiển thị dữ liệu thô. Tuy nhiên, điều đó cũng có thể thực hiện được trong ứng dụng ASP.NET MVC.
24) Làm cách nào để đăng ký bộ lọc ngoại lệ trên toàn cầu?
Có thể đăng ký bộ lọc ngoại lệ toàn cầu bằng cách sử dụng mã sau:
GlobalConfiguration.Configuration.Filters.Add (mới
Không có ngoại lệ nào được tìm thấy.
25) Giải thích REST và RESTFUL là gì?
REST đại diện cho Chuyển giao trạng thái đại diện; nó hoàn toàn là một khía cạnh mới của việc viết một ứng dụng web.
RESTFUL: Thuật ngữ được viết bằng cách áp dụng các khái niệm kiến trúc REST được gọi là dịch vụ RESTful. Nó tập trung vào tài nguyên hệ thống và cách trạng thái của tài nguyên nên được vận chuyển qua giao thức HTTP.
26) Hãy cho tôi một ví dụ về Định tuyến API Web?
Config.Routes.MapHttpRoute( name: "MyRoute,"//route name routeTemplate: "api/{controller}/{action}/{id}",//as you can see "API" is at the beginning. defaults: new { id = RouteParameter.Optional } );
27) Bạn có thể xử lý lỗi trong Web API như thế nào?
Một số lớp có sẵn trong API Web để xử lý lỗi. Chúng là HttpError, Bộ lọc ngoại lệ, HttpResponseException và Bộ lọc ngoại lệ đăng ký.
28) Tính năng mới nào đi kèm với ASP.NET Web API 2.0?
Các tính năng mới nhất của ASP.NET Web API framework v2.0 như sau:
- Định tuyến thuộc tính
- Chia sẻ tài nguyên đa nguồn gốc
- Xác thực bên ngoài
- Giao diện web mở NET
- HttpActionKết quả
- Dữ liệu API Web
29) Làm cách nào bạn có thể hạn chế các phương thức truy cập đối với các động từ HTTP cụ thể trong API Web?
Với sự trợ giúp của Thuộc tính (như động từ HTTP), có thể triển khai các hạn chế truy cập trong API Web.
Có thể định nghĩa các động từ HTTP như một thuộc tính để hạn chế quyền truy cập.
Ví dụ:
[HttpPost] public void Method1(Class obj) { //logic
30) Làm thế nào để truyền nhiều kiểu dữ liệu phức tạp trong Web API?
Hai phương pháp để truyền các kiểu phức tạp trong Web API –
Sử dụng mảng ArrayList và Newtonsoft
31) Viết mã để truyền ArrayList trong API Web?
ArrayList paramList = new ArrayList(); Category c = new Category { CategoryId = 1, CategoryName =“MobilePhones”}; Product p = new Product { Productcode = 1, Name = “MotoG”, Price = 15500, CategoryID = 1 }; paramList.Add(c); paramList.Add(p);
32) Kể tên các công cụ hoặc API để phát triển hoặc thử nghiệm api web?
Các công cụ kiểm tra dịch vụ web dành cho API REST bao gồm:
- API Jersey
- CFX
- Trục
- nhà vệ sinh
33) REST là gì?
REST là phong cách kiến trúc. Nó đã định nghĩa các hướng dẫn để tạo ra các dịch vụ có khả năng mở rộng. REST được sử dụng với giao thức HTTP bằng các động từ GET, PUT, POST và DELETE.
34) Làm cách nào để kiểm tra đơn vị API Web?
Chúng tôi có thể thực hiện Kiểm tra đơn vị bằng các công cụ API Web như Fiddler.
Dưới đây là một số cài đặt cần thực hiện nếu bạn đang sử dụng
Fiddler –Tab Soạn thảo -> Nhập tiêu đề yêu cầu -> Nhập nội dung yêu cầu và thực hiện
35) Làm cách nào chúng tôi có thể hạn chế quyền truy cập vào các phương thức có động từ HTTP cụ thể trong API Web?
Lập trình thuộc tính được sử dụng rộng rãi cho chức năng này. API Web cũng cho phép hạn chế quyền truy cập của các phương thức gọi với sự trợ giúp của các động từ HTTP cụ thể. Cũng có thể định nghĩa các động từ HTTP là thuộc tính trên phương thức.
Câu hỏi phỏng vấn API Web cho hơn 10 năm kinh nghiệm
36) Cách sử dụng DelegatingHandler là gì?
DelegatingHandler được sử dụng trong API Web để đại diện cho Trình xử lý tin nhắn trước khi định tuyến.
37) Làm cách nào chúng tôi có thể đăng ký bộ lọc ngoại lệ từ hành động?
Chúng ta có thể đăng ký bộ lọc ngoại lệ từ hành động bằng cách sử dụng mã sau
[NotImplExceptionFilter] public TestCust GetMyTestCust (int custno) { //write the code }
38) Hãy cho tôi biết đoạn mã để chỉ ra cách chúng tôi có thể trả về lỗi 404 từ HttpError?
Mã trả về lỗi 404 từ HttpError
string message = string.Format(“TestCustomer id = {0} not found”, customerid);
return Request.CreateErrorResponse(HttpStatusCode.NotFound, message);
39) Giải thích đoạn mã đăng ký bộ lọc ngoại lệ từ bộ điều khiển?
[NotImplExceptionFilter] public class TestCustController : Controller { //Your code goes here }
40) API Web hỗ trợ giao thức nào?
Ứng dụng web hỗ trợ giao thức HTTP
41) .NET framework nào sau đây hỗ trợ Web API?
API Web được hỗ trợ bởi phiên bản NET 4.0
42) API Web sử dụng thư viện nào để tuần tự hóa JSON?
API Web sử dụng thư viện Json.NET để tuần tự hóa JSON.
43) Theo mặc định, Web API gửi phản hồi HTTP với mã trạng thái nào sau đây cho tất cả ngoại lệ chưa được phát hiện?
500 - Lỗi máy chủ nội bộ
44) Trình bày phương pháp xử lý lỗi sử dụng HttpError trong Web API?
Trong API WEB HttpError được sử dụng để đưa thông tin lỗi vào phần nội dung phản hồi. Phương thức “CreateErrorResponse” cũng có thể được sử dụng cùng với phương thức này, đây là một phương thức mở rộng được xác định trong “HttpRequestMessageExtension”.
45) Làm cách nào chúng tôi có thể đăng ký bộ lọc ngoại lệ trên toàn cầu?
Chúng ta có thể đăng ký bộ lọc ngoại lệ trên toàn cầu bằng cách sử dụng mã sau:
GlobalConfiguration.Configuration.Filters.Add (new MyTestCustomerStore.NotImplExceptionFilterAttribute());
46) Xử lý lỗi trong Web API như thế nào?
Một số lớp có sẵn trong API Web để xử lý lỗi. Chúng là HttpError, HttpResponseException, Bộ lọc ngoại lệ, Bộ lọc ngoại lệ đăng ký.
47) Lợi ích của WebAPI so với WCF là gì?
Dịch vụ WCF sử dụng giao thức SOAP trong khi HTTP không bao giờ sử dụng giao thức SOAP. Đó là lý do tại sao các dịch vụ WebAPI rất nhẹ vì SOAP không được sử dụng. Nó cũng làm giảm dữ liệu được chuyển sang dịch vụ tiếp tục. Hơn nữa, nó không bao giờ cần cấu hình quá nhiều. Do đó, khách hàng có thể tương tác với dịch vụ bằng cách sử dụng động từ HTTP.
48) Nêu sự khác biệt giữa MVC và WebAPI
Khung MVC được sử dụng để phát triển các ứng dụng có Giao diện người dùng. Vì thế, các khung nhìn có thể được sử dụng để xây dựng giao diện người dùng.
WebAPI được sử dụng để phát triển các dịch vụ HTTP. Các ứng dụng khác cũng có thể được gọi là phương thức WebAPI để tìm nạp dữ liệu đó.
49) Ai có thể sử dụng WebAPI?
WebAPI có thể được sử dụng bởi bất kỳ ứng dụng khách nào hỗ trợ các động từ HTTP như GET, PUT, DELETE, POST. Vì các dịch vụ WebAPI không cần bất kỳ cấu hình nào nên mọi khách hàng đều rất dễ dàng sử dụng chúng. Tóm lại, ngay cả các thiết bị di động như Thiết bị di động cũng có thể dễ dàng sử dụng WebAPI, đây chắc chắn là lợi thế lớn nhất của công nghệ này.
50) Làm cách nào chúng tôi có thể đảm bảo rằng API Web chỉ trả về dữ liệu JSON?
Để Web API tuần tự hóa đối tượng trả về thành định dạng JSON và chỉ trả về dữ liệu JSON. Để làm được điều đó, bạn nên thêm đoạn mã sau vào lớp WebApiConfig.cs trong bất kỳ Dự án MVC Web API nào:
//JsonFormatter //MediaTypeHeaderValue Config.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("application/json")); 1 2 3 //JsonFormatter //MediaTypeHeaderValue Config.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("application/json"))
Những câu hỏi phỏng vấn này cũng sẽ giúp ích cho bài thi viva(orals) của bạn