50 вопросов и ответов на собеседовании по веб-API Asp.Net (2025 г.)
Вопросы и ответы на собеседовании по Asp.Net Web API для новичков
1) Что такое веб-API?
WebAPI — это платформа, которая помогает создавать/разрабатывать HTTP-сервисы.
2) Зачем нужен веб-API? Можно ли использовать службы RESTful с помощью WCF?
Да, мы по-прежнему можем разрабатывать службы RESTful с помощью WCF. Однако есть две основные причины, которые побуждают пользователей использовать веб-API вместо сервисов RESTful.
- Веб-API расширяет возможности подхода TDD (Test Data Driven) при разработке сервисов RESTful.
- Если мы хотим разрабатывать службы RESTful в WCF, вам наверняка понадобится множество настроек конфигурации, шаблонов URI, контрактов и конечных точек для разработки служб RESTful с использованием веб-API.
👉 Бесплатная загрузка PDF-файла: Интервью с Asp.Net Web API, вопросы и ответы >>
3) Почему стоит выбрать веб-API?
- Он используется для создания простых HTTP-сервисов, не основанных на SOAP.
- Это также простой метод создания с помощью веб-API. С помощью служб REST WCF
- Он основан на HTTP и его легко определить, предоставить и использовать с помощью REST.
- Это легкая архитектура, идеальная для устройств с ограниченной пропускной способностью, таких как смартфоны.
4) Правильно ли, что веб-API ASP.NET заменил WCF?
Совершенно неверно, что веб-API ASP.NET заменил WCF. Фактически, это еще один способ создания служб, не основанных на SOAP, т. е. простой строки XML или JSON.
5) Каковы преимущества веб-API?
Преимущества веб-API:
- OДата
- Фильтры
- Согласование содержания
- Самостоятельный хостинг
- Маршрутизация
- Привязки модели
6) Какие основные типы возвращаемых данных поддерживаются в веб-API?
Действие контроллера веб-API может возвращать следующие значения:
- Void – Он вернет пустой контент
- HttpResponseMessage – Он преобразует ответ в HTTP-сообщение.
- Ихттпактионресулт – внутренний вызов ExecuteAsync для создания HttpResponseMessage
- Другие типы – Вы можете записать сериализованное возвращаемое значение в тело ответа.
7) Какой протокол поддерживает веб-API?
Веб-приложение поддерживает протокол HTTP.
8) Какая платформа .NET поддерживает веб-API?
NET 4.0 и более поздних версий поддерживают веб-API.
9) Какая из следующих библиотек с открытым исходным кодом используется веб-API для сериализации JSON?
Веб-API использует библиотеку Json.NET для сериализации JSON.
10) По умолчанию веб-API отправляет HTTP-ответ с каким из следующих кодов состояния для всех неперехваченных исключений?
500 - Внутренняя ошибка сервера
Вопросы на собеседовании по Asp.Net Web API для опытных пользователей
11) Каков самый большой недостаток «других типов возврата» в веб-API?
Самый большой недостаток этого подхода заключается в том, что вы не можете напрямую вернуть код ошибки, например ошибку 404.
12) Как вы создаете HtmlResponseMessage?
Ниже приведен способ построения для этого:
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) Что такое маршрутизация веб-API?
Маршрутизация — это сопоставление шаблонов, как в MVC.
Все маршруты зарегистрированы в таблицах маршрутов.
Например:
Routes.MapHttpRoute( Name: "ExampleWebAPIRoute", routeTemplate: “api/{controller}/{id} defaults: new { id = RouteParameter.Optional}
14) Что такое мыло?
SOAP — это формат сообщений XML, используемый при взаимодействии веб-служб. Он позволяет отправлять сообщения через HTTP или JMS, но можно использовать и другие транспортные протоколы. Это также протокол обмена сообщениями на основе XML для обмена информацией между компьютерами.
15) В чем преимущество использования REST в веб-API?
REST используется для уменьшения количества передач данных между клиентом и сервером, что делает его идеальным для использования в мобильных приложениях. Веб-API также поддерживает протокол HTTP. Таким образом, он вновь вводит традиционный способ общения HTTP-глаголами.
16) Как мы можем использовать веб-API с веб-формой ASP.NET?
Веб-API можно использовать с веб-формой ASP.NET.
Это можно выполнить в три простых шага:
- Создайте контроллер веб-API,
- Добавьте таблицу маршрутизации в метод Application_Start Global.asax.
- Затем вам нужно выполнить метод jQuery AJAX Call to Web API и получить данные.
17) Как ограничить доступ к веб-API определенным HTTP-командом?
Программирование атрибутов играет важную роль. Легко ограничить доступ к методу веб-API ASP.NET, который будет вызываться с использованием определенного метода HTTP.
18) Можете ли вы использовать веб-API с веб-формой ASP.NET?
Да, можно использовать веб-API с веб-формой ASP.Net. Поскольку он входит в состав платформы ASP.NET MVC. Однако его можно использовать с Веб-форма ASP.NET.
19) Как назначить псевдоним для действия веб-API ASP.NET?
Мы можем указать псевдоним для действия веб-API так же, как и в случае ASP.NET MVC используя атрибут «ActionName» следующим образом:
[HttpPost] [ActionName("SaveStudentInfo")] public void UpdateStudent(Student aStudent) { StudentRepository.AddStudent(aStudent); }
20) В чем смысл TestApi?
TestApi — это служебная библиотека API. Используя эту библиотеку, разработчик тестера может создавать инструменты тестирования и автоматизированные тесты для приложения .NET с использованием структуры данных и алгоритмов.
Вопросы для собеседования по веб-API для 5-летнего опыта
21) Объясните фильтры исключений?
Он будет выполнен, когда исключения не будут обработаны и выброшены из метода контроллера.oд. Причиной исключения может быть что угодно. Фильтры исключений будут реализовывать интерфейс «IExceptionFilter».
22) Как можно зарегистрировать фильтр исключений из действия?
Мы можем зарегистрировать фильтр исключений из действия, используя следующий код:
[NotImplExceptionFilter] public TestCustomer GetMyTestCustomer(int custid) { //write the code }
23) Как вернуть представление из метода веб-API ASP.NET?
Нет, мы не можем вернуть представление из метода веб-API ASP.NET. Веб-API создает службы HTTP, которые отображают необработанные данные. Однако это также возможно в приложении ASP.NET MVC.
24) Как глобально зарегистрировать фильтр исключений?
Можно зарегистрировать фильтр исключений глобально, используя следующий код:
GlobalConfiguration.Configuration.Filters.Add(новый
MyTestCustomerStore.NotImplExceptionFilterAttribute());
25) Объясните, что такое ОТДЫХ и ПОКОЙ?
REST представляет собой передачу репрезентативного состояния; это совершенно новый аспект написания веб-приложения.
RESTFUL: термин, написанный с применением архитектурных концепций REST, называется службами RESTful. Основное внимание уделяется системным ресурсам и тому, как состояние ресурса должно передаваться по протоколу HTTP.
26) Приведите мне один пример маршрутизации веб-API?
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) Как обрабатывать ошибки в веб-API?
В веб-API доступно несколько классов для обработки ошибок. Это HttpError, фильтры исключений, HttpResponseException и регистрация фильтров исключений.
28) Какие новые функции есть в веб-API ASP.NET 2.0?
Новейшие функции платформы ASP.NET Web API v2.0 заключаются в следующем:
- Маршрутизация атрибутов
- Совместное использование ресурсов между источниками
- Внешняя аутентификация
- Открытый веб-интерфейс NET
- HttpActionResult
- OData веб-API
29) Как можно ограничить методы доступа определенными командами HTTP в веб-API?
С помощью атрибутов (например, HTTP-глаголов) можно реализовать ограничения доступа в веб-API.
Глаголы HTTP можно определить как атрибут для ограничения доступа.
Пример:
[HttpPost] public void Method1(Class obj) { //logic
30) Как передать несколько сложных типов в веб-API?
Два метода передачи сложных типов в веб-API:
Использование массива ArrayList и Newtonsoft
31) Написать код для передачи ArrayList в веб-API?
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) Назовите инструменты или API для разработки или тестирования веб-API?
Инструменты тестирования веб-сервисов для REST API включают в себя:
- API Джерси
- CFXПодробнее
- Ось
- Рестлет
33) Что такое ОТДЫХ?
REST — это архитектурный стиль. Он определил руководящие принципы создания масштабируемых сервисов. REST используется с протоколом HTTP с использованием его глаголов GET, PUT, POST и DELETE.
34) Как выполнить модульное тестирование веб-API?
Мы можем выполнить модульный тест, используя такие инструменты веб-API, как Fiddler.
Вот некоторые настройки, которые необходимо выполнить, если вы используете
Fiddler – Вкладка «Создать» -> Введите заголовки запроса -> Введите тело запроса и выполните.
35) Как мы можем ограничить доступ к методам с определенными HTTP-глаголами в веб-API?
Для этой функции широко используется программирование атрибутов. Веб-API также позволяет ограничивать доступ к вызывающим методам с помощью определенных HTTP-глаголов. Также возможно определить глаголы HTTP как атрибут, а не метод.
Вопросы для собеседования по веб-API для более чем 10-летнего опыта
36) Как используется DelegatingHandler?
DelegatingHandler используется в веб-API для представления обработчиков сообщений перед маршрутизацией.
37) Как можно зарегистрировать фильтр исключений из действия?
Мы можем зарегистрировать фильтр исключений из действия, используя следующий код
[NotImplExceptionFilter] public TestCust GetMyTestCust (int custno) { //write the code }
38) Назовите мне фрагмент кода, показывающий, как мы можем вернуть ошибку 404 из HttpError?
Код для возврата ошибки 404 из HttpError
string message = string.Format(“TestCustomer id = {0} not found”, customerid);
return Request.CreateErrorResponse(HttpStatusCode.NotFound, message);
39) Объясните фрагмент кода для регистрации фильтров исключений из контроллера?
[NotImplExceptionFilter] public class TestCustController : Controller { //Your code goes here }
40) Какой протокол поддерживает веб-API?
Веб-приложение поддерживает протокол HTTP
41) Какая из следующих платформ .NET поддерживает веб-API?
Веб-API поддерживается версией NET 4.0.
42) Какую библиотеку веб-API использует для сериализации JSON?
Веб-API использует библиотеку Json.NET для сериализации JSON.
43) По умолчанию веб-API отправляет HTTP-ответ с каким из следующих кодов состояния для всех неперехваченных исключений?
500 - Внутренняя ошибка сервера
44) Объясните метод обработки ошибок с использованием HttpError в веб-API?
В WEB API HttpError используется для вывода информации об ошибке в тело ответа. Вместе с этим также можно использовать метод «CreateErrorResponse», который является методом расширения, определенным в «HttpRequestMessageExtension».
45) Как мы можем зарегистрировать фильтр исключений глобально?
Мы можем зарегистрировать фильтр исключений глобально, используя следующий код:
GlobalConfiguration.Configuration.Filters.Add (new MyTestCustomerStore.NotImplExceptionFilterAttribute());
46) Как обрабатывать ошибки в веб-API?
В веб-API доступно несколько классов для обработки ошибок. Это HttpError, HttpResponseException, фильтры исключений, регистрация фильтров исключений.
47) В чем преимущество WebAPI перед WCF?
Службы WCF используют протокол SOAP, а HTTP никогда не использует протокол SOAP. Вот почему службы WebAPI являются легкими, поскольку SOAP не используется. Это также уменьшает объем данных, которые передаются для возобновления обслуживания. Более того, он никогда не требует слишком большой настройки. Таким образом, клиент может взаимодействовать со службой, используя команды HTTP.
48) Различия состояний между MVC и WebAPI
Фреймворк MVC используется для разработки приложений с пользовательским интерфейсом. Для этого представления можно использовать для создания пользовательского интерфейса.
WebAPI используется для разработки HTTP-сервисов. Другие приложения также можно называть методами WebAPI для получения этих данных.
49) Кто может использовать WebAPI?
WebAPI может использоваться любым клиентом, который поддерживает команды HTTP, такие как GET, PUT, DELETE, POST. Поскольку службы WebAPI не требуют какой-либо настройки, их очень легко использовать любому клиенту. На самом деле, даже портативные устройства, такие как мобильные устройства, могут легко использовать WebAPI, что, безусловно, является самым большим преимуществом этой технологии.
50) Как мы можем убедиться, что веб-API возвращает только данные JSON?
Чтобы веб-API сериализовал возвращаемый объект в формат JSON и возвращал только данные JSON. Для этого вам следует добавить следующий код в класс WebApiConfig.cs в любом проекте веб-API MVC:
//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"))
Эти вопросы для собеседования также помогут вам в устной речи.