Перевір знання 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. Як можна виправити цю помилку?

REST API TESTING

Переваги

  • Основи REST API Що таке REST (Representational State Transfer)? Ресурси, методи HTTP та статус-коди.
  • Інструменти для тестування REST API Популярні інструменти, такі як Postman, Swagger
  • Автоматизація тестування Розгляд автоматизації тестів REST API за допомогою сніпетів в Postman
  • Навчання на реальних проєктах Виконання практичних завдань і створення автоматизованих тестів для реальних REST API.
  • Індивідуальний підхід
  • Сертифікат та визнання
Термін навчання -> 1 місяць
Вечірнє навчання -> 2 рази на тиждень
Формат навчання -> наживо в Skype
Детальніше

Тестування баз даних

Переваги

  • Основи баз даних Розуміння термінів, таких як таблиця, рядок, стовпець, ключ, індекс, SQL і багато інших.
  • Мова запитів SQL Основи мови SQL для виконання запитів, вставки, оновлення і видалення даних.
  • Типи баз даних Реляційні, NoSQL та інші типи баз даних і їх особливості.
  • Навчання на реальних проєктах Виконання практичних завдань та проектів для набуття практичних навичок у тестуванні баз даних.
  • Індивідуальний підхід
  • Сертифікат та визнання
Термін навчання -> 1 місяць
Вечірнє навчання -> 1 раз на тиждень
Формат навчання -> наживо в Skype
Детальніше