7 вопросов и ответов на собеседовании по веб-API
15 сентября 2021 г.
Если вы проходите собеседование на должность веб-разработчика, вам могут задать вопросы, чтобы проверить ваши знания о веб-API (интерфейс прикладного программирования). Понимание типов вопросов, которые вам будут задавать, и заблаговременная подготовка ответов может помочь вам выглядеть более уверенно и хорошо осведомленным во время собеседования. В этой статье мы предлагаем семь распространенных вопросов для интервью с веб-API и примеры ответов, которые помогут вам подготовиться к следующему собеседованию.
Семь вопросов и ответов на собеседовании по веб-API
Вот некоторые распространенные вопросы, которые могут возникнуть на собеседовании по веб-API:
Что такое веб-API?
Зачем использовать веб-API?
В чем разница между веб-API и WCF?
Web API заменил WCF?
Каковы некоторые различия между веб-API и MVC?
Что такое ОТДЫХ?
Можете ли вы назвать шесть ограничений, определяемых архитектурным шаблоном REST?
1. Что такое веб-API?
Отвечая на этот вопрос, вы должны продемонстрировать, что хорошо понимаете назначение веб-API и, если применимо, какой у вас опыт работы с веб-API.
Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)
Пример: «Веб-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-совместимым), он должен соответствовать пяти ограничениям и, при необходимости, соответствовать шестому:
Разделение клиент-сервер: клиенты и серверы не зависят друг от друга. Клиентам нужно знать только URI (унифицированный идентификатор ресурса) ресурса сервера, к которому им нужен доступ.
Без гражданства: запрос клиента к серверу должен быть автономным. Серверу не нужно хранить какую-либо информацию о клиенте для выполнения запроса.
Единый интерфейс: каждый ресурс, доступный для клиентов, должен иметь только один логический URI и обеспечивать способ получения дополнительных данных. Должен быть общий, последовательный подход к доступу к ресурсам и их изменению.
Кэшируемый: для повышения производительности и масштабируемости клиент должен иметь возможность хранить определенные ответы сервера (например, списки элементов, которые не меняются часто).
Многоуровневая система. Многоуровневая система разделяет API, хранилище данных и аутентификацию запросов между тремя отдельными серверами. Клиент обычно не знает, подключился ли он напрямую к конечному серверу или к одному из промежуточных серверов.
Код по запросу: это ограничение является необязательным. При необходимости вместо ответа статическими представлениями ресурсов в XML или JSON сервер может отправить исполняемый код».