Как стать автором
Поиск
Написать публикацию
Обновить

Разбор задачи из собеса. JSON

Уровень сложностиСредний
Время на прочтение2 мин
Количество просмотров858

Такие разборы задач отлично помогают потренироваться в подходах к решению рабочих задач + увеличить насмотренность

Ниже сам JSON, нужно найти ошибки и предложить свои варианты исправления

Мой ход рассуждений для решения задачи 

  1. Параметр consumer. 

    Почему это массив? Я так подозреваю, что покупатель может быть только один, тогда делать его массивом избыточно. Если мы это исправим, то у нас уйдут лишние скобки для обозначения объекта и структура станет более читаемой и приятной для работы. 

  2. Параметр rank меня оч смущает, можно понять двояко структуру. 

    Если он состоит из 2х параметров, то есть первый это sub: {code:"12321"}, а второй параметр просто без названия {code: "C"}, то я бы дал этому параметру тоже название. 

    Втораягипотеза, что sub — это внешний какой-то параметр и он относится не к rank, а к consumer, поэтому я бы его вынес наверх и у rank оставил бы просто code C.

  3. Меня в целом очень смущает добавление объекта code. Почему нельзя сразу значение стрингой передать. В чем сакральный смысл усложнения не понятно

  4. Формат даты рождения. 

    Не знаю на сколько ок оставлять в формате dd.mm.yyyy. Может быть стоит передать на ISO, но это бантик. Просто заменится формат на YYYY‑MM‑DD.

  5. Возраст у детей я бы указывал или также датой и вычислял, то есть добавил бы birthdate, а именно цифру возраста указывал бы цифрой, но это тоже спорно.

  6. Ну и зачем делать data — тоже не понятно.

    Если только у нас не может быть несколько consumer, но я так понимаю, что не может такого быть, поэтому я бы его тоже убрал чтобы структуру не усложнять.

  7. Массив children можно поместить внутрь consumer, так как дети явно относятся к покупателю.

По итогу получается вот такой файл: 

{
"consumer": {
  "type": "F7",
  "rank": "C",
  "sub": "C4",
  "birthdate":"1980-11-03",
"children": [
  {
    "birthdate":"1991-11-03",
    "age":"11",
    "sex":"F"
  },
  {
    "birthdate":"1998-12-07",
    "age":"18",
    "sex":"M"
  }
]
} }
Теги:
Хабы:
0
Комментарии6

Публикации

Ближайшие события