October 27, 2024

Топ 25-вопросов по API для бизнес/системных аналитиков

1. Что такое API и зачем оно нужно?

Ответ: API (Application Programming Interface) — это интерфейс, который позволяет приложениям взаимодействовать между собой. Например, API позволяет мобильному приложению отправить запрос серверу и получить от него данные для отображения.

2. Какие существуют типы API?

Ответ: Основные типы API включают REST, SOAP, GraphQL, RPC и gRPC. REST и SOAP — самые распространённые в веб-разработке.

3. В чем разница между REST и SOAP API?

Ответ: REST использует стандартные HTTP методы (GET, POST, PUT, DELETE), возвращая данные обычно в формате JSON или XML, и гибче по сравнению с SOAP, который требует определенного XML формата и сложнее для реализации.

4. Какие форматы данных используются в API?

Ответ: JSON и XML — два самых популярных формата для передачи данных в API, хотя JSON используется чаще благодаря своей простоте и легкости парсинга.

5. Что такое идемпотентность в контексте API?

Ответ: Идемпотентность означает, что повторение одного и того же запроса приведет к одному и тому же результату, как в случае с методами GET, PUT и DELETE в REST API.

6. Какие существуют методы HTTP-запросов?

Ответ: Основные методы — GET (получить данные), POST (отправить данные), PUT (обновить данные), PATCH (обновить частично), DELETE (удалить данные).

7. В чем отличие между PUT и PATCH?

Ответ: PUT заменяет ресурс полностью, тогда как PATCH обновляет только часть ресурса.

8. Что такое аутентификация и авторизация в API?

Ответ: Аутентификация — это подтверждение личности пользователя (например, с помощью токена), а авторизация — проверка прав на доступ к ресурсам после аутентификации.

9. Какие существуют методы аутентификации для API?

Ответ: Наиболее популярные методы — Basic Auth, OAuth 2.0, токены JWT и API ключи.

10. Что такое токен и зачем он используется в API?

Ответ: Токен — это строка, представляющая собой доказательство аутентификации, используется для проверки идентичности пользователя на каждом запросе к API.

11. Что такое JSON Web Token (JWT)?

Ответ: JWT — это стандартизированный формат токена, который используется для аутентификации и содержит закодированную информацию о пользователе.

12. Что такое rate limiting?

Ответ: Rate limiting ограничивает количество запросов, которые клиент может отправить на API за определенное время, чтобы предотвратить перегрузку и злоупотребление ресурсами.

13. Какие существуют коды HTTP-ответов?

Ответ: Коды разделяются на 5 классов: 1xx — информационные, 2xx — успешные, 3xx — перенаправление, 4xx — ошибки клиента, 5xx — ошибки сервера.

14. Какие коды ошибок HTTP могут возникать при работе с API?

Ответ: К популярным ошибкам относятся 400 (Bad Request), 401 (Unauthorized), 403 (Forbidden), 404 (Not Found), 500 (Internal Server Error).

15. Что такое endpoint в API?

Ответ: Endpoint — это конкретный URL, по которому клиент может получить доступ к данным или операциям API, например, /users/123.

16. Что такое API-документация?

Ответ: Это описание всех методов и данных, которые доступны через API, включая URL, параметры, примеры запросов и ответов, коды ошибок.

17. Какие инструменты используются для тестирования API?

Ответ: Популярные инструменты — Postman, Swagger, SoapUI, Insomnia. Они позволяют отправлять запросы и получать ответы от API.

18. Что такое API-клиент?

Ответ: API-клиент — это приложение, которое делает запросы к API, чтобы получать или отправлять данные (например, мобильное приложение).

19. Как выполняется передача изображений через API?

Ответ: Обычно изображения передаются в формате Base64, если их нужно отправить в теле JSON, или как multipart/form-data.

20. Что такое версия API и зачем она нужна?

Ответ: Версионирование позволяет изменять API, не ломая старые реализации, обычно добавляется к URL как v1, v2 и так далее.

21. Что такое пагинация и зачем она нужна в API?

Ответ: Пагинация — это деление результатов на страницы для уменьшения нагрузки на сервер и клиента, особенно для больших наборов данных.

22. Какие существуют подходы к пагинации?

Ответ: Основные — Offset и Limit (отступ и лимит), Cursor-based (курсоры) и пагинация по страницам (page-based).

23. Что такое CORS и как он связан с API?

Ответ: CORS (Cross-Origin Resource Sharing) — это механизм безопасности, ограничивающий доступ к ресурсам API из других доменов.

24. Что такое webhook?

Ответ: Webhook — это способ для API сообщить другому приложению о событии, отправляя данные, как только событие произошло (например, уведомление о новом платеже).

25. Как понять, что API нужно улучшить?

Ответ: Признаками являются низкая производительность, высокие задержки, жалобы на неудобные структуры данных и часто возникающие ошибки — это указывает на необходимость оптимизации API.