
Проєктування REST API
Принципи REST, версіонування, пагінація, фільтрація, HATEOAS, коди статусу, OpenAPI/Swagger
1Який фундаментальний принцип REST?
Який фундаментальний принцип REST?
Відповідь
REST ґрунтується на принципі представлення ресурсів, доступних через унікальні URI. Кожен ресурс (користувач, продукт, замовлення) має URI і може оброблятися через стандартні HTTP-дієслова (GET, POST, PUT, DELETE). Ця ресурсо-орієнтована парадигма забезпечує масштабовану та слабко зв'язану архітектуру, де сервер не зберігає стан сесії клієнта.
2Який HTTP-метод використовувати для ідемпотентного повного оновлення ресурсу?
Який HTTP-метод використовувати для ідемпотентного повного оновлення ресурсу?
Відповідь
PUT ідемпотентний і повністю замінює ресурс. Виклик PUT кілька разів з тими самими даними дає той самий результат, що й один виклик. Натомість POST не ідемпотентний (створив би кілька ресурсів), PATCH виконує часткові оновлення, а DELETE видаляє ресурс. Ідемпотентність PUT гарантує безпеку повторних спроб у разі помилок мережі.
3Який HTTP-код повертати після успішного створення нового ресурсу?
Який HTTP-код повертати після успішного створення нового ресурсу?
Відповідь
Код 201 Created означає, що ресурс було успішно створено. Він супроводжується заголовком Location, що вказує на URI нового ресурсу. Код 200 OK надто загальний для створення, 204 No Content використовується, коли немає тіла відповіді, а 202 Accepted сигналізує про ще не завершену асинхронну обробку.
Яка ключова відмінність відрізняє REST API від RPC API?
Що означає принцип statelessness у REST?
+17 питань зі співбесід
Інші теми співбесід Go
Основи Go
Структури даних Go
Інтерфейси Go
Обробка помилок
Основи goroutines
Channels
Go Modules
HTTP-сервер
HTTP-клієнт
Кодування JSON
Database/SQL
Пакет context
Testing
Патерни конкурентності
Примітиви синхронізації
Веб-фреймворки Go
gRPC
Reflection
Керування пам'яттю
Оптимізація продуктивності
Generics
Go Design Patterns
Microservices
Безпека та автентифікація
Docker & Containerization
Kubernetes Basics
Просунутий Go
Розробка CLI
Опануй Go для наступної співбесіди
Отримай доступ до всіх питань, flashcards, технічних тестів, вправ code review та симуляторів співбесід.
Почни безкоштовно