Чертеж плана спринта, который вы можете скорректировать для своего пути к собеседованию

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

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

Как настроить этот план под свои нужды

Просмотрите описание и оценку каждого спринта. Вам нужен этот спринт? И сколько времени вам понадобится, чтобы выполнить цели спринта?

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

На старте спринта

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

К концу каждогоспринта:

  • ретроспектива последнего - что было хорошего? Что можно улучшить?
    Вам нужна еще неделя, чтобы достичь целей спринта?
    Вы переутомились? Может быть, вы чувствуете себя готовым и готовы назначить несколько интервью?
  • Планируйте следующий спринт — цели спринта, ежедневные цели.

Спринт А — стряхнуть пыль

Цели этого спринта: -
- Получить мотивацию для пути, который вы собираетесь предпринять.
- Установить цели для процесса поиска работы/учебы.

Для достижения этих целей вы можете ставить задачи как-

  • Планирование собеседования: подумайте об интересующих вас компаниях и разделите их на три группы в зависимости от приоритета.
  • Планирование собеседования: составьте дорожную карту, ​​учтите такие аспекты, как лимит времени на подготовку, сколько времени вы уделяете в неделю.
  • Мотивация: изучите один интересующий вас предмет — например, как работает куча, или наглядное сравнение алгоритмов сортировки.
  • Мотивация: найдите друзей или онлайн-группы, которые собираются начать интервью.
  • Тактика собеседования: собрать учебный материал – например, получить копию CTCI.
  • Учеба: возьмите двухнедельный план структур данных, который подталкивает вас к решению двух простых вопросов в день.
  • Резюме: начните его писать; вы можете использовать эти ресурсы.

Спринт B – Основы

Цели этого спринта: -
- Изучение основ структур данных и терминов проектирования систем.
- Практика простых вопросов.

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

  • Тактика интервью: отличный CTCI Глава 3: Перед интервью и блок-схема интервью.
  • Потратьте 20 минут на изучение каждой структуры данных — массива, связанного списка, дерева, графика, стека, очереди и хеш-таблицы.
  • Изучите трюк или шаблон, связанный с каждой структурой данных.
    Например, быстрые и медленные указатели для обнаружения круга в связанном списке или куч отлично подходят для поиска первых K элементов без сортировки всего списка.
  • Напишите реализацию стандартных алгоритмов на вашем любимом языке программирования — сортировки, обходы деревьев, бинарный поиск.
  • Задайте Топ-вопросы на собеседовании - Я начал с легкой коллекции уровней.
  • Дизайн системы: получите общую информацию об этих интервью.
  • Дизайн системы: ознакомьтесь с такими терминами, как балансировщик нагрузки, очередь, публикация/подписка.
  • Резюме: закончите писать до такой степени, чтобы вам было удобно его отправлять.
  • Планирование интервью: подайте заявку в пару компаний, продолжайте присылать, пока они не свяжутся с вами, и назначьте собеседования на следующий спринт.

Мне было трудно учиться только ради этого, поэтому просто читать о структурах данных было утомительно, и я плохо справлялся с этим.
Однако чуть не провалил собеседование, потому что не помнил, что кучи существуют была хорошая мотивация; если вы похожи на меня, посмотрите спринт C.

Спринт C - Большое исследование

Цели -
- Изучение 80% технического материала. Вам не нужно раскрывать каждую деталь.
- Изучите мета-навыки проведения собеседований.
- Изучите свои сильные стороны и области для улучшений.

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

  • Решите несколько десятков вопросов для интервью из того источника, который помогает вам лучше всего сосредоточиться — книги или веб-сайта. Точный источник не имеет значения, если материал похож на реальные интервью, и вы можете сравнить свои решения с теми, что приведены в книге.
  • Все мои тактики для эффективной технической подготовки.
  • Изучите анализ времени и методы решения проблем в главах CTCI 5, 6 или видео.
  • Тактика собеседования: подготовьте короткую презентацию о себе, чтобы максимально увеличить ваше первое впечатление.
  • Проведите поведенческое или кадровое интервью, попрактикуйтесь в раскрытии своих качеств, сохраняя при этом аутентичность; несколько советов здесь.
  • Планирование собеседования: проведите одно или два технических собеседования в этом спринте; цель состоит не в том, чтобы пройти собеседование, а в том, чтобы понять, на каком уровне вы находитесь и что нужно улучшить в следующем спринте.
  • Python: используйте модули коллекции и разделение пополам. Почему deque лучше списка?
  • Практикуйте рекурсию, вам должно быть удобно писать общие алгоритмы как в итеративном, так и в рекурсивном подходах.
  • Практикуйте жадный подход.
  • Решите некоторые вопросы по графикам, которые представлены с использованием матриц или островков.

Спринт D - Тонкая настройка

Цели: -
- улучшить базу на основе отзывов о спринте C.
- отточить навыки прохождения собеседования.

Как только вы получите некоторый опыт от спринта C, пришло время закончить материалы для глубокого погружения и поработать над полученной обратной связью.
Если вы не нацелены на компании FAANG, предлагаю объединить спринты D+E в последний.

  • Резюме: Готовить рассказы о качествах и технических проектах - желательно в формате STAR.
  • Планирование интервью: это отличное время для проверочных интервью; они обычно проверяют классические предметы, которые вы уже изучили.
  • Тактика собеседования: делать какие-то насмешки; вы можете практиковаться с другом или делать это самостоятельно — решайте вопросы, объясняя вслух, соблюдайте ограничения по времени и не подглядывайте за синтаксисом. Не забудьте сделать временной анализ и тесты.
  • Тактика собеседования: прочитайте об интересующих вас компаниях, их процессе собеседования и ценностях компании.
  • Интервью по дизайну: решите некоторые вопросы по архитектуре. Их можно найти на YouTube или в этом курсе.

Идеи для дальнейших учебных заданий-

  • Связные списки и двусвязные списки — напишите свою реализацию.
  • Сделайте краткий обзор алгоритмов обхода графов, Дейкстры, Беллмана-Форда.
  • Практика обратного отслеживания и динамического программирования; сосредоточьтесь на вопросах начального уровня, поскольку сложные вопросы динамического программирования встречаются редко.
  • Знайте, как написать и использовать один алгоритм сортировки — слияние или быструю сортировку. Вы можете найти соответствующие вопросы в LeetCode, используя теги.

Помните, что полная готовность — это нереалистичное ожидание. Я решил не вкладывать средства в определенные предметы (такие как биты и байты), поскольку это не является распространенным явлением, и спасибо Мири Йехезкель за напоминание. мне этого.

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

Спринт E - Убить его

Цель состоит в том, чтобы быть в лучшей форме для интервью.

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

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

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

  • Если вам нравятся технические книги, Скеина отлично подойдет.
  • Пройдитесь по синтаксическим рекомендациям.

Заключение

Чтобы максимизировать преимущества, ретроспективно проанализируйте свой путь — работает ли он? Можете ли вы улучшить что-то? Не стесняйтесь корректировать предложенный план под свои нужды.

Соответствующие посты - Введение в интервью по системному дизайну и Техническая подготовка к занятому интервьюеру.