TGViewer
Algorithmics: хакаем алгоритмические собесы Algorithmics: хакаем алгоритмические собесы @algorithmics_cl · 1.45K subscribers
Post #45 739
Из чего состоят собеседования. Алгоритмы

Давайте сразу выделим два вектора применения алгоритмов:
- алгоритмы для повседневной работы;
- алгоритмы для оценки навыков на собеседованиях.

👨‍💻 Алгоритмы для повседневной работы

Нет никаких сомнений в том, что знание алгоритмов и структур данных является очень полезным навыком для любого разработчика. Это фундаментальная область computer since, на которой держится вся разработка. Если вы будете практиковать навык разработки алгоритмов, то это поможет быстрее и эффективнее решать типовые задачи в повседневной работе. Грубо говоря, вы набиваете руку и тренируете насмотренность.

Само собой, не во всех областях требуются такие знания. Например, работа с алгоритмами сильно реже встречается на фронте и сильно чаще — на бэке. Такова специфика работы, но навык в любом случае полезен для всех.

✔️ Алгоритмы для оценки навыков на собеседованиях

А вот этот вектор как раз самый спорный. В чем заключается проблема? Все компании сейчас поголовно применяют этот подход на своих собеседованиях, зачастую не понимая как он вообще работает. Наша позиция крайне проста: алгоритмические секции — абсолютно бесполезная трата времени.

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

1. Алгоритмы не помогают оценить, как кандидат умеет писать код.

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

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

Я отношу себя ко второму типу. Мне тяжело думать в сжатые сроки, когда над душой кто-то стоит. В таком состоянии в принципе сложно собрать мысли в кучу и особенно раздаражет когда в этот процесс вклинивается интервьюер и пытается мне что-то подсказать или подогнать. 🤬

И качество кода обычно обеспечивается тестами. Чтобы отыскать все баги в написанной функции, достаточно написать на нее исчерпывающий юнит-тест, а не пытаться в голове перебирать возможные варианты.

#собеседования
More from @algorithmics_cl
  1. Feb 8, 2025Количество провинций Давайте закрепим знания про Disjoint Set новой задачей. Сложность: 🟡…
  2. Feb 4, 2025Disjoint Set Привет, друзья! Сегодня мы с вами не будем решать конкретную задачу, а познак…
  3. Dec 4, 2024Так как в этой задаче баланс между операциями записи и чтения смещен в сторону записи, нам…
  4. Dec 4, 2024Система поиска подсказок Ранее мы уже разбирали задачу, в которой нужно было реализовать с…
  5. Oct 29, 2024Префиксное дерево (Trie) Префиксное дерево, или Trie (произносится как «три») — это структ…
  6. Oct 11, 2024Максимальная сумма парных элементов связного списка Продолжаем изучение связанных списков…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →