Я проработал в разных компаниях более 14 лет, сначала в небольших в СНГ, затем в крупных в Восточной и Западной Европе. Компании, в которых интервью состояло из 4, 5 или даже 6 раундов, где спрашивали алгоритмы, структуры данных, заставляли делать тестовое и вот это все, платили условно до 5 тыс. Евро в месяц. А компании, в которых интервью состояло всего из 2-3 раундов, а вся техническая часть это были вопросы вроде: "над чем работал" и "как бы ты решил вот эту проблему" - платили от 6-7 тыс. Евро. и выше. Это все, что вам нужно знать про алгоритмы и структуры данных во Frontend.
Очень понравился доклад. Было пару моментов, где слишком быстро проскочили про бинарные деревья, но из-за ограничения по времени нельзя придраться к этому
В методе push не константное время, а амотризированое константное потому что интерпретатот выделяет конкретный кусок памяти под его и что будет если мы дойдем до такого момента что этот кусок памяти закончится и произойдет полное копирование всего массива на уже другую части памяти но с большим количеством свободных ячеек для дальнейших действия. В данном случае будет линейная сложность И так на самом деле со многими методами
Двунаправленный линкед лист очень хорошо приименим в селектах, градах, когда нужно сфокусированную строку двигать вверх или вниз с помощью клавиатуры, плюс если такой список замкнут (когда последний елемент ссылается на первый) то облегчает перходы с начала в конец и обратно.
Методы решения колизий - самые популярные способы решения: это открытая адресация и метод цепочек Если написать аrray[1000] а пустые значения, но все же это константное время
Это синонимы по моему, потому что под капотом в обьекта работает хеш функция, а с ней работает хеш таблица соответственно. Это все же статический массив в памяти ну и дальше очевидные вещи. Это просто синонимы
Потому, что нет такой структуры данных как ассоциативный массив. Массив это последовательно идущие друг за другом ячейки памяти одинаковой размерности. А хеш таблица это структура которая состоит из ключа и привязанного к нему значения.
А почему оценки по памяти не было и их разновидности. Оценка по времени это T(n), а не O(n) это совершенно разные вещи, О(n) показывает суммарное количество инструкций процессора - итераций например, для его полного оканчания. Почему не упоминалась тетта, омега? T(n) описывает не полностью алгоритм, а только его часть - например итерации в сортировках. То что оно делает воовщем. Не нужно в этот момент учитывать "левые" инструкции, например присвоение, инкремент, сложение и т.д
Константная сложность это не совсем одна операция потому что на уровне языка это возможно одна, но и может и две - смотря какие. На уровне процессора, самого языка тоже есть особенности и это явно не одна. Нужно уточнять, это не правильно
Рассказали бы про биг о как-то по другому, а не как все потому что все одно и тоже. Почему например не дать определение как верхняя граница при бесконечно увеличиваемом аргументе(длинна массива)
Если человек не знает как минимум структуры данных то его точно не нужно брать - это очевидные вещи. Все просто он знает 20 фреймворков, особенно из фронтенда - потому что он знает что за их и красивое резюме заплатят деньги, зачем мне учить тупые алгоритмы и структуры если им 1000 лет в обед
Покажи, пожалуйста, какая компания берет на работу кандидатов знающий структуры данных и при этом не знающих фреймворки. Похоже, что ты просто завидуешь тем, кто хуже тебя знает структуры данных, но при этом умеет хорошо делать работу знает как deliver value in time.
Я проработал в разных компаниях более 14 лет, сначала в небольших в СНГ, затем в крупных в Восточной и Западной Европе.
Компании, в которых интервью состояло из 4, 5 или даже 6 раундов, где спрашивали алгоритмы, структуры данных, заставляли делать тестовое и вот это все, платили условно до 5 тыс. Евро в месяц. А компании, в которых интервью состояло всего из 2-3 раундов, а вся техническая часть это были вопросы вроде: "над чем работал" и "как бы ты решил вот эту проблему" - платили от 6-7 тыс. Евро. и выше.
Это все, что вам нужно знать про алгоритмы и структуры данных во Frontend.
console.log(`Hello ${vivas[user.group]}!`);
вместо
console.log(`Hello ${user.group}!`);
как написано на слайде 14:46
Докладчик помпезный! Все сходу улавливается
Это ужасно
Обалденный доклад! Спасибо :))
Плохой доклад, это ужасно
Годный доклад за слайды и ссылки отдельный респект!
Понял смысл структур данных, оч хороший докладчик
Офигенный докладчик и сам доклад. На многих собесах трясут по алгоритмам, так что нужно их изучать
Обычное заблуждение, докладчик не компетентный
@@ruslanvolovik2745 ну, ты то точно спец))
@@constantin8016 было с чем сравнивать, не с пустого места..
@@ruslanvolovik2745 странно..но здесь 50% от всех комментариев твои..и все с притензиями или негатив))
@@constantin8016 так и есть, я не согласен с автором данного вида, так как есть расхождение
Очень понравился доклад. Было пару моментов, где слишком быстро проскочили про бинарные деревья, но из-за ограничения по времени нельзя придраться к этому
Это ужасно, придраться можно к многому
В методе push не константное время, а амотризированое константное потому что интерпретатот выделяет конкретный кусок памяти под его и что будет если мы дойдем до такого момента что этот кусок памяти закончится и произойдет полное копирование всего массива на уже другую части памяти но с большим количеством свободных ячеек для дальнейших действия. В данном случае будет линейная сложность
И так на самом деле со многими методами
Шикарный доклад! Спасибо!
Двунаправленный линкед лист очень хорошо приименим в селектах, градах, когда нужно сфокусированную строку двигать вверх или вниз с помощью клавиатуры, плюс если такой список замкнут (когда последний елемент ссылается на первый) то облегчает перходы с начала в конец и обратно.
Для таких целей лучше использовать конечный автомат
Почему нельзя обойтись массивом?
не понял на 15:00
find - это не только jquery :)
Методы решения колизий - самые популярные способы решения: это открытая адресация и метод цепочек
Если написать аrray[1000] а пустые значения, но все же это константное время
22:34 в смысле find это jQuery?) [1, 2, 3, 4, 5].find(num => num === 3)
это ROFL
Он сказал Bisoft или Ubisoft?
Если второе, то у меня один вопрос: когда починят chash в rainbow 6???
Подскажите, почему Николай назвал object, map и set как hash map? Почему именно так, а не ассоциативным массивом?
Это синонимы по моему, потому что под капотом в обьекта работает хеш функция, а с ней работает хеш таблица соответственно. Это все же статический массив в памяти ну и дальше очевидные вещи. Это просто синонимы
Потому, что нет такой структуры данных как ассоциативный массив. Массив это последовательно идущие друг за другом ячейки памяти одинаковой размерности. А хеш таблица это структура которая состоит из ключа и привязанного к нему значения.
Почему списки это не часто используемые вещи? Так как стек, очередь построена именно на них - точнее можно создать
Тайм код бы
На самом деле использование if else замедляет испонение кода - устройство процессора ответ
Очень круто!
отлично!!
Ужасно
А почему оценки по памяти не было и их разновидности. Оценка по времени это T(n), а не O(n) это совершенно разные вещи, О(n) показывает суммарное количество инструкций процессора - итераций например, для его полного оканчания. Почему не упоминалась тетта, омега?
T(n) описывает не полностью алгоритм, а только его часть - например итерации в сортировках. То что оно делает воовщем. Не нужно в этот момент учитывать "левые" инструкции, например присвоение, инкремент, сложение и т.д
Константная сложность это не совсем одна операция потому что на уровне языка это возможно одна, но и может и две - смотря какие. На уровне процессора, самого языка тоже есть особенности и это явно не одна.
Нужно уточнять, это не правильно
Алгоритмы строяться при помощи структур данных, а структуры при помощи алгоритмов. Вот почему это нераздельные вещи
Что то руслана в комментах порвало)
Бывает, человек не компетентный
Якщо хочете детально вивчити системи даних тоді користуйтеся іноземними ресурсами, в країнах СНГ інформація надто поверхнева
Рассказали бы про биг о как-то по другому, а не как все потому что все одно и тоже. Почему например не дать определение как верхняя граница при бесконечно увеличиваемом аргументе(длинна массива)
Ебейший доклад;)
Странный доклад, много всего очевидного, многие реализации как он и сам сказал сделаны на коленке.
Некоторые задачи не решаються проще чем експотенциальная сложность. Это на самом деле применимо
Очевидно что не на спайдерманки, все знают что на в8
Про хештейбл всё не правильно объяснил.
Естественно
Чтобы скласть пазл, можно и за 3 действия - если 1 уже фиксировый, но так и есть
А О(nlogn) это по сути не "цикл в цикле"
@@Maksim-nu8hb слушал как было на самом деле, время скинь
Стэк, очередь - линейные структуры, стаканчик же и так понятно
В видно рассказываеться про бинарное дерево поиска а не бинарного дерева
Вай, как плохо :( Плахой докладчик, а тема - хароший.
Что не так?
Не по парадигмам учебник, а курс мат анализа первый курс института. Если это закроешь, то допка -> комисия -> ...
Учебник конечно же проще закрыть
Если человек не знает как минимум структуры данных то его точно не нужно брать - это очевидные вещи. Все просто он знает 20 фреймворков, особенно из фронтенда - потому что он знает что за их и красивое резюме заплатят деньги, зачем мне учить тупые алгоритмы и структуры если им 1000 лет в обед
Покажи, пожалуйста, какая компания берет на работу кандидатов знающий структуры данных и при этом не знающих фреймворки.
Похоже, что ты просто завидуешь тем, кто хуже тебя знает структуры данных, но при этом умеет хорошо делать работу знает как deliver value in time.
Зачем задавать такие тупые вопросы?
так это ж ты спрашиваешь, сам себе и ответь
@@bkhtrv это не тупые вопросы, это ошибки и заблуждения докладчика
Какие же тупые примеры, почету не показать реальные примеры - ты же сеньйор, а не трейни