7 вопросов и ответов на собеседовании по веб-API

15 сентября 2021 г.

Если вы проходите собеседование на должность веб-разработчика, вам могут задать вопросы, чтобы проверить ваши знания о веб-API (интерфейс прикладного программирования). Понимание типов вопросов, которые вам будут задавать, и заблаговременная подготовка ответов может помочь вам выглядеть более уверенно и хорошо осведомленным во время собеседования. В этой статье мы предлагаем семь распространенных вопросов для интервью с веб-API и примеры ответов, которые помогут вам подготовиться к следующему собеседованию.

Семь вопросов и ответов на собеседовании по веб-API

Вот некоторые распространенные вопросы, которые могут возникнуть на собеседовании по веб-API:

  1. Что такое веб-API?

  2. Зачем использовать веб-API?

  3. В чем разница между веб-API и WCF?

  4. Web API заменил WCF?

  5. Каковы некоторые различия между веб-API и MVC?

  6. Что такое ОТДЫХ?

  7. Можете ли вы назвать шесть ограничений, определяемых архитектурным шаблоном REST?

1. Что такое веб-API?

Отвечая на этот вопрос, вы должны продемонстрировать, что хорошо понимаете назначение веб-API и, если применимо, какой у вас опыт работы с веб-API.

Пример: «Веб-API (интерфейс прикладного программирования) — это платформа, помогающая разрабатывать или создавать службы HTTP, которые могут использоваться различными клиентами, включая браузеры и мобильные устройства. Веб-API ASP.NET позволяет создавать эти службы на платформе . NET Framework.”

2. Зачем использовать веб-API?

Поскольку существуют и другие технологии, похожие на Web API, ваш ответ на этот вопрос должен продемонстрировать, что у вас есть четкое понимание того, что отличает Web API.

Пример: «Существует множество причин, по которым вы можете захотеть использовать веб-API, в том числе возможность создавать HTTP-сервисы, не основанные на SOAP; использование знакомых глаголов HTTP для операций создания, чтения, обновления и удаления; легкая архитектура, делающая его идеальным для устройств с небольшой пропускной способностью, таких как смартфоны, и возможностью выбора вывода ответа в формате JSON или XML, а также поддержкой протокола открытых данных (OData)».

3. В чем разница между веб-API и WCF?

Продемонстрируйте свое понимание WCF и его отличий от Web API. Хотя интервью может быть конкретно посвящено Web API, полезно продемонстрировать осведомленность о других подобных технологиях.

Пример: «WCF (Windows Communication Foundation) предназначен для разработки ориентированных на службы приложений, поддерживающих различные транспортные протоколы (например, HTTP, TCP, MSMQ). Клиенты WCF должны понимать XML. Веб-API разработан специально для служб HTTP и поэтому имеет низкую пропускную способность. Он поддерживает службы, отличные от SOAP, а также большинство функций MVC».

4. Заменил ли Web API WCF?

Некоторые люди придерживаются твердого мнения о сохраняющейся актуальности WCF сейчас, когда Web API становится популярным. В своем ответе покажите, что вы знакомы с сильными сторонами обоих. Пример ответа поддерживает постоянную актуальность WCF. Если вы не разделяете эту точку зрения, будьте готовы объяснить свою позицию.

Пример: «Нет, потому что, хотя веб-API является легким из-за использования только HTTP, он не может сравниться с мощностью и гибкостью WCF. Если вам нужно использовать только HTTP в качестве транспорта, веб-API, безусловно, лучший вариант. Однако, если вы нужно использовать другой протокол (например, TCP или именованные каналы), вам придется использовать WCF».

5. Каковы некоторые различия между Web API и MVC?

MVC — это модель разработки приложений, используемая для создания веб-приложений с внешним интерфейсом, а также элементами управления и внутренними процессами. Веб-API позволяет создавать службы HTTP, которые могут взаимодействовать с различными клиентами. В своем ответе покажите, что вы знаете, что такое MVC и чем он отличается от Web ASP.

Пример: «Некоторые различия между веб-API и MVC (контроллер представления модели) заключаются в том, что вы используете MVC для создания веб-приложений с пользовательскими интерфейсами. Вы используете веб-API для разработки служб HTTP. В шаблоне проектирования MVC веб-приложение возвращает представление, а также данные. Однако веб-API возвращает только данные. В веб-API все запросы сопоставляются с действиями с помощью глаголов HTTP. MVC сопоставляет запросы с методами действий. MVC возвращает данные только в формате JSON, тогда как веб-API может возвращать данные в JSON и XML среди других форматов».

6. Что такое ОТДЫХ?

REST — это архитектурный стиль с ограничениями. Веб-API может быть или не быть REST-совместимым. Иногда термины Web API и REST используются взаимозаменяемо, что неверно. Ваш ответ на этот вопрос должен показать, что вы знаете, что такое REST и почему он отличается от Web API.

Пример: «REST (передача репрезентативного состояния) — это архитектурный стиль, в котором используется набор стандартов, упрощающих взаимодействие систем через Интернет с использованием HTTP. Системы, использующие REST, называемые RESTful, не имеют состояния, поскольку клиенты и серверы ничего не знают о состояние другого. Они также являются модульными, что означает, что клиенты и серверы, пользовательские интерфейсы и хранилище данных могут поддерживаться независимо. Веб-API может быть или не быть RESTful».

7. Можете ли вы назвать шесть ограничений, определяемых архитектурным шаблоном REST?

Требуются только пять ограничений REST; шестой не является обязательным. Если интервьюер задает вопрос таким образом, обязательно отметьте этот факт, когда будете давать свой ответ. Важно знать ограничения REST, поскольку веб-API могут поддерживать RESTful.

Пример: «Чтобы веб-API считался RESTful (то есть REST-совместимым), он должен соответствовать пяти ограничениям и, при необходимости, соответствовать шестому:

  1. Разделение клиент-сервер: клиенты и серверы не зависят друг от друга. Клиентам нужно знать только URI (унифицированный идентификатор ресурса) ресурса сервера, к которому им нужен доступ.

  2. Без гражданства: запрос клиента к серверу должен быть автономным. Серверу не нужно хранить какую-либо информацию о клиенте для выполнения запроса.

  3. Единый интерфейс: каждый ресурс, доступный для клиентов, должен иметь только один логический URI и обеспечивать способ получения дополнительных данных. Должен быть общий, последовательный подход к доступу к ресурсам и их изменению.

  4. Кэшируемый: для повышения производительности и масштабируемости клиент должен иметь возможность хранить определенные ответы сервера (например, списки элементов, которые не меняются часто).

  5. Многоуровневая система. Многоуровневая система разделяет API, хранилище данных и аутентификацию запросов между тремя отдельными серверами. Клиент обычно не знает, подключился ли он напрямую к конечному серверу или к одному из промежуточных серверов.

  6. Код по запросу: это ограничение является необязательным. При необходимости вместо ответа статическими представлениями ресурсов в XML или JSON сервер может отправить исполняемый код».

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *