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