13 вопросов на собеседовании по REST API, которые вам нужно знать

13 вопросов на собеседовании по REST API, которые вам нужно знать Изучение

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

Независимо от того, являетесь ли вы младшим или старшим разработчиком, на собеседовании вам могут задавать вопросы о REST API. Чтобы помочь вам пройти следующее собеседование, мы обсудим некоторые распространенные вопросы и ответы на собеседованиях по REST API.

13 вопросов на собеседовании по REST API, которые вам нужно знать

Что такое REST?

REST означает передачу репрезентативного состояния. REST — это архитектурный стиль для веб-разработки. Архитектура REST излагает рекомендации по передаче представлений ресурсов между клиентами и серверами в сети.

Что такое REST API?

REST API или RESTful API — это веб-API, соответствующий стилю архитектуры REST.

Опишите 5 ограничений архитектурного стиля REST и их преимущества.

Если они запрашивают 6 ограничений, см. следующий вопрос о необязательном ограничении.

Настоящий RESTful API должен соответствовать пяти архитектурным ограничениям REST:

  • Единый интерфейс :
    • Интерфейс между клиентом и сервером, обеспечивающий стандартизированное взаимодействие клиент-сервер на одном языке.
    • Необходимо для разделения клиента и сервера
  • Клиент-сервер :
    • Модель клиент-сервер для разделения задач между клиентом и сервером.
    • Позволяет клиенту и серверу работать и развиваться независимо
    • Поддерживает переносимость и масштабируемость
  • Без гражданства :
    • Относится к протоколу связи без сохранения состояния, при котором сервер не хранит информацию о состояниях сеанса.
    • Повышает производительность за счет снижения нагрузки на сервер
  • Кэшируемый :
    • Серверы помечают свои ответы как кэшируемые или некэшируемые.
    • Клиенты и посредники могут кэшировать ответы сервера.
    • Сокращает взаимодействие клиент-сервер, поддерживает масштабируемость и производительность
  • Многоуровневая система :
    • Уровни между клиентом и сервером могут состоять из посредников, таких как прокси-серверы или балансировщики нагрузки.
    • Слои имеют отдельные обязанности, но могут взаимодействовать друг с другом
    • Поддерживает масштабируемость и безопасность системы
Читайте также:  Pandas Check Column Type

Каково дополнительное архитектурное ограничение REST?

Код по запросу — это необязательное ограничение архитектуры RESTful. Код по запросу позволяет серверу отправлять исполняемый код (скрипты или апплеты) клиенту по запросу клиента.

  • Преимущество : расширяет функциональность клиента, так как клиент может загружать функции после развертывания.
  • Недостаток : уменьшает видимость, поэтому считается необязательным.
  • Примеры : апплеты Java и JavaScript.

Объясните ограничения единого интерфейса

Единый интерфейс необходим для отделения клиента от сервера.

Есть четыре необходимых ограничения для достижения единого интерфейса:

  • Идентификация ресурсов : запросы клиентов должны идентифицировать ресурсы с использованием унифицированных идентификаторов ресурсов (URI).
  • Манипулирование ресурсами через эти представления : когда клиенты получают представление ресурса с сервера, у них есть вся информация, необходимая для изменения состояния ресурса.
  • Самоописательные сообщения : сообщения содержат всю информацию, необходимую получателю для ее интерпретации, включая метаданные.
  • Гипермедиа как механизм состояния приложения : гипермедиа (например, HTML) — это среда для взаимодействия клиент-сервер, и клиенту не требуется документация по конкретному API для понимания ответов сервера.

Что такое CRUD?

CRUD — это аббревиатура четырех основных операций, используемых в системе управления реляционными базами данных (RDBMS).

Каждая операция в CRUD относится к методу HTTP, который поддерживает REST.

  • Создать :POST
  • Читать :GET
  • Обновление :PUT
  • Удалить :DELETE

Расскажите о методах HTTP-запросов, поддерживаемых REST, и о том, когда они используются.

REST API основаны на HTTP-запросах или командах, каждая из которых выполняет свою задачу.

REST поддерживает следующие HTTP-запросы:

  • Метод GET : запрос данных с сервера
  • Метод POST : отправьте данные для создания нового ресурса по указанному сервером URL-адресу.
  • Метод PUT : отправьте данные для создания нового ресурса по указанному клиентом URL-адресу.
  • Метод DELETE : удалить ресурс с сервера
  • Метод OPTIONS : возвращать методы запроса, поддерживаемые службой.
  • Метод HEAD : возвращает метаинформацию, такую ​​как заголовки ответа.
  • Метод PATCH : изменить часть ресурса на сервере

В чем разница между методами PUT и POST?

Этот вопрос может поставить некоторых разработчиков в тупик. Способность объяснить это поможет вам выделиться как человеку, который действительно знает, о чем говорит.

Вот различия между PUT и POST:

ПОСТАВИТЬ:

  • Идемпотент (т. е. несколько запросов дадут один и тот же результат)
  • Ответы PUT не кэшируются
  • Обновляет или заменяет целевой ресурс полезной нагрузкой запроса.

ПОСТ:

  • Не идемпотент (т. е. несколько запросов дадут несколько одинаковых ресурсов)
  • Ответы POST могут кэшироваться при условии правильного заголовка управления кешем.
  • Полезная нагрузка запроса обрабатывается веб-сервером на основе целевого ресурса.

Понимание идемпотентности. Примером идемпотентной операции может быть операция умножения числа на единицу. Независимо от того, сколько раз вы умножаете пять на один, вы получите тот же результат.

Объясните, что означает безгражданство в REST

Отсутствие состояния означает, что клиент и сервер не хранят информацию о состоянии друг друга. Поскольку сервер не хранит никакой информации, он обрабатывает каждый запрос клиента как новый запрос.

Как следствие, будут применяться следующие условия:

  • Запрос клиента содержит всю информацию, необходимую серверу для обработки запроса.
  • Клиентское приложение отвечает за сохранение состояния сеанса.

Каковы преимущества и недостатки REST API?

Важно знать плюсы и минусы RESTful API.

Преимущества включают в себя :

  • Разработан для обеспечения высокой производительности, портативности, надежности и масштабируемости.
  • Разделение клиент-сервер позволяет каждому индивидуально работать и масштабироваться
  • Простота тестирования и адаптации к различным средам
  • Легко освоить, так как использует протокол HTTP.
  • Поддерживает различные технологии передачи данных, включая JSON, XML, YAML, изображения и многое другое.
  • Использует меньшую полосу пропускания, чем другие методы, такие как технология Simple Object Access Protocol (SOAP).

Недостатки включают :

  • Не применяет методы безопасности
  • Метод HTTP ограничивает вас синхронными запросами
  • Из-за отсутствия состояния вы не сможете поддерживать состояние (например, в сеансах).

В чем разница между AJAX и REST?

Различие может сбить с толку начинающих разработчиков, поэтому полезно знать разницу.

Клиент AJAX может сделать RESTful-запрос к REST API (например, запрос на получение), но AJAX не является архитектурным стилем. Это метод веб-разработки для клиентских приложений. Клиенты AJAX могут получить доступ к REST API, но они не реализованы с помощью AJAX.

В чем разница между SOAP и REST?

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

Вот некоторые различия между SOAP и REST.

SOAP:

  • Протокол
  • Формат данных ограничен XML
  • Тяжелый и требует большей пропускной способности
  • Звонки не могут кэшироваться

REST:

  • Архитектурный стиль
  • Позволяет использовать различные форматы данных, включая обычный текст, HTML, XML, JSON и YAML.
  • Легкий и требует меньше пропускной способности
  • Звонки могут кэшироваться
  • Объясните коды состояния ответа HTTP.

Коды ответов HTTP указывают на результат клиентских запросов.

Общие коды состояния HTTP включают:

  • 200 : Успешный запрос
  • 201 : Объект или объекты, созданные в результате успешного запроса.
  • 400 : Неверный запрос. Неверный запрос клиента.
  • 401 : Несанкционировано. Пользователь не авторизован для доступа к ресурсу и может не пройти аутентификацию
  • 403 : Запрещено. Пользователь не авторизован для доступа к ресурсу, пользователь аутентифицирован
  • 404 : Не найдено. Ресурс не найден
  • 500 : Внутренняя ошибка сервера. Общая ошибка сервера
  • 502 : Неверный шлюз. Ответ вышестоящего сервера недействителен
  • 503 : Сервис недоступен. Результат проблемы на стороне сервера, включая перегрузку или сбой системы
Оцените статью
bestprogrammer.ru
Добавить комментарий