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

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

Ответ

Форматы данных делятся на текстовые (человекочитаемые) и бинарные (оптимизированные для машин).

Текстовые форматы:

  • JSON (JavaScript Object Notation)

    • Стандарт для веб-API. Легкий, простой для парсинга и генерации.
      {
      "user": {
      "name": "John",
      "age": 30,
      "active": true
      }
      }
  • XML (eXtensible Markup Language)

    • Используется в SOAP, конфигах, документах. Строгая структура с помощью схем (XSD).
      <user>
      <name>John</name>
      <age>30</age>
      <active>true</active>
      </user>
  • YAML (YAML Ain't Markup Language)

    • Популярен для конфигурационных файлов (Docker, Kubernetes). Читаемость и поддержка комментариев.
      user:
      name: John
      age: 30
      active: true
  • CSV (Comma-Separated Values)

    • Для табличных данных, экспорта/импорта.
      name,age,active
      John,30,true
      Jane,25,false

Бинарные форматы (для высокой производительности):

  • Protocol Buffers (protobuf) от Google.
  • Apache Avro.
  • MessagePack (бинарный аналог JSON).