@mutaliyev_alisher

Django — иерархическая структура данных в бд?

Прошел курсы по джанго, сделал пару проектов и начал искать вакансии на стажера-джуна. Прислали тестовое задание, которое ввело в ступор.

Не могу понять с чего начать ( реализовывать иерархические структуры данных ( совсем не понял и в гугле не нашел ) , но как потом в api передавать иерархию сотрудников? Как заполнить базу данных на 50 000 сотрудников? ).

И если вы знаток, то подскажите, это вообще тестовое задание на джуна без опыта (так указано в вакансии) или нет?
629f708d16de4643049217.jpeg
  • Вопрос задан
  • 643 просмотра
Пригласить эксперта
Ответы на вопрос 2
fox_12
@fox_12 Куратор тега Django
Расставляю биты, управляю заряженными частицами
реализовывать иерархические структуры данных ( совсем не понял и в гугле не нашел )

А что тут искать - достаточно прочитать словарь русского языка, если уж термин непонятен - и включить голову - "у каждого сотрудника есть один начальник". ForeignKey модели на саму себя - и вперед...

Как заполнить базу данных на 50 000 сотрудников

И в чем сложности, сделать один цикл и создать 50000 рандомных сотрудников? Можно немного погуглить и найти готовые библиотеки - тот же faker

api передавать иерархию сотрудников

На вывод - можно деревом отдать. На ввод - просто указать айдишник начальника в соответствующем поле...

это вообще тестовое задание на джуна без опыта

Да - с этим вполне должен справляться джун без опыта.
Если такие задания вводят в ступор - то пока рановато в программисты...
Ответ написан
Комментировать
vabka
@vabka
Токсичный шарпист
Раз у тебя возникают проблемы с таким тестовым заданием, то на работу тебе ещё рано.
В целом - гугли любое непонятное слово. Если не находишь "иерархические данные в Django", то попробую чуть более абстрактно. Например узнай, что вообще такое "иерархия".

В данном случае иерархия - это когда у сотрудника есть начальник, который тоже является другим сотрудником, у которого есть свой начальник и так далее, пока не найдётся главный начальник всех начальников.
И вот 5 уровней иерархии - это когда есть начальник(1) начальника(2) начальника(3) начальника(4) сотрудника(5).
В реляционных базах данных такую структуру можно получить при помощи всего одного опционального FK который указывает на собственную же таблицу.

Как заполнить базу - ну напиши ещё одну программу, которая сгенерирует 50000 записей с нужными условиями.

но как потом в api передавать иерархию сотрудников

Как будет удобнее - так и передавай, если в задании не указано, как именно нужно передавать.
Например можешь передавать как список сотрудников и список связей.
Можешь просто вернуть дерево (словарь)
Можешь вернуть список сотрудников, у каждого из которых будет атрибут с id его начальника.
И так далее.

И если вы знаток, то подскажите, это вообще тестовое задание на джуна без опыта (так указано в вакансии) или нет?

Да, вполне похоже на джуна.
По крайней мере студент, который не прогуливал пары должен обладать всеми необходимыми знаниями.
Выполнить его можно за вечер или два.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы