QA Interview Hub · База знань · Тести

API

Питання зі співбесід коротко

Основи, методи і статуси

Відповідь у два речення — саме стільки інтерв'юер очікує на базове питання. Далі розмова сама піде вглиб.

ПитанняКоротка відповідь
Як працює клієнт-серверна архітектура?Клієнт надсилає HTTP-запит, сервер перевіряє авторизацію, виконує логіку, працює з базою і повертає відповідь зі статусом. HTTP stateless, тому токен іде в кожному запиті.
Що таке REST?Стиль API, де дані — ресурси за URL, а дії задають методами HTTP. Stateless, зазвичай JSON.
PUT vs PATCH?PUT замінює ресурс цілком і ідемпотентний. PATCH змінює окремі поля.
Що таке ідемпотентність?Повторний ідентичний запит не змінює стан понад перший. GET, PUT, DELETE — так; POST — ні, тому в платежах є Idempotency-Key.
401 vs 403?401 — не автентифікований. 403 — автентифікований, але без прав.
400 vs 422?400 — запит некоректний за формою. 422 — форма ок, але порушене бізнес-правило.
Сервер повернув 500 на невалідні дані. Це баг?Так. Невалідний ввід має давати 4xx з поясненням; 500 означає необроблене виключення.
На співбесіді: Короткі відповіді — це база, але після них варто дати приклад з проєкту, наприклад як я ловив 500 на невалідному вводі чи перевіряв Idempotency-Key. Приклад показує досвід краще, ніж визначення.

Postman і автоматизація

ПитанняКоротка відповідь
Області змінних у Postman?Global, Collection, Environment, Data, Local; за однакових імен перемагає вужча область.
Як передати дані між запитами?У post-response зберегти значення через pm.environment.set, у наступному запиті використати {{name}}.
Pre-request vs post-response?Pre-request — підготовка до відправки (дані, токен). Post-response — перевірки й збереження значень після відповіді.
Як запустити колекцію в CI?Експортувати колекцію й оточення, запустити newman run з JUnit-репортером; секрети — через --env-var.
Що перевіряєш у відповіді, крім статусу?Схему, типи й значення полів, заголовки, час відповіді, відсутність чутливих даних і те, що зміна справді збереглась.
Postman чи код для API-автоматизації?Postman — для дослідження і швидких перевірок. Великий набір регресії — у коді поруч з UI-тестами, з рев'ю в git.

Ці питання часто йдуть одне за одним: від змінних до chaining, від chaining до Runner, від Runner до CI. Тому корисно мати в голові одну історію: як я будую колекцію, як передаю токен і id між запитами, як запускаю data-driven набір і як він потрапляє в пайплайн.

На співбесіді: Я розповідаю про Postman як про ланцюжок: змінні й оточення, скрипти й chaining, Runner з даними, Newman у CI. А на питання «Postman чи код» відповідаю, що для регресії обираю код, а Postman залишаю для дослідження.