Проверь знание REST API

Уверены в своих знаниях REST API?
Узнайте это прямо сейчас!
Пройдите тесты и проверьте, насколько хорошо вы понимаете основные принципы и концепции REST API.

Что вас ждет?

  • 15 вопросов на реальные ситуации, с которыми сталкиваются разработчики и тестировщики.
  • Практические примеры, где нужно будет проанализировать запросы и ответы API.

Кому это подойдет?

Начинающих разработчиков и тестировщиков

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

Опытных специалистов

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

Инженеров по автоматизации тестирования

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

Начать тесты

Не упустите шанс! Пройдите тест и получите оценку ваших навыков прямо сейчас.

Тест №1 на знання REST API

Тест №1 на знання REST API

1. Який HTTP метод краще використовувати для операції "upsert"?




2. Яка перевага курсорної пагінації перед офсетною?




3. Що таке HATEOAS у контексті REST API?




4. Як забезпечити ідемпотентність операцій у REST API?




5. Який механізм краще використовувати для асинхронних операцій у REST API?




6. Що таке idempotency key і для чого він використовується?




7. Які підходи використовуються для версіонування REST API?




8. Що таке ETag і як він покращує ефективність кешування у REST API?




9. Як REST API може забезпечити узгодженість даних у розподілених системах?




10. Як забезпечити безпеку REST API при передачі конфіденційних даних?




11. Який механізм дозволяє частково оновлювати ресурс у REST API?




12. Яка головна перевага використання batch endpoints у REST API?




13. Який тип кешування використовує HTTP заголовок Cache-Control?




14. Що таке preflight запит в контексті CORS?




15. Як використовувати Oauth 2.0 у REST API для управління доступом?




Тест №2 на знання REST API

Тест на знання REST API - Частина 2

1. Як REST API реалізує контроль версій для ресурсів, що змінюються з часом?




2. Який механізм може бути використаний для вирішення проблеми "race condition" у REST API?




3. У якому випадку краще використовувати OAuth 2.0 з ролями (scopes) замість класичних API ключів?




4. Як REST API може бути сумісним із CQRS паттерном?




5. Що таке заголовок "Retry-After" і як він використовується в REST API?




6. Як реалізувати захист від DDoS атак у REST API?




7. Які HTTP заголовки зазвичай використовуються для керування кешем у REST API?




8. У чому полягає принцип "Stateless" у REST?




9. Що таке JSON Web Token (JWT) і як його використовують у REST API?




10. Які основні помилки REST API відносяться до серії 5xx?




11. Як REST API може використовувати паттерн "Circuit Breaker" для стабільності системи?




12. Який метод краще використовувати для часткового оновлення ресурсу?




13. Які переваги використання асинхронних запитів у REST API?




14. Що означає "idempotent" в контексті HTTP методів?




15. Що таке "rate limiting" у контексті REST API?




Практические задания

Анализ успешного GET-запроса

Задача:

Вы отправили GET-запрос на получение списка пользователей на API-эндпоинт:

GET https://api.example.com/users

Ответ API:

HTTP/1.1 200 OK
Content-Type: application/json

[
{
“id”: 1,
“name”: “John Doe”,
“email”: “john.doe@example.com”
},
{
“id”: 2,
“name”: “Jane Smith”,
“email”: “jane.smith@example.com”
}
]

Вопросы:

  1. Какой статус-код ответа вернул API?
  2. Сколько пользователей было возвращено в ответе?
  3. Какой email у второго пользователя?

2. Анализ POST-запроса для создания ресурса

Задача:

Вы отправляете POST-запрос для создания нового пользователя на API-эндпоинт:

POST https://api.example.com/users

Тело запроса:

{
"name": "Alice Johnson",
"email": "alice.johnson@example.com"
}

Ответ API:

HTTP/1.1 201 Created
Content-Type: application/json

{
“id”: 3,
“name”: “Alice Johnson”,
“email”: “alice.johnson@example.com”,
“createdAt”: “2024-10-03T10:00:00Z”
}

Вопросы:

  1. Какой статус-код ответа API и что он означает?
  2. Какое значение поля id было присвоено новому пользователю?
  3. В каком формате сохранено время создания пользователя?

3. Анализ ошибочного DELETE-запроса

Задача:

Вы отправляете DELETE-запрос для удаления пользователя с id=5, но этот пользователь не существует:

DELETE https://api.example.com/users/5

Ответ API:

HTTP/1.1 404 Not Found
Content-Type: application/json

{
“error”: “User not found”,
“message”: “No user found with id 5”
}

Вопросы:

  1. Что означает статус-код ответа?
  2. Что пошло не так в этом запросе?
  3. Какую информацию содержит поле message?

4. Анализ PUT-запроса для обновления ресурса

Задача:

Вы отправляете PUT-запрос для обновления информации о пользователе с id=2:

PUT https://api.example.com/users/2

Тело запроса:

{
"name": "Jane Smith",
"email": "jane.smith@newmail.com"
}

Ответ API:

HTTP/1.1 200 OK
Content-Type: application/json

{
“id”: 2,
“name”: “Jane Smith”,
“email”: “jane.smith@newmail.com”,
“updatedAt”: “2024-10-03T12:00:00Z”
}

Вопросы:

  1. Почему используется метод PUT вместо PATCH?
  2. Какая информация была обновлена?
  3. Есть ли индикатор времени обновления в ответе?

5. Анализ ответа с ошибкой аутентификации

Задача:

Вы отправляете запрос на защищенный ресурс без токена аутентификации:

GET https://api.example.com/protected-data

Ответ API:

HTTP/1.1 401 Unauthorized
Content-Type: application/json

{
“error”: “Unauthorized”,
“message”: “Authentication token is missing or invalid”
}

Вопросы:

  1. Какой статус-код вернул API и что он означает?
  2. Почему запрос не был успешным?
  3. Как можно исправить эту ошибку?

Мы также присутствуем в социальных сетях! Подписывайтесь на нас и получайте последние новости, акции, скидки, бесплатные тренинги и участие в марафонах.
Будем рады видеть вас в нашем сообществе!

Курсы

Публичная оферта. Авторское право © 2024 Школа подготовки тестировщиков