Всем привет!
Хотел бы дать сегодня один быстрый совет для тех, кто проходит собесы.
Часто меня самого спрашивали про сортировки и их сложность. Также обычно просят написать функцию сортировки любым методом.
Но заметил, что многие вообще с этим не знакомы, так как есть встроенный
В идеале я бы советовал как-то базово ознакомиться с алгоритмами и структурами данных.
Но если нету времени - посмотрите хотя бы про сортировки.
И когда просят написать сортировку на собесе, я бы не стал писать ничего другого, кроме сортировки пузырьком (сверяем каждый элемент с каждым). Так как в других методах легко запутаться.
Как-то так!
#devtips #algorithms
Хотел бы дать сегодня один быстрый совет для тех, кто проходит собесы.
Часто меня самого спрашивали про сортировки и их сложность. Также обычно просят написать функцию сортировки любым методом.
Но заметил, что многие вообще с этим не знакомы, так как есть встроенный
sort
метод. Хотя понимать, как это работает, довольно полезно.В идеале я бы советовал как-то базово ознакомиться с алгоритмами и структурами данных.
Но если нету времени - посмотрите хотя бы про сортировки.
И когда просят написать сортировку на собесе, я бы не стал писать ничего другого, кроме сортировки пузырьком (сверяем каждый элемент с каждым). Так как в других методах легко запутаться.
Как-то так!
#devtips #algorithms
❤23👍14💯1🍓1
Всем привет!
В первую очередь, у нас на канале набралось 2000 подписчиков, за что хочу сказать всем спасибо!
А сегодня хотел бы поделиться основными структурами данных и алгоритмами, которые по моему мнению стоит знать фронтенд разработчику.
Также сразу скажу, что по моему мнению лучше вначале уделить больше времени на изучение и понимание структур данных. Ну и в целом строить все обучение CS на этом.
Изучили структуру - порешали задачки с ней. А затем уже можно переходить к более сложным задачам, которые требуют комбинации нескольких структур и знание определенных алгоритмов.
Теперь сам список того, что я считаю нужным:
- Map, Object, Set. Задач тут много на них, но самые частые - sum two, sum three и тд. Да и в работе думаю есть много примеров, где нужны данные структуры.
- O(n) - Не совсем алгоритм или структура данных. Однако важная тема, которую нужно понимать. По крайней мере для того, чтобы писать оптимальный код.
- array - Тут много есть разных и интересных задач, конкретное что-то выделить не могу. Но все из них обычно очень полезные.
- stack - Самая популярная задачу тут - проверка последовательности скобок. Если хотите чуть сложнее - то можно попробовать проверять последовательностью с html-like тегами. Например,
- queue
- recursion - на рекурсию тоже много интересных задач, прямо выделить какие-то не могу. Также полезно знать, как можно переделать рекурсию на обычный цикл с помощью stack/queue.
Не прямо, чтобы нужные, но очень рекомендую поизучать:
- Heap - Иногда может быть полезен для неординарных задач (используется, кстати, в самом коде React).
- graph/tree/linked list - тут можно изучить прям базу (bfs/dfs и нахождение circular reference). Глубоко я бы уходить не стал, если нет желания конечно.
Мой список примерно такой. Да, указал все почти все, но на самом деле есть и более продвинутые структуры (ring buffer, sorted map и тд.), которые бывают нужны в очень специфичных ситуациях.
В плане задачек, я бы решал до уровня medium. На самом деле даже некоторые medium бывают очень сложные, поэтому не надо расстраиваться, если идет не так просто.
В плане ресурсов, уже рекомендовал на этом канале вот этот бесплатный курс и плейлисты по алгоритмам и структурам данных от HackerRank.
Как-то так!
#devtips #algorithms
В первую очередь, у нас на канале набралось 2000 подписчиков, за что хочу сказать всем спасибо!
А сегодня хотел бы поделиться основными структурами данных и алгоритмами, которые по моему мнению стоит знать фронтенд разработчику.
Также сразу скажу, что по моему мнению лучше вначале уделить больше времени на изучение и понимание структур данных. Ну и в целом строить все обучение CS на этом.
Изучили структуру - порешали задачки с ней. А затем уже можно переходить к более сложным задачам, которые требуют комбинации нескольких структур и знание определенных алгоритмов.
Теперь сам список того, что я считаю нужным:
- Map, Object, Set. Задач тут много на них, но самые частые - sum two, sum three и тд. Да и в работе думаю есть много примеров, где нужны данные структуры.
- O(n) - Не совсем алгоритм или структура данных. Однако важная тема, которую нужно понимать. По крайней мере для того, чтобы писать оптимальный код.
- array - Тут много есть разных и интересных задач, конкретное что-то выделить не могу. Но все из них обычно очень полезные.
- stack - Самая популярная задачу тут - проверка последовательности скобок. Если хотите чуть сложнее - то можно попробовать проверять последовательностью с html-like тегами. Например,
<1>asdf</1>asdf<asdf></asdf>
- валидно, <1>asdf</1>asdf<asdf>
- невалидно.- queue
- recursion - на рекурсию тоже много интересных задач, прямо выделить какие-то не могу. Также полезно знать, как можно переделать рекурсию на обычный цикл с помощью stack/queue.
Не прямо, чтобы нужные, но очень рекомендую поизучать:
- Heap - Иногда может быть полезен для неординарных задач (используется, кстати, в самом коде React).
- graph/tree/linked list - тут можно изучить прям базу (bfs/dfs и нахождение circular reference). Глубоко я бы уходить не стал, если нет желания конечно.
Мой список примерно такой. Да, указал все почти все, но на самом деле есть и более продвинутые структуры (ring buffer, sorted map и тд.), которые бывают нужны в очень специфичных ситуациях.
В плане задачек, я бы решал до уровня medium. На самом деле даже некоторые medium бывают очень сложные, поэтому не надо расстраиваться, если идет не так просто.
В плане ресурсов, уже рекомендовал на этом канале вот этот бесплатный курс и плейлисты по алгоритмам и структурам данных от HackerRank.
Как-то так!
#devtips #algorithms
👍76❤6🔥6💯3⚡2🍓1