Skip to content

Latest commit

 

History

History
565 lines (396 loc) · 23.2 KB

rest-api-quiz-ua.md

File metadata and controls

565 lines (396 loc) · 23.2 KB

REST API

Q1. Який тип відносин визначається як такий, що один ресурс існує лише за умови існування іншого батьківського ресурсу — наприклад, сторінки в книзі?

  • Частковий (Partial)
  • залежний (dependent)
  • асоціативний (associative)
  • пов'язаний (linked)

Q2. Який шаблон URL рекомендується використовувати при роботі з одним ресурсом і колекцією ресурсів?

  • /companies/{id} і /company
  • /company/{id} і /companies
  • /companies/{id} і /companies
  • /company/{id} і /company

Q3. Що таке claim у JSON web Tokens (JWT)?

  • дані в токені
  • Власність
  • дозвіл
  • ціле число

Q4. Яке обмеження REST вказує, що знання та розуміння, отримані від одного компонента API, повинні бути загалом застосовні в інших частинах API?

  • Єдиний інтерфейс
  • Клієнт-Сервер
  • Безстанова
  • Кешована

Q5. Що потрібно ввімкнути, щоб дозволити браузеру на іншому сайті зробити AJAX-запит до вашого API?

  • HTTP
  • REST
  • OPTIONS
  • CORS

Q6. API зазвичай використовують вебхуки для _.

  • сповіщення інших систем про подію
  • швидшого виявлення помилок
  • покращення журналювання помилок
  • журналювання додаткових даних

Q7. Яка основна мета всіх API?

  • додавати нові технології до інфраструктури організації.
  • ділитися функціями та можливостями з іншими системами.
  • переносити інфраструктуру в хмару.
  • задовольняти останні вимоги цифрової трансформації.

Q8. Яка консольна утиліта є поширеним інструментом для використання або дослідження API?

  • bash
  • curl
  • ssh
  • powerShell

Q9. Яка сучасна специфікація використовується для опису API?

  • OpenAPI (Swagger)
  • WADL
  • WSDL
  • OAuth

OpenAPI Specification

Q10. Яке HTTP дієслово зазвичай використовується для оновлення або створення ресурсу в API?

  • SUBMIT
  • WRITE
  • POST
  • CREATE

HTTP request methods

Q11. Яка одна з переваг кешування на стороні сервера в API?

  • Мобільні додатки працюють краще.
  • Це покращує доступність.
  • Це забезпечує кращу безпеку.
  • Це зменшує навантаження на сервери.

Q12. API ресурсу не дозволяє видалення, але клієнтська програма спробувала видалити ресурс. Який код відповіді HTTP слід повернути?

  • 409 Conflict
  • 400 Bad Request
  • 406 Not Acceptable
  • 405 Method Not Allowed

Response Codes

Q13. Що таке OpenID Connect?

  • шар ідентифікації поверх OAuth 2.0
  • нова назва для SAML 3.0
  • сучасна заміна API-ключів
  • конкурент SSO для OAuth 2.0

What is OpenID Connect?

Q14. Яка одна з переваг GraphQL над підходами REST?

  • гнучкі запити/відповіді
  • стабільніші API
  • сумісність з більшою кількістю шлюзів
  • безпечніший за замовчуванням

GraphQL vs. REST

Q15. Яке обмеження REST вказує, що не повинно бути спільного контексту?

  • Безстанова
  • Клієнт-Сервер
  • Єдиний інтерфейс
  • Кешована

Q16. Яку роль виконує User-Agent?

  • Ідентифікує ID користувача.
  • Ідентифікує клієнтський застосунок або SDK.
  • Вказує, чи API має очікувати автентифікацію користувача.
  • Вказує, чи API має приймати трафік мікросервісів.

Q17. Якщо додати версіонування за допомогою заголовків Accept і Content-Type, який правильний формат значення заголовка?

  • application/json
  • application/json_version2
  • text/html
  • application/vnd.myapp.v2+json

Довідка

Q18. Яка одна з переваг OAuth порівняно з підходом API-ключів?

  • Токен зашифрований.
  • Токен закодований.
  • Токен обмежений для конкретного випадку використання.
  • Токен можна передавати між системами.

How to easily secure your APIs with API keys and OAuth

Q19. Можливість виконувати один і той самий запит API знову і знову без зміни стану ресурсу є прикладом _.

  • безстанової архітектури
  • ідемпотентності
  • єдиного інтерфейсу
  • кешованості

Q20. Який компонент можна використовувати для обгортання застарілих архітектур або протоколів у REST-інтерфейс для полегшення споживання та інтеграції?

  • API-проксі
  • API-шлюз
  • OpenAPI
  • OAuth-сервер авторизації

Q21. Який захист пропонує JSON Web Token (JWT) для запобігання підробці його вмісту?

  • транспортування через SSL
  • зашифрований вміст
  • підпис
  • закодований вміст

Q22. Який термін OAuth використовується для позначення дозволів?

  • token
  • scope
  • claim
  • back channel

OAuth Scopes

Q23. Який додатковий тип токену можна побачити при використанні OpenID Connect?

  • ID token
  • refresh token
  • access token
  • auth code token

Q24. Що слід додати до заголовка відповіді Cache-Control, щоб вказати, що відповідь не повинна зберігатися в проміжному кеші?

  • no-proxy
  • client-only
  • restricted
  • private

довідка

Q25. Який тип OAuth-гранту може підтримувати refresh-токен?

  • Authorization Code Grant
  • Client Credentials Grant
  • Implicit Grant
  • Authentication Grant

Довідка

Q26. Яку область слід запитати в OAuth для доступу на запис до API?

  • Це залежить від API.
  • admin
  • write
  • read-write

Q27. Яку властивість слід використовувати для включення підресурсів безпосередньо в JSON-документ?

  • _embedded
  • resources
  • subresources
  • _links

Q28. Який найкращий спосіб відстежувати використання SDK і версій?

  • відстеження завантажень
  • заголовки Accept
  • user agents
  • опитування користувачів

Q29. Яке обмеження REST дозволяє наявність кешування, маршрутизації та інших систем між клієнтом і сервером?

  • Шарова система
  • Безстанова
  • Клієнт-Сервер
  • Кешована

Q30. Який вміст найкраще включити у документацію?

  • стек технологій
  • обґрунтування схеми іменування
  • місія
  • приклад коду

Q31. Яка метрика відстежує загальну доступність API?

  • Час відповіді
  • Час до першого Hello World
  • TTL
  • Час безвідмовної роботи

Q32. Який рекомендований метод і шаблон URL для отримання конкретного користувача?

  • GET /user/{id}
  • GET /users/{id}
  • GET /user?id={id}
  • GET /users?id={id}

Q33. Яка мета відношення посилання?

  • описувати відносини між ресурсами або діями
  • описувати підресурси, пов'язані з поточним
  • зв'язувати два ресурси
  • описувати ресурс і його призначення

Q34. Які мови слід підтримувати при створенні SDK?

  • Java, Javascript і .NET
  • які ви можете підтримувати
  • PHP, Python і Go
  • мови, які використовують цільові користувачі

Q35. Яку властивість слід використовувати для включення посилань на інші ресурси в JSON-документ?

  • resources
  • _embedded
  • subresources
  • _links

Q36. Що таке OAuth?

  • фреймворк авторизації для надання делегованого доступу
  • підхід до єдиного входу для API
  • метод автентифікації API
  • HTTP Basic Authentication 2.0

Q37. Що має описувати документація API?

  • JSON
  • HTTP
  • поширені випадки використання
  • стек технологій

Q38. Яка мета refresh-токену в OAuth?

  • ділитися інформацією профілю користувача
  • оновлювати конфігурацію API
  • підтримувати активність веб-сесії
  • отримувати access-токен

Understanding Refresh Tokens

Q39. Що таке Time to First Hello World?

  • скільки часу потрібно розробнику, щоб зробити щось з вашим API
  • скільки часу потрібно, щоб почати нову мову програмування
  • скільки часу потрібно для встановлення вашого SDK
  • скільки часу потрібно для прочитання вашої документації

Q40. Який заголовок відповіді повідомляє клієнту та проміжним системам, що відповідь не слід кешувати ніде?

  • Cache-State: none
  • Expires:-1
  • Cache-Control: no-cache
  • Cache-Control: no-store

Q41. Який компонент приховує відмінності або межі між різними мікросервісами від кінцевих клієнтських застосунків?

  • API-шлюз
  • API-журналювання
  • шарова система
  • API-проксі

Q42. Класичний підхід до версіонування API полягає у використанні _.

  • загальновідомих знань
  • URL
  • відсутності версіонування
  • заголовка Accept

Q43. Який найбезпечніший спосіб передати API-ключ?

  • параметр URL
  • заголовок Authorization
  • Base64-кодування
  • Basic Auth

Q44. Який компонент в OAuth перевіряє особу користувача?

  • клієнт
  • не вказано
  • сервер авторизації
  • сервер ресурсів

Q45. Трафік API, який повністю внутрішній для вашої організації, зазвичай називається _?

  • вхідний трафік
  • північ-південь трафік
  • внутрішній трафік
  • схід-захід трафік

Q46. Який найкращий підхід для запиту JSON замість XML з API?

  • Додати .json до URL.
  • API не використовують XML.
  • Використовувати заголовок Content-Type.
  • Використовувати заголовок Accept.

Q47. Коли користувач намагається отримати доступ до запису, який йому не належить, який код відповіді HTTP є найбільш відповідним?

  • 403
  • 404
  • 401
  • 405

Response Codes

Q48. Яка перевага використання API-шлюзу?

  • HTTP-дієслова
  • JSON-навантаження
  • HTTP-коди відповіді
  • обмеження швидкості/дроселювання

Q49. Тестування API має розглядатися як _?

  • red team тестування
  • white box тестування
  • blue box тестування
  • black box тестування

Q50. Яке HTTP-дієслово використовується в попередньому запиті CORS?

  • PUT
  • POST
  • GET
  • OPTIONS

Q51. Який заголовок відповіді повідомляє клієнту, що відповідь кешується протягом 1 хвилини?

  • Expires: 1 minute
  • Cache-Control: max-age=60
  • Expires: 1 January 2020
  • Cache-Expires: max-age=60

Cache Control Header

Q52. Яка концепція дозволяє клієнту API досліджувати API через посилання, вбудовані в навантаження?

  • гіпермедіа (hypermedia)
  • відношення посилань (link relations)
  • парсинг (parsing)
  • перегляд (browsing)

Q53. Який код відповіді HTTP слід отримати при створенні нового ресурсу?

  • 405
  • 201
  • 204
  • 202

Response Codes

Q54. Який приклад Code on Demand?

  • AWS Lambda
  • завантаження програмного забезпечення з відкритим кодом
  • Serverless
  • JavaScript на вебсторінці

Code on Demand

Q55. Який шаблон URL слід використовувати для доступу до підресурсу, прикріпленого до конкретного ресурсу?

  • /companies/employees/{companyId}/{employeeId}
  • /company/{companyId}/employees/{employeeId}
  • /companies/{companyId}/employees/{employeeId}
  • /companies/{companyId}/employee/{employeeId}

Resource Naming

Q56. Яке обмеження REST фактично забороняє використання файлів cookie?

  • Безстанова (Stateless)
  • Кешована (Cacheable)
  • Шарова система (Layered System)
  • Єдиний інтерфейс (Uniform Interface)

Q57. Яке HTTP-дієслово використовується для видалення ресурсу?

  • FLUSH
  • DELETE
  • CLEAR
  • DESTROY

Q58. Яке дієслово не вважається ідемпотентним?

  • DELETE
  • GET
  • PUT
  • POST

Idempotency

Q59. Яке обмеження REST вказує, що кожен запит має бути самодостатнім і не мати певного обов'язкового порядку?

  • Єдиний інтерфейс ( Uniform Interface)
  • Кешована (Cacheable)
  • Безстанова (Stateless)
  • Клієнт-Сервер (Client-Server)

REST Architectural Constraints

Q60. Що слід зробити після отримання коду відповіді 429?

  • Перевірити структуру JSON.
  • Сповільнити запити.
  • Перевірити статус доступності API.
  • Перевірити API-ключ.

Q61. Який найкращий підхід для пагінації при дослідженні наборів записів?

  • фільтрація за датою
  • курсори наступний/попередній
  • розмір сторінки та фільтри
  • ID бази даних

Q62. Що не є методом автентифікації або авторизації API?

  • OAuth
  • біометрія
  • API-ключі
  • ім'я користувача та пароль

Q63. Який код відповіді HTTP зазвичай означає, що запитана робота все ще обробляється і може завершитися помилкою пізніше?

  • 200 OK
  • 204 No Content
  • 201 Created
  • 202 Accepted

Q64. Які з claim необхідно підтвердити під час валідації JWT? (Виберіть усі, що підходять.)

A. Термін дії (exp) не минув.
B. Алгоритм є достатнім.
C. Підпис відповідає навантаженню.
D. Токен був закодований у Base64.
E. Видавець (iss) є очікуваним сервером авторизації.
F. Є refresh-токен.
G. Ідентифікатор клієнта (cid) є очікуваним клієнтом.
H. Токен був зашифрований.
  • A,B,E,H
  • B,C,F,G
  • A,D,G,H
  • A,C,E,G

Q65. Трафік API, який входить і виходить з вашої організації, зазвичай називається _?

  • схід-захід трафік (east-west traffic)
  • вхідний трафік (inbound traffic)
  • північ-південь трафік (north-south traffic)
  • зовнішній трафік (external traffic)

North-South vs East-West Traffic

Q66. Який тип OAuth-гранту підходить для мобільних застосунків?

  • Authorization Code з PKCE
  • Client Credentials
  • Device
  • Resource Owner Password

OAuth 2.0 for Native and Mobile Apps

Q67. Який формат дати й часу є найпростішим або найбільш передбачуваним для парсингу та обробки?

  • YY-M-D hh:mm:ss+TZ
  • YY-M-D h:mm:ss
  • YYYY-MM-DDThh:mm:ssZ
  • YYYY-M-D hh:mm:ss

The 5 laws of API dates and times

Q68. Який заголовок не використовується в керуванні кешем?

  • Rate-Limit
  • Expires
  • Etag
  • Cache-Control

Cache-Control Expires Etag Rate limiting your RESTful API

Q69. Клієнтська програма використовує фільтр або пошук у API правильно, але результатів немає. Який найкращий код відповіді?

  • 204 No Content
  • 400 Bad Request
  • 200 OK
  • 404 Not Found

Response Status Codes

Q70. Яке HTTP-дієслово зазвичай використовується для отримання або створення ресурсу в API?

  • RETRIEVE
  • FORM
  • GET
  • READ

Q71. Який код відповіді HTTP слід отримати при створенні нового ресурсу?

  • 200
  • 405
  • 201
  • 204

HTTP request methods

Q72. Ви розробляєте RESTful API для нового проекту на GitHub. Безпека є головним пріоритетом, і ви хочете переконатися, що лише авторизовані користувачі можуть отримати доступ до певних кінцевих точок. Який з наступних механізмів слід використовувати для досягнення цієї мети?

  • Обмеження швидкості API
  • OAuth 2.0
  • Basic Authentication
  • HTTP Basic Auth