TGViewer
Хочу в Google Хочу в Google @hiremegoogle · 3.18K subscribers
Post #74 3.15K
7 техник которые помогут тебе быстрее решать задачи

Судя по итогам опроса большая часть аудитории канала испытывает проблемы с решением алгоритмических задач. Если ты активно решаешь задачи по алгоритмам в течении полу года и у тебя некоторые задачи отнимают от часа или больше времени, это нормально. Но это средний результат, и есть куда расти. Чтобы пройти собеседование тебе нужно научиться решать задачи за 15-20 минут. Это займет время, но это возможно и достижимо. Сегодня я хотел бы поделиться 7 техниками которые помогут тебе быстрее решать задачи.

Техника 1. Решай много.

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

Техника 2. Найди неоптимальное решение (brute force solution ). 

Попытайся найти хоть какое либо решение. Оно может быть не самым умным, не самым оптимальным, это нормально. Ты сможешь оптимизировать его позже. Неоптимальное решение это лучше чем отсутсвие решения. 

Техника 3. Думай на бумаге. 

Про это я писал тут https://t.me/hiremegoogle/65 

Техника 4. Внимательно перечитай задачу. 

Часто в самой задаче дается подсказка на ее решение. К примеру дают “отсортированный массив” или “только цифры больше нуля” и т.д. Эти подробности мы часто упускаем когда думаем о решении, хотя такие детали могут помочь найти быстрое и простое решение. К примеру, если вам нужно найти цифру в  “отсортированном  массиве” или “массив с одним пиком” или “отсортированный массив который был сдвинут вправо или влево”, то самый оптимальный способ это использовать бинарный поиск. Поэтому внимательно читайте текст задачи. 

Техника 5. Используй HashMap.

HashMap это очень крутая структура данных которая встречается в большом количестве задач. Когда будешь решать задачу, подумай, можно ли решить ее с помощью HashMap. 

Техника 6. Используй структуры данных. 

Так как у каждой структуры данных есть свои преимущества и недостатки, подумай какая структура данных может помочь тебе в решении данной задачи и от этого отталкивайся. К примеру, известная задача LRU Cache, где надо быстро (за O(1) время) добавлять и удалять пару key, value, но при этом нужно помнить порядок добавления ключей. Для хранения пары key, value можно использовать HashMap, это очевидно. Но как помнить порядок ключей? Добавлять ключи в массив? Сколько стоит удалить элемент из массива? O(1) если элемент из конца массива и O(N) все остальные позиции в массиве. O(N) это не далеко не O(1). Кто еще умеет хранить порядок, но также умеет удалять данные за O(1) время? Ответ LinkedList, так как для удаление достаточно переставить ссылки. Значит можно использовать связку HashMap+LinkedList и т.д.

Техника 7. Посмотри решение

Ну если совсем не прет, то не чурайся смотреть готовое решение. Это нормально. Все мы это делаем. Как понять когда пора? Если ты не можешь решить задачу в течении  1-2 дней, то смело смотри решение, не трать свое время, не надо никому ничего доказывать. Главные правила тут это:
• Попытайся решить сам по началу.
• Не пытайся просто слизать решение, почитай комментарии и попытайся понять логику за этим решением.
• Почитай про алгоритмы и структуры данных которые были использованы.
• Попробуй написать решение сам, своими руками, без copy/paste.
• Попробуй решать похожие задачи. 
• Через некоторые время, попробуй повторно решить эту задачу, чтобы закрепить материал.  

Надеюсь эти техники помогут тебе решать задачи быстрее. Если у тебя есть еще техники делись в комментариях.  

#interviewtip #algo
Telegram Хочу в Google ​​Был интересный вопрос про то как улучшить аккуратность и скорость кодинга. Думаю вопрос очень важный, отвечаю. Думай на бумаге (или на доске) На настоящем собеседовании тебе придется решать задачу на доске или в редакторе кода. У тебя не будет возможности…
  • 👍 5
More from @hiremegoogle
  1. Jul 4, 2026Почти год сюда не писал. Давайте по порядку. Последние пару лет я пытаюсь переосмыслить бы…
  2. Mar 3, 2025🗓️ Один день из жизни программиста в Мета. Понедельник 7:00 - звонит мой утренний будильн…
  3. Feb 28, 2025🤞 Сокращения Не успел год начаться как Мета объявила об очередной волне увольнений. На эт…
  4. Jan 13, 2025photo post
  5. Jan 13, 2025🎉 Цели на 2025 Всех с Новым Годом! Это мое запоздавшее поздравление. На этот раз у меня н…
  6. Dec 16, 2024Dear Eva, It will be almost a month since you wrote to me and you have possibly forgotten…
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 →