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

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

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

По сути, интервью — это полные смешанные сумки. И предвидеть каждый возможный сценарий сложно (если не невозможно). Со всей этой неопределенностью, как мы можем взять под контроль нашу подготовку к собеседованию?

Шаг 1️⃣. Создайте учебный план

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

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

🆒 Ознакомьтесь с кратким примером моего недавнего учебного плана здесь (и возьмите пустой шаблон собственного здесь).🆓

Я обозначил основные «корзины» вещей, которые вы могли бы изучить для фронтенд-интервью, специально в приложении к этой статье. Я также включил несколько советов и ресурсов, которые я считаю полезными на протяжении многих лет с каждым ведром, но они не являются исчерпывающими. Суть здесь в том, чтобы определить, что вы хотите изучить и что считаете важным для работы, и систематизировать это в плане обучения.

Хорошо! У нас есть ведра.

Что дальше?

Я считаю, что для собеседований и обучения лучше всего использовать «Т-образный» подход: демонстрировать глубокие знания и интерес в одной области и широкое понимание других. Выберите то, что вы хотите углубить. Вы эксперт по React? Или инженер, специализирующийся на архитектуре? Вы без ума от создания инструментов или фанатик обсуждения алгоритмического мышления?

Шаг 2️⃣. Выберите ОДИН пункт, который будет ВАШИМ в этом раунде собеседования. Какую суперспособность вашего разработчика вы хотите подчеркнуть в ходе этого интервью?

Понятно? Здорово.

В нашей учебной программе наша основная «суперспособность» должна быть глубокой и охватывать множество подтем.

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

Шаг 3️⃣. Настройте учебные занятия.

Учеба не состоится, если вы не запланируете на нее время.

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

Для каждой учебной сессии выберите одно большое ведро для изучения.

Вы также немного изучите свою «суперсилу» в начале или в конце всех учебных занятий. Вы хотите, чтобы эти понятия ВПЕЧАЛИСЬ в вашем мозгу при повторении.

Например, если бы я планировал свою неделю на основе моей личной учебной программы, это могло бы выглядеть так:
Понедельник 6–7: Основы JS (45 мин) + Лидерство и культура (15 мин)
Среда 12–1: Основы JS (45 мин) + Лидерство и культура (15 мин)
Четверг 8–9: Основы CSS (30 мин) + Лидерство и культура (30 мин)
Воскресенье 2– 3: Алгоритмы (45 мин) + Лидерство и культура (15 мин)

** Если вы занимаете руководящую должность в области инженерии, ваша основная цель/суперсила, как и моя, может быть нетехническим навыком. Не сбрасывайте со счетов необходимость изучения этих вещей! **

Шаг 4️⃣. Отработайте навыки проведения интервью.

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

Навыки, которые вы должны практиковать, — это интерактивная доска, парное кодирование, живое кодирование (кодирование и обсуждение вашего мыслительного процесса, пока кто-то другой наблюдает) и ролевые вопросы интервью (особенно любые поведенческие или ситуационные) с другом или сверстником.

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

Шаг 5️⃣. Воспринимайте интервью как спорт.

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

Иногда дела идут не очень хорошо — вы полностью провалите техническое собеседование или у вас просто будет «выходной» день, и вы не будете работать так, как обычно, — и вы не получите работу.

И это ОК.

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

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

Приложение

› Основы CSS

  1. Уметь рисовать и рассказывать о блочной модели
  2. Уметь называть все различные позиции, которые предлагает CSS.
  3. Дальнейшая подготовка

› Основы JavaScript

  1. JS-концепции
  2. 37 основных вопросов по JS
  3. Несколько вопросов по ​​кодированию

› Общие концепции выбранного вами JS-фреймворка (React, Vue, Ember, Angular и т. д.)

  1. Уметь быстро сказать, что это такое
  2. Уметь объяснить, почему его можно использовать
  3. Уметь объяснить, почему никто не хотел бы его использовать

› Работа в стиле ката

Младшие инженеры: посмотрите WesBos’s Javascript30 (особенно два дня Array Cardio). Сосредоточьтесь на повторении групп данных.

Инженеры среднего уровня+: практикуйте ката на CodeWars, LeetCode или любом другом любимом сайте ката.

› Тезисы высокого уровня для любых технологий, которые вы указали в своем резюме

Если вы не можете рассказать о технологии и некоторых плюсах и минусах ее использования — не включайте это в свое резюме.

› Алгоритмы

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

Не младшие должности: я настоятельно рекомендую инвестировать в InterviewCake. У меня был большой опыт работы с их платформой, и то, как они объясняли концепции, сделало ее очень доступной.

› Архитектура

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

Не младшие должности: я рекомендую инвестировать в Интервью по системе дизайна (которое мне очень понравилось и помогло мне пройти множество собеседований).