ПРО АЛГОРИТМЫ НА СОБЕСЕДОВАНИЕ
Раньше я искренне не понимал, зачем некоторые IT‑компании так помешаны на алгоритмах.
Казалось, на реальных проектах алгоритмические задачи почти не встречаются, и фронт‑ и бэкенд‑разработка сводится к знанию фреймворков, «перекладыванию JSON-чиков» и API.
Однако за несколько лет участия в десятках собеседований и после собственного опыта в разработке я убедился: алгоритмы — это самый надёжный способ оценить не только знание синтаксиса, но и скорость разработки и качество мышления на собеседовании. Все остальное можно заучить и «натаскаться» проходя собеседования.
Личный пример.
В начале карьеры я мог быстро писать CRUD на знакомом фреймворке, но на реальную задачу уходило по несколько дней: то упирался в нестандартный кейс, то долго выстраивал логику, код писал не быстро. После целенаправленного изучения алгоритмов и регулярной практики на LeetCode время на решение типичных задач сократилось в разы: я просто «видел» шаблон и быстро его имплементировал.
Почему это не прихоть компаний
Алгоритмические задачи — это как игра на фортепиано: профессионал, играющий разные жанры и виртуозно владеющий инструментом, способен «прочувствовать» любую мелодию и сразу попасть в нужный темп и тон. Так же и разработчик, хорошо натренировавший алгоритмическое мышление, в коде «чувствует» структуру задачи и без лишних проб и ошибок строит оптимальное решение. А скорость выполнения задач - очень важный показатель.
Можно выучить и зазубрить любую теорию: computer science, устройство языка, SQL и NoSQL, брокеры сообщений. Но алгоритмы - это тот навык, который прививается со временем.
Конечно, перегибать палку не стоит: несколько тяжелейших секций на графах и динамическом программировании, далеких от повседневных задач, часто лишь валят кандидатов и отнимают время (возможно это тактичный способ слить кандидата). Главное, что дают алгоритмы — шаблоны мышления и «насмотренность», благодаря которым вы почти на автопилоте пишете чистый, понятный и эффективный код.
Пишите в комментариях, практикуете ли вы алгоритмические задачи, и если да, видите ли у себя прогресс в скорости разработки?
Post #117
1.13K

- 👍 12
- 🔥 4
- 🗿 2
- 👏 1