Получив работу в компании своей мечты, вы часто понимаете, что пройти собеседование сложнее, чем работать на реальных проектах. Давайте вкратце рассмотрим, на чем следует сосредоточиться при подготовке к интервью с фронтенд-разработчиком (front-end/front-end).

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

Лично вы предпочитаете выбирать другие JS-фреймворки, такие как Vue или Angular, серверные языки, такие как PHP, Ruby, Python, Java, C# и т. д. Просто выберите один из них, и если вы хорошо разбираетесь в нем, для вас всегда найдутся открытые вакансии.

Не готовясь, вы готовитесь к провалу. (Бенджамин Франклин)

Ожидание

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

  • Техническая компетентность. Я твердо верю, что навыки важнее опыта. Если вы хорошо разбираетесь в том, что делаете, тогда вы будете полностью уверены в этом мире. Вы сами создадите свою удачу. Вы даже можете создавать свои собственные продукты, если вас никто не нанимает.
  • Годы опыта. Многие компании фильтруют кандидатов по количеству лет опыта! Это может быть не идеально, но это простой механизм при найме старшего или менеджерского уровня! Дело в том, что многие из нас посредственные инженеры. Звучит спорно, но это правда. Вы увидите много инженеров, которые на самом деле накапливают многолетний опыт, не продвигаясь в больших компаниях.
  • Личные проекты. Учитываются любые проекты, такие как хобби, сторонние проекты или проекты с открытым исходным кодом. Они выделяют вас среди остальных. Инвестируйте в них как можно скорее, особенно в новых выпускников, у которых еще нет коммерческого опыта.
  • Бывшие работодатели: кому не нравится кандидат, ранее работавший в Google или Facebook (если только у него недостаточно денег, чтобы заплатить вам 🤑)! Наличие списка бывших престижных работодателей (относительно вашего рынка) даст вам огромное преимущество в процессе собеседования.
  • Навыки прохождения собеседований. Конкуренция в престижных компаниях жесткая: тысячи заявок от лучших инженеров со всего мира. Вам нужно дополнительное снаряжение, например, навыки прохождения собеседования, чтобы стать избранным.

Техническое мастерство

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

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

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

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

  • HTML: довольно легко разобраться, здесь нет ничего особенного. Ожидается знание как минимум доступных элементов HTML, принципов работы DOM, семантического HTML, веб-хранилища и т. д.
  • CSS: изучите правильный необработанный CSS, как работает движок CSS и адаптивный веб-дизайн. Вы можете все время использовать только CSS-фреймворки, но фронтенд-инженер, не знающий верстки с использованием необработанного CSS, кажется неквалифицированным.
  • JavaScript: требуется приличное знание JavaScript. Свободное кодирование структур данных и алгоритмов в JavaScript идеально. В настоящее время с этим языком можно делать практически все, поэтому не стесняйтесь прикладывать к нему много усилий.
  • React: (или любой другой веб-фреймворк) Просто выберите один и никогда не оглядывайтесь назад, зная, что только один будет в порядке. Выбор именно того, который использует компания вашей мечты, будет огромным преимуществом.
  • WebDev: базовые знания стандартных API-интерфейсов JavaScript, XMLHttpRequest и других специализированных API-интерфейсов браузера, таких как среда выполнения, хранилище, уведомления, окна, сокеты, файловая система и т. д.

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

Постарайтесь не заблудиться в лабиринте фронтенд-технологий.

Культурное соответствие

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

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

Заявка на работу

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

  • Исследуйте рынок: осмотритесь, отследите все открытые позиции, которые вы хотите применить, в файл Excel. Дайте им приоритетный порядок.
  • Пересмотрите свое резюме: никто не запрещает вам отправлять одно и то же резюме на все открытые вакансии! Многие так делают 👹. Но рекомендуется немного пересмотреть резюме, чтобы оно соответствовало должности (frontend-инженер, fullstack-инженер, инженер-программист и т. д.).
  • Отправить заявление о приеме на работу: здесь есть много стратегий (по одной, несколько за раз, компании мечты в первую очередь, компании мечты в последнюю очередь и т. д.), а также через рефералов, рекрутеров или доски объявлений. Делай что хочешь. Я обнаружил, что подача заявки по рекомендации — лучший способ гарантировать вам место на собеседовании.

Процесс интервью

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

  • Собеседование по телефону с менеджером по найму: несомненно, самое простое. Одна из причин заключается в том, что менеджер по найму часто профессионален и традиционен, поэтому вы можете предсказать, о чем вас спросят, и подготовиться к этому. Другая причина в том, что большинство вопросов — это поведенческие вопросы, мы все предполагаем, что поведенческие вопросы легче, чем технические, верно? 😋. Трудно потерпеть неудачу, если вы хорошо знаете компанию и согласовываете свои ответы с ожиданиями.
  • Собеседование по телефону с членом команды (1–3). Обычно у вас будет от 1 до 3 технических интервью по телефону/видео с вашими потенциальными коллегами. Некоторые компании сосредотачиваются на структурах данных и алгоритмах. Другие сосредоточены только на фронтенд-технологиях. Лучше перед этими раундами попросите рекрутеров лучше подготовиться.
  • Возьмите домашнее задание (иногда). Некоторые компании могут попросить вас выполнить задание через пару дней. У меня был опыт на этом этапе в качестве интервьюера, который просматривал задания кандидатов, могу вам сказать, что я всегда был очень резок, потому что у меня было много времени, чтобы посмотреть код 😂. Поэтому, пожалуйста, старайтесь красиво кодировать и тестировать надлежащим образом. Небольшие инвестиции в дизайн UI/UX были бы потрясающими. Некоторые люди могут подумать об обмане на этом этапе. Не! Вы можете оказаться очень смущенным позже на собеседовании на месте.
  • Интервью на месте. Независимо от того, сколько интервью я провел, я очень нервничал и устал на этом этапе. Вы просто не можете скрыть недостаток знаний после множества интервью один на один (2) в течение всего дня. Вы лучше разбираетесь в том, на что претендуете, иначе это может подорвать вашу уверенность в себе позже.
  • Предложение переговоров: здорово наконец-то добраться сюда, вы почти у цели, не облажайтесь 😅. Постарайтесь найти баланс между тем, что вы знаете о рынке, рабочей среде, статусе проекта, развитии карьеры и компенсационном пакете.

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

Лучшие практики

  • Стать профессиональным кандидатом. Звучит как клише, но никогда не повредит, если это так. Новые выпускники могут не знать, как это сделать. Опытные инженеры иногда бывают высокомерны и ведут себя как 🤬.
  • Существует непрофессиональный интервьюер. Не многие компании проводят семинары для обучения своих сотрудников проведению профессионального собеседования. Инженеров-программистов часто просят провести технические собеседования, не имея четкого представления о том, что на самом деле ищет компания. Вы можете столкнуться с некоторыми интервьюерами, которые очень техничны, ищут кого-то похожего на тему, задают личные вопросы, унижают кандидатов и т. д.
  • Достаточно хорошо, значит достаточно хорошо. Я могу гарантировать, что вы никогда не сможете охватить все технологии, необходимые для ваших предстоящих технических интервью. Чем больше вы узнаете, тем больше вы знаете, что вы не знаете! Лучше установить крайний срок и идти к нему.
  • Проявите терпение при приеме на работу. Разовые собеседования в наши дни редкость, если только вы не исключительны и не приглашены на работу в компании. Большинству из нас предстоит пройти очень долгое и изнурительное собеседование, которое может оказаться напрасным, если мы пропустим хотя бы один шаг. Особенно это касается небольших непрестижных компаний, когда мы постоянно задаемся вопросом, окупятся ли усилия или предложения в итоге разочаровывают.

Также важно отметить, что если не получилось с первого раза, это еще не конец пути.

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