TGViewer
FAANG Master FAANG Master @faangmaster · 2.94K subscribers
Post #235 2.79K
Как решать алгоритмические задачи на подготовке, чтобы это было эффективно

1) Составьте список задач, которые вы хотите решить (план). Этот план должен быть индивидуальным в зависимости от ваших целей и текущего уровня. Если вы только приступаете, то этот список должен включать задачи на все основные темы: two pointers, arrays, strings, hashmaps, queues, stacks, binary search, sorting, topological sorting, priority queue, binary trees and tree traversal, binary search tree, trie (prefix/suffix tree), graphs (dfs, bfs), dynamic programming. А также включать на группу тем задачи разного уровня сложности. Начиная от easy и много задач medium, можно добавить пару hard. Если вы не начинающий, то это могут быть задачи только medium на конкретную тему или темы, которую вы хотите прокачать. Если вы хотите прособеседоваться на горизонте 3-6 месяцев в конкретную компанию - просто отфильтруйте на leetcode по компании и частоте и решите первые 100 задач по частоте для этой компании. Книга Cracking The Coding Interview и сайт algoexpert.io по сути уже являются такой подборкой + с очень хорошими разборами решений. И подойдут для начинающих. Я могу тоже набросать такой план с задачами с leetcode в следующем посте.
2) Попробуйте решить задачу сначала самостоятельно. Не открывайте сразу решение. Т.к. сразу прочитав решение, вы не научитесь решать задачи самостоятельно. Более того, у вас оно быстро испарится из памяти + вы не вникните в детали и сложности решения. Потратьте 30 минут - 1 час на самостоятельное обдумывание задачи, даже если у вас не будет продвижения, вы осознаете в чем сложность задачи и у вас возникнет эмоциональный отклик на эти моменты. И когда вы будете смотреть решение, у вас будут моменты типа: "ага, вот как можно преодолеть то, на чем вы застряли и не могли придумать как это решить". В таком случае вы лучше запомните решение, и это знание будет индивидуальным, т.к. вы особенно хорошо запомните моменты, с которыми именно у вас возникли проблемы. Вы запомните, то чего не хватило вам при ваших размышлениях. Это и есть рост. Эти 30 минут-1 час, когда вы думаете и не можете решить являются ключевыми и самыми ценными в вашем росте. Именно после того, как вы сами подумаете, вы поймете в чем конкретно сложность задачи именно для вас, у вас возникнет эмоциональная привязка к задаче и разобравшись в решении, вы закроете ваши индивидуальные пробелы. Делая так, вы можете сократить число задач, которые вам надо решить на подготовке для выработки скила в несколько раз.
3) Если у вас собеседования по алгоритмическим задачам на горизонте 3-6 месяцев, то при решении задач моделируйте условия собеседования при решении задачи. После прочтения условия, попробуйте его переформулировать своими словами (если собеседование будет на английском, то переформулируйте условие задачи своими словами на английском). Подумайте какие уточняющие вопросы вы бы задали на реальном собеседовании (на leetcode задачи формулируются однозначно, поэтому представьте, что части условий нет и вам надо их уточнить). После решения задачи, попробуйте не сабмитить сразу свое решение, пройдитесь по коду на примерах и продебажте ваш код. Какие будут значения переменных на каждой итерации цикла или рекурсивном вызове, какой будет результат работы вашего кода. Если он работает не правильно, поправьте ошибки сами до сабмита кода.
4) Делайте упор на решении medium задач. На реальном собеседовании большинство задач будет medium уровня leetcode. Если вы только начинаете готовиться, то начинайте конечно с easy, но как только на какую-то тему вы easy решаете легко, переходите на medium, решать 300 easy задач смысла никакого нет, роста у вас не будет.
  • 👍 28
  • ❤ 8
  • 💘 2
More from @faangmaster
  1. Sep 13, 2026Навье-Стоксгейт 8 сентября OpenAI заявила, что её невыпущенная модель решила одну из семи…
  2. Sep 3, 2026Uber совместно с британским стартапом Wayve запускает роботакси в Лондоне Пришла нотификац…
  3. Aug 20, 2026Новый HTTP метод QUERY Этим летом в спецификацию HTTP добавили новый метод - QUERY. Добавл…
  4. Aug 15, 2026IOI 2026 В Ташкенте прошел межнар школьников по информатике. Результаты: https://stats.ioi…
  5. Jul 30, 2026В свое время я закончил МФТИ. Относительно непростой вуз для обучения. Закончил неплохо. З…
  6. Jul 18, 2026Документалка про Java В продолжение темы документалок, вышла документалка про Java. Трейле…
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 →