Назови основные форматы передачи данных и их типичное применение.

«Назови основные форматы передачи данных и их типичное применение.» — вопрос из категории Форматы данных, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Основные форматы передачи данных:

Формат Описание Типичное применение Пример
JSON Текстовый, лёгкий, читаемый человеком, основан на парах «ключ-значение». REST API, конфигурации, обмен между веб-сервисами. ```json

{ "user": { "name": "Alice", "age": 30, "active": true } }


| **XML** | Структурированный, строгий, с поддержкой схем (XSD). | **SOAP API**, конфигурационные файлы (например, в Java), документы. | ```xml
<user>
  <name>Alice</name>
  <age>30</age>
  <active>true</active>
</user>
``` |
| **YAML** | Формат, ориентированный на читаемость, с отступами. | Конфигурации (Docker Compose, Kubernetes, CI/CD). | ```yaml
user:
  name: Alice
  age: 30
  active: true
``` |
| **CSV** | Простой табличный формат, значения разделены запятыми. | Экспорт/импорт табличных данных (Excel, базы данных). | ```csv
name,age,active
Alice,30,true
Bob,25,false
``` |
| **Protocol Buffers (protobuf)** | Бинарный, эффективный, требует предварительной схемы. | **Высокопроизводительные gRPC API**, внутренняя коммуникация микросервисов. | (Бинарный, нечитаемый) |

**Критерии выбора:**
*   **Человекочитаемость и простота:** JSON, YAML.
*   **Строгость и валидация:** XML.
*   **Производительность и размер:** Protocol Buffers, MessagePack.
*   **Совместимость с устаревшими системами:** XML, CSV.