ENIGMA AI
ENIGMA AI

Для чего существует API?

встречается 2× junior architecture

Как ответить

API (Application Programming Interface) — это контракт между частями системы: он описывает, как одна программа может попросить другую что-то сделать, не влезая в её внутреннюю кухню. Для разработчика API — это просто набор готовых «ручек» (функций, эндпоинтов), которые вызываются по определённым правилам и возвращают предсказуемый результат.

На практике API решает три ключевые задачи:

  • Изоляция сложности — разработчику не нужно знать, как сервис считает цены или хранит данные, достаточно отправить запрос и получить ответ.
  • Повторное использование — один API могут вызывать сотни клиентов: мобильное приложение, сайт, телеграм-бот.
  • Стандартизация взаимодействия — API фиксирует формат данных (обычно JSON/XML), методы (GET, POST, PUT, DELETE) и коды ответов (200, 404, 500).

Пример для младшего разработчика: REST API интернет-магазина. Чтобы получить список товаров, фронтенд шлёт GET-запрос на /products и получает массив объектов. Никакой прямой работы с базой или бизнес-логикой — всё завёрнуто в API.

// Пример запроса к API погоды (демонстрация контракта)
fetch('https://api.weather.example/v1/current?city=Moscow')
  .then(response => response.json())
  .then(data => console.log(data.temperature));

Здесь api.weather.example/v1/current — эндпоинт, city — обязательный параметр, ответ — JSON с полем temperature. Всё описано в документации, и если я, как разработчик, соблюдаю эти правила, сервер гарантирует корректный ответ.

Важно понимать: API не обязательно должен быть HTTP/REST. Это может быть функция модуля в Python (например, os.listdir()) — тоже API, только на уровне кода. Но в веб-разработке под API чаще всего понимают именно сетевое взаимодействие между сервисами.

Ключевые тезисы

  • API — контракт, который определяет, как модули или сервисы общаются друг с другом, скрывая внутреннюю реализацию.
  • Основные функции: изоляция сложности, повторное использование, стандартизация (форматы данных, методы, коды ответов).
  • Пример из практики: REST API с эндпоинтами (GET /users, POST /orders) возвращает JSON.JSON — самый популярный формат для API.
  • API бывают не только сетевыми: библиотечные API (функции модуля), API операционной системы (системные вызовы).
  • Для корректной работы нужна документация (OpenAPI/Swagger) — описание эндпоинтов, параметров и примеров ответов.

Что спросят дальше

  • — Чем отличается REST API от SOAP? Приведи пример, где один лучше другого.
  • — Как ты будешь проектировать версионирование API (v1, v2) для сервиса, чтобы не сломать старых клиентов?
  • — Что такое idempotent запрос? Зачем это нужно в API для платежей?

Готовьтесь к собеседованию с ENIGMA AI

AI-суфлёр подсказывает ответы прямо на собеседовании в реальном времени — незаметно для интервьюера.

Скачать приложение