Структуры данных в JavaScript | Odessa Frontend Meetup #13

Поделиться
HTML-код
  • Опубликовано: 9 янв 2025

Комментарии •

  • @f1amesoff
    @f1amesoff 3 месяца назад +2

    Я проработал в разных компаниях более 14 лет, сначала в небольших в СНГ, затем в крупных в Восточной и Западной Европе.
    Компании, в которых интервью состояло из 4, 5 или даже 6 раундов, где спрашивали алгоритмы, структуры данных, заставляли делать тестовое и вот это все, платили условно до 5 тыс. Евро в месяц. А компании, в которых интервью состояло всего из 2-3 раундов, а вся техническая часть это были вопросы вроде: "над чем работал" и "как бы ты решил вот эту проблему" - платили от 6-7 тыс. Евро. и выше.
    Это все, что вам нужно знать про алгоритмы и структуры данных во Frontend.

  • @stanislavk9430
    @stanislavk9430 2 года назад +3

    console.log(`Hello ${vivas[user.group]}!`);
    вместо
    console.log(`Hello ${user.group}!`);
    как написано на слайде 14:46

  • @sergeydev8273
    @sergeydev8273 5 лет назад +13

    Докладчик помпезный! Все сходу улавливается

  • @dmitrijponkin
    @dmitrijponkin 5 лет назад +10

    Обалденный доклад! Спасибо :))

    • @ruslanvolovik2745
      @ruslanvolovik2745 3 года назад +1

      Плохой доклад, это ужасно

  • @dispeltr1183
    @dispeltr1183 3 года назад +1

    Годный доклад за слайды и ссылки отдельный респект!

  • @kamol8861
    @kamol8861 2 года назад

    Понял смысл структур данных, оч хороший докладчик

  • @КириллАкутин-п3д
    @КириллАкутин-п3д 4 года назад +8

    Офигенный докладчик и сам доклад. На многих собесах трясут по алгоритмам, так что нужно их изучать

    • @ruslanvolovik2745
      @ruslanvolovik2745 3 года назад

      Обычное заблуждение, докладчик не компетентный

    • @constantin8016
      @constantin8016 2 года назад

      @@ruslanvolovik2745 ну, ты то точно спец))

    • @ruslanvolovik2745
      @ruslanvolovik2745 2 года назад

      @@constantin8016 было с чем сравнивать, не с пустого места..

    • @constantin8016
      @constantin8016 2 года назад

      @@ruslanvolovik2745 странно..но здесь 50% от всех комментариев твои..и все с притензиями или негатив))

    • @ruslanvolovik2745
      @ruslanvolovik2745 2 года назад

      @@constantin8016 так и есть, я не согласен с автором данного вида, так как есть расхождение

  • @ВикторЩербаков-ь4б
    @ВикторЩербаков-ь4б 4 года назад +1

    Очень понравился доклад. Было пару моментов, где слишком быстро проскочили про бинарные деревья, но из-за ограничения по времени нельзя придраться к этому

    • @ruslanvolovik2745
      @ruslanvolovik2745 3 года назад

      Это ужасно, придраться можно к многому

  • @ruslanvolovik2745
    @ruslanvolovik2745 4 года назад +4

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

  • @669pain
    @669pain 10 месяцев назад

    Шикарный доклад! Спасибо!

  • @Epic0n
    @Epic0n 3 года назад +1

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

    • @ruslanvolovik2745
      @ruslanvolovik2745 3 года назад

      Для таких целей лучше использовать конечный автомат

    • @f1amesoff
      @f1amesoff 3 месяца назад

      Почему нельзя обойтись массивом?

  • @realprogger
    @realprogger 4 года назад +2

    не понял на 15:00

  • @jelooJusta
    @jelooJusta 4 года назад +11

    find - это не только jquery :)

  • @ruslanvolovik2745
    @ruslanvolovik2745 4 года назад

    Методы решения колизий - самые популярные способы решения: это открытая адресация и метод цепочек
    Если написать аrray[1000] а пустые значения, но все же это константное время

  • @oOIMAXIOo
    @oOIMAXIOo 4 года назад +3

    22:34 в смысле find это jQuery?) [1, 2, 3, 4, 5].find(num => num === 3)

  • @РусланЮсуфов-ф3ш
    @РусланЮсуфов-ф3ш 4 года назад +2

    Он сказал Bisoft или Ubisoft?
    Если второе, то у меня один вопрос: когда починят chash в rainbow 6???

  • @denisgromov3137
    @denisgromov3137 4 года назад

    Подскажите, почему Николай назвал object, map и set как hash map? Почему именно так, а не ассоциативным массивом?

    • @ruslanvolovik2745
      @ruslanvolovik2745 4 года назад

      Это синонимы по моему, потому что под капотом в обьекта работает хеш функция, а с ней работает хеш таблица соответственно. Это все же статический массив в памяти ну и дальше очевидные вещи. Это просто синонимы

    • @Erudite.
      @Erudite. 4 года назад +3

      Потому, что нет такой структуры данных как ассоциативный массив. Массив это последовательно идущие друг за другом ячейки памяти одинаковой размерности. А хеш таблица это структура которая состоит из ключа и привязанного к нему значения.

  • @ruslanvolovik2745
    @ruslanvolovik2745 4 года назад

    Почему списки это не часто используемые вещи? Так как стек, очередь построена именно на них - точнее можно создать

  • @Kolabrod
    @Kolabrod 3 года назад

    Тайм код бы

  • @ruslanvolovik2745
    @ruslanvolovik2745 4 года назад

    На самом деле использование if else замедляет испонение кода - устройство процессора ответ

  • @THE_CUBE__
    @THE_CUBE__ Год назад

    Очень круто!

  • @quterma
    @quterma 4 года назад

    отлично!!

  • @ruslanvolovik2745
    @ruslanvolovik2745 4 года назад

    А почему оценки по памяти не было и их разновидности. Оценка по времени это T(n), а не O(n) это совершенно разные вещи, О(n) показывает суммарное количество инструкций процессора - итераций например, для его полного оканчания. Почему не упоминалась тетта, омега?
    T(n) описывает не полностью алгоритм, а только его часть - например итерации в сортировках. То что оно делает воовщем. Не нужно в этот момент учитывать "левые" инструкции, например присвоение, инкремент, сложение и т.д

  • @ruslanvolovik2745
    @ruslanvolovik2745 4 года назад

    Константная сложность это не совсем одна операция потому что на уровне языка это возможно одна, но и может и две - смотря какие. На уровне процессора, самого языка тоже есть особенности и это явно не одна.
    Нужно уточнять, это не правильно

  • @ruslanvolovik2745
    @ruslanvolovik2745 4 года назад

    Алгоритмы строяться при помощи структур данных, а структуры при помощи алгоритмов. Вот почему это нераздельные вещи

  • @ashesto1
    @ashesto1 3 года назад +7

    Что то руслана в комментах порвало)

    • @ruslanvolovik2745
      @ruslanvolovik2745 3 года назад

      Бывает, человек не компетентный

  • @propro3053
    @propro3053 Год назад

    Якщо хочете детально вивчити системи даних тоді користуйтеся іноземними ресурсами, в країнах СНГ інформація надто поверхнева

  • @ruslanvolovik2745
    @ruslanvolovik2745 4 года назад

    Рассказали бы про биг о как-то по другому, а не как все потому что все одно и тоже. Почему например не дать определение как верхняя граница при бесконечно увеличиваемом аргументе(длинна массива)

  • @GLUCKKKKKKKKKK
    @GLUCKKKKKKKKKK Год назад

    Ебейший доклад;)

  • @ilikecola378
    @ilikecola378 Год назад +1

    Странный доклад, много всего очевидного, многие реализации как он и сам сказал сделаны на коленке.

  • @ruslanvolovik2745
    @ruslanvolovik2745 4 года назад

    Некоторые задачи не решаються проще чем експотенциальная сложность. Это на самом деле применимо

  • @ruslanvolovik2745
    @ruslanvolovik2745 4 года назад

    Очевидно что не на спайдерманки, все знают что на в8

  • @strpasha
    @strpasha 4 года назад

    Про хештейбл всё не правильно объяснил.

  • @ruslanvolovik2745
    @ruslanvolovik2745 4 года назад

    Чтобы скласть пазл, можно и за 3 действия - если 1 уже фиксировый, но так и есть

  • @ruslanvolovik2745
    @ruslanvolovik2745 4 года назад

    А О(nlogn) это по сути не "цикл в цикле"

    • @ruslanvolovik2745
      @ruslanvolovik2745 3 года назад

      @@Maksim-nu8hb слушал как было на самом деле, время скинь

  • @ruslanvolovik2745
    @ruslanvolovik2745 4 года назад

    Стэк, очередь - линейные структуры, стаканчик же и так понятно

  • @ruslanvolovik2745
    @ruslanvolovik2745 4 года назад

    В видно рассказываеться про бинарное дерево поиска а не бинарного дерева

  • @РоманСозыкин-с8б

    Вай, как плохо :( Плахой докладчик, а тема - хароший.

    • @__kawaii
      @__kawaii Год назад

      Что не так?

  • @ruslanvolovik2745
    @ruslanvolovik2745 4 года назад

    Не по парадигмам учебник, а курс мат анализа первый курс института. Если это закроешь, то допка -> комисия -> ...
    Учебник конечно же проще закрыть

  • @ruslanvolovik2745
    @ruslanvolovik2745 4 года назад +2

    Если человек не знает как минимум структуры данных то его точно не нужно брать - это очевидные вещи. Все просто он знает 20 фреймворков, особенно из фронтенда - потому что он знает что за их и красивое резюме заплатят деньги, зачем мне учить тупые алгоритмы и структуры если им 1000 лет в обед

    • @f1amesoff
      @f1amesoff 3 месяца назад

      Покажи, пожалуйста, какая компания берет на работу кандидатов знающий структуры данных и при этом не знающих фреймворки.
      Похоже, что ты просто завидуешь тем, кто хуже тебя знает структуры данных, но при этом умеет хорошо делать работу знает как deliver value in time.

  • @ruslanvolovik2745
    @ruslanvolovik2745 4 года назад

    Зачем задавать такие тупые вопросы?

    • @bkhtrv
      @bkhtrv 3 года назад +2

      так это ж ты спрашиваешь, сам себе и ответь

    • @ruslanvolovik2745
      @ruslanvolovik2745 3 года назад

      @@bkhtrv это не тупые вопросы, это ошибки и заблуждения докладчика

  • @ruslanvolovik2745
    @ruslanvolovik2745 4 года назад

    Какие же тупые примеры, почету не показать реальные примеры - ты же сеньйор, а не трейни