ebanoe.dev
0
legacy_Злобный_Анонимус··0 переглядів

iDeals Solutions - небольшая галера с ЧСВ процессингом

Здравствуйте, ебаная Редакция! Я как и большинство разработчиков постоянно получаю входящие вакансии и предложения в линкеде, как правило сразу содержащие полное описание вакансии и попытку затянуть меня в процессинг на какое-нить собеседование (просто HR или техническое или еще какое-то).

Но тут одни ребята отличились и после пары-тройки стандартных сообщений прислали:
«компания заинтересовалась Вами и попросила сразу передать Вам тестовое задание)
на выполнение 3-4 дня».

И я уже было подумал что они сбросили какую-то дичь, которую я по их мнению должен пилить на празднико-выходных и выслать в течении тех самых 4 дней (что в принципе уже зашквар), но потом открыл его:

Необходимо разработать просмотрщик JSON, который бы выводил контент в виде дерева аналогично тому, как показываются структуры данных в Devtools
Дерево должно выглядеть следующим образом

Узлы-коллекции (array|object) могут отображаться в двух состояниях — свернутом и развернутом (корневой узел развернут всегда). Состояния переключаются по клику на треугольной стрелке слева от узла. При разворачивании раскрывается только сам узел. При сворачивании узла также сворачиваются все его развернутые подузлы.
В свернутом состоянии выводится ограниченный дайджест коллекции (не более трех элементов, далее — … ), также перед элементами массива не указываются индексы, поскольку в этом случае они очевидны. При уровне вложенности больше трех вместо дайджеста элемента выводится …
В развернутом состоянии индексы массивов показываются всегда, аналогично ключам объектов. Для развернутых узлов их дайджесты не выводятся, вместо них обозначения { … } и [ … ].
Счетчик выводится перед каждой коллекцией размером больше 1 элемента.
Атомарные узлы подсвечиваются разными цветами в зависимости от типа. Строки также обрамляются кавычками. Ключи объектов выводятся без кавычек, курсивом.
Поскольку строки могут быть очень длинными, то при их отображении есть несколько ограничений:
● в дайджесте выводится максимум 10 символов, если строка длиннее, то к ним добавляется … , чтобы намекнуть пользователю на большее
● размер блока для вывода строки не может превышать 400px * 200px, если контент не помещается, используется скроллинг
Просмотрщик должен быть написан таким образом, чтобы работать в качестве независимого компонента в разных сценариях с разными источниками данных. Однако для целей задания json-контент будет загружаться через перетаскивание соответствующего файла на вкладку приложения

Приложение без данных показывает Ready for JSON… или аналогичную жизнеутверждающую надпись на белом фоне, надпись Drop file… с затемнением должна появляться, если приложение обнаружит, что пользователь тащит ему свежий файл.
При перетаскивании нового файла на приложение с уже загруженным контентом его состояние сбрасывается, чтобы продемонстрировать новое дерево.
В случае ошибки при парсинге внизу должно выводиться сообщение. Желающие продемонстрировать особый шик могут показать в нем проблемный участок файла.

Дополнительные условия и примечания:
1. Задание должно быть выполнено на чистом React, без использования библиотек управления состоянием (Redux, MobX, RxJS и т.п.) и готовых компонентов. К счастью, они тут не особо нужны.
2. Можно и нужно использовать create-react-app, react-custom-scrollbars, react-dropzone или их аналоги
3. Можно использовать любой метод задания стилей
4. Кое-какие константы для стилей:

Это построение JSON дерева со всей визуальщиной, вложенностями, свистелко-перделками и даже генерацией юзер-френдли ошибок в консоли О_О, и его реально по-хорошему нужно пилить чуть ли не неделю (если конечно не скачивать готовые решения коих чуть больше чем дохуя).

По итогу мы имеем умников, насмотревшихся на процессинг эпла и гугла,
«забывших» при этом самим стать эплом или гуглом.

З архіву ebanoe · Опубліковано 6 липня 2018 р.

Коментарі (95)

Сортування:ТопНовіСтарі
  • legacy_Не_кидайте_защекоины

    Есть подозрения что они тебе кидают кусок своего проекта.

    • legacy_Защекойн

      Лови меня, пидр

    • legacy_и_твою_маму_тоже

      Это весь проект 🙂

      • legacy_Собаколоид

        Самое забавное, когда пишешь таким ушлёпкам, что мол это же кусок реального проекта… В ответ тебя умоляют: «Ну сделайте…» Количество говна у нас просто зашкаливает.

        • legacy_Хлєбатєль_бояркі

          Каюсь, колись кілька разів робив вдома тестові завдання. Результату ніякого.
          Тепер, звісно, такою хєрньою не займаюсь — я краще свіжим повітрям подихаю годинку-другу. А на подібні пропозиції відповідаю просто. Кажу, що визнаю лише рівні відносини: я кладу свій час, а контора кладе гроші. І дивовижним чином усякі неадеквати швиденько зливаються. Зрідка буває, що питають про ціну — називаю значно вищу ніж висока по ринку. До замовлення так жодного разу і не дійшло.
          А взагалі, всі ці тестові завдання лише для того, щоб спростити конторі життя. Але це виключно їх проблеми, їх комерційні ризики. І треба бути повним ідіотом, щоб брати такі ризики на себе.

    • legacy_Горбатый_Коллектор_1

      Полюбе из реального проекта. Сколько кидали тестовые всегда было стек и в общих чертах чё хотят, а тут пидры даже стили свои подогнали…

    • legacy_Любитель_почесать_яйца

      Я, кстати говоря, там был на собесе … Тупо шарага, снимают офис на Шулявке в торговом центре Космополит, хрюша у них — престарелая баба, грубая, тупая и не уважает никого, она вообще считает что для нее люди никто, или это совковая закалка или просто по жизни ебонутая. Чувствует себя как будто она погонщик, на деле писта, которую пора выгнать, а взять молодую.

  • legacy_Мнение_ебаной_редакции

    Джейсоны?

    • legacy_Мимокрок

      Машенька, а ну быстро закрыла браузер! Кто будет за тебя джейсоны писать?

      • legacy_Мария_Ракова

        чо сказать то хотел? страпончик захотел?

        • legacy_Мимокрок

          Если не будешь писать джейсоны, придётся засадить тебе в булочки моего питона

          • legacy_Мария_Ракова

            только в попу и годится твой питончик. всем удобно

            • legacy_Слава_роботам

              А я в сраку никогда не против!

              • legacy_Мимокрок

                я ждал тебя, пиши где твою сраку можно найти!

  • legacy_Vue_Angular_Ember_говно_моча_React

    Ничего удивительного, наживка на терпилу-работягу. Даже если будут платить нормально, на шею обязательно сядут.

  • legacy_APSnet_developer

    Тут где-то была статья про телку, которую заставляли писать jsonы. Скинь ей тестовое плиз. Добей ее нах.

    • legacy_Витя_с_химмаша

      Ее уже взяли на борт, который балуется легким xml ом и кое что еще

      • legacy_Мимокрок

        Я прочитал и почему-то подумал про лёгкий БДСМ

  • legacy_Гребец_23

    Попроси скинуть тестовую зарплату.

    • legacy_Ваше_Мусиятельство

      Кстати, где можно найти ТЗ тестовой зарплаты?

      • legacy_Витя_с_химмаша

        Ищи скидки по 40 коп, там твое тз

  • legacy_Ґвідо_ван_Россум

    Для особо тупых повторяю — мой логотип языка Python — это две одноглазых змеи за щекой у каждого кацапа! 🙂 Одна змея желтая, а вторая — блакитная, что как бы символизирует 😀

    • legacy_Зигмунд_Фройд

      вот тока кацапы работают касперском за 3-5 штук баксов, не забывая между коммитами присунуть твоей мамке.

      • legacy_Usu

        за 3-5 и мы работаем

      • legacy_Ґвідо_ван_Россум

        Ты решил удивить кого-то АЖ-АЖ-АЖ 3-5К USD?? Ну ты и долбоеб 🙂 мамок попутали и навставляли твоей 😀

      • legacy_Senior_Python_developer_23cm

        > вот тока кацапы работают касперском за 3-5 штук баксов…
        Это типа очень высокая ЗП в Кацапии? Ты извини, я вашем рынке труда не шарю…

    • legacy_Слава_роботам

      Обоих змий в мою сраку а кацапов на пляшки посади! Гей це справжне по эвропейски!

  • legacy_оттуда_1

    Галерки с такими тестовыми заданиями нужно сразу слать на хер.

  • legacy_Зигмунд_Фройд

    Нахуй

  • legacy_Зигмунд_Фройд

    Деанон конторы!

  • legacy_блябуду_не_смузихлёб

    такие вы наивные, получаете рассылки на попытку вас втянуть в свою галеру. мне бы ваши проблемы

    • legacy_Сантехник_Васюня

      Давай проведем аналогию:
      — заебашьте нам автономное отопление в офисе 200кв.м. с двухконтурным котлом, это по нашим оценкам должно занять 3-4 дня