Топ 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.