Измельчение LeetCode без плана неэффективно.

Если вы зубрите вопросы по кодированию, вы, скорее всего, забудете решение, когда будете на собеседовании. Даже если вы уже видели ответ раньше, возможно, вы не сможете вспомнить, как его реализовать!

Если вы хотите успешно пройти собеседование, вам понадобится какой-то способ просмотреть проблемы, которые вы уже решили.

Ключ в том, чтобы учиться с использованием научно-обоснованной техники обучения…

Повторение, повторение, повторение

Вы вряд ли что-то вспомните за один раз.

Мозг так не работает. Изучение требует повторения. Наш мозг нуждается в многократном воздействии фактов, концепций и т. д., прежде чем они усвоятся.

В интервью вспоминание — это разница между борьбой и взлетом.

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

Подтвержденный исследованиями метод

Обзор имеет смысл. Это основы изучения…

Но знаете ли вы, что существует основанная на фактических данных модель лучшего способа просмотра материалов?

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

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

Карточки как пример

Когда я изучаю вопросы по программированию, я использую программное обеспечение для создания карточек с вопросами.

Программное обеспечение имеет встроенный алгоритм интервального повторения. Он работает следующим образом:

  • См. новый вопрос LeetCode. Потратьте 10–15 минут на ее решение.
  • Если я могу решить это быстро, здорово! Если нет (такое бывает часто), то я поищу ответ. Нет смысла биться головой о задачу, когда пытаешься учиться.
  • Добавьте вопрос и решение в мою программу для карточек.
  • На следующий день я сяду изучать карточки. Это подскажет мне вопрос, который я недавно решил.
  • Если я смогу легко запомнить ответ, я отмечу его как «легкий». Если это займет некоторое время, но я в конце концов смогу вспомнить, я отмечу это как «хорошо». Если я не могу вспомнить ответ, я отмечаю его как «сложный».
  • Основываясь на моем рейтинге (легко, хорошо, сложно), программа через определенный интервал (1 день, 15 минут, 5 минут) повторно предложит мне карту памяти.
  • В следующий раз, когда я увижу карточку, я попытаюсь снова вспомнить ответ. Я снова отмечу его как «легко», «хорошо» или «сложно». А программа увеличит интервал исследования (5 дней, 3 дня, 1 день).
  • Со временем интервалы для данной карты становятся длиннее, и моя память для этой задачи становится лучше!

Растущий отзыв с течением времени

Когда я учусь, я делаю это для нескольких задач в день.

Каждый день я просматриваю свои карточки, которые «должны быть» в моем программном обеспечении для карточек. Это может занять от нескольких минут до часа+, если у меня много карт в колоде.

Далее я изучаю несколько новых задач в LeetCode. Но не слишком много! Обычно это всего 3–5 новых задач в день. Тратить на задачу не более 10-15 минут.

Наконец, я добавляю эти новые задачи в колоду карточек, чтобы завтра приступить к их изучению.

Какие инструменты я использую?

Давайте углубимся в детали.

  • Как узнать, какие задачи LeetCode изучать? Я использую Grind75, чтобы выбрать проблемы для изучения, исходя из того, сколько времени у меня есть до собеседования.
  • Где искать ответы на вопросы? Обычно я просто копаюсь во вкладке Решения вопроса LeetCode.
  • Какое программное обеспечение вы используете для своих карточек/интервального повторения? Anki — лучшая программа для карточек с интервальным повторением. Это полезно для изучения других вещей, помимо вопросов по кодированию!

Вот и все! Это простая система. Не нужно усложнять.

Дополнительные ресурсы

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

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

Присоединяйтесь к Medium за 5 долларов — получите доступ ко всему Medium + поддержите меня и других!