Как подготовиться к алгоритмам, если у вас есть только пара месяцев, а не год.
1️⃣ Старт для новичков
Во-первых, если с алгоритмами ты никогда дел не имел(а), то стоит начать с easy задачек. Но каких? Я бы выбрал список под тип этого и просто шел бы задача за задачей: ссылка на топ-50 easy задачек.
2️⃣ Главное правило: Фреймворк 25/5
Для easy и medium задач используй правило 25/5. Если за 25 минут ты не можешь решить задачу и в голову вообще ничего не идет - не трать время, посмотри первую подсказку.
Если через 5 минут решение так и не приходит, смотри следующую подсказку. И так каждые 5 минут, пока не поймешь, как решить, или пока не закончатся подсказки.
Когда подсказки закончились, открывай само решение, полностью его изучай и пытайся воспроизвести без подглядывания в ответ. Если получилось - отлично. Через неделю попробуй перерешать её заново без подсказок.
Сейчас нужно понять главное: ты набиваешь насмотренность. Твоя цель - понять, какой именно паттерн использовать и как обычно задачи такого типа решаются. Не переживай, что сначала не получается.
3️⃣ Переход на следующий уровень
Как только топ-50 easy задач решено, то можно переходить к другому списку - NeetCode Top-150. С YouTube-каналом NeetCode ты еще встретишься не раз, поверь 😄.
Здесь уже смесь задач разного уровня. Используй то же правило 25/5 для easy/medium.
Hard задачи пока что можешь пропускать. Но если очень хочется попробовать, расширь правило до 45/5: 45 минут пытаешься решить сам, а затем каждые 5 минут открываешь по подсказке. Если все открыто, но всё ещё не понятно - изучай готовое решение.
4️⃣ Выход в люди (Мок-собеседования)
Как только у тебя в арсенале будет около 100 решенных задач, пора идти на мок-собеседования с такими же готовящимися, как ты.
Где их искать? В Телеграме есть несколько профильных групп, вот одна из них: 👉 Mockerviews.
Как понять, что ты готов?
Определить готовность можно так: открываешь рандомную, но часто встречающуюся на собеседованиях задачу уровня Medium на LeetCode, ставишь таймер и пытаешься решить. Если в большинстве случаев это удается - ты готов(а).
Зачем нужны моки?
Они помогают научиться объяснять свое решение другому человеку. Уметь решать задачу в тишине и уметь решать её под давлением - это совершенно разные вещи. Поэтому желательно найти несколько человек, с которыми вы будете собеседовать друг друга.
И последнее...
В процессе подготовки ты сам(а) будешь видеть места, над которыми стоит поработать, а на моках всплывут неочевидные подводные камни. Главное - не игнорируй их.
И не тяни с реальными собеседованиями. Собеседования - это часто дело случая. Произойти может всё что угодно, и чем больше попыток ты сделаешь, тем выше шансы получить работу мечты.
Поверь мне, как человеку, который прошел все этапы собеседования в Google, нашел команду, но hiring committee дал отказ после полугодового процесса. Лучше попробовать, как можно раньше, ведь попыток попасть в одну и ту же компанию мечты может быть много.
Post #305
1.42K