Семь ошибок, которых следует избегать на технических собеседованиях
Опубликовано: 2022-03-10Я провалил много технических интервью. Проходил год за годом, и я медленно прогрессировал в своих технических навыках проведения собеседований. Только когда я получил предложение о работе своей мечты от Spotify и прошел технические собеседования в Google, я понял, как многому я научился за предыдущие годы. Наконец-то моя учеба окупилась! Примерно в то же время многие разработчики начали терять работу из-за COVID.
«Если у меня возникают трудности с прохождением собеседований по структурам данных и алгоритмам со степенью в области компьютерных наук, — подумал я, — я не могу себе представить, насколько эти концепции должны быть сложными для разработчиков-самоучек». Поэтому в прошлом году я поставил перед собой задачу сделать структуры данных и алгоритмы доступными для всех .
Мне было невероятно сложно найти один ресурс, где можно было бы узнать все о процессе технического собеседования. От телефонного звонка рекрутера до собеседования по проектированию систем и обсуждения предложения о работе — не было всеобъемлющего ресурса для технических собеседований , поэтому я решил создать его.
Примечание об удаленных интервью
Из-за глобальной пандемии многие компании полностью перешли на удаленку. Это здорово, поскольку позволяет кандидатам со всего мира подавать заявки, но это может быть пугающим для кандидатов, у которых практически нет опыта прохождения онлайн-собеседований.
Вот несколько советов для ваших виртуальных интервью.
- Прибывать рано.
Нет ничего более вызывающего панику, чем присоединиться к онлайн-встрече и понять, что вам нужно загрузить полный пакет драйверов для запуска программы. Я рекомендую заранее создать учетную запись в приложении для собраний и провести пробную встречу с другом, чтобы убедиться, что у вас есть доступ к приложению и вы чувствуете себя комфортно, используя онлайн-элементы управления. - Используйте наушники.
Я всегда рекомендую использовать наушники для удаленных технических интервью. Они помогут уменьшить фоновый шум и гарантируют, что вы четко слышите инструкторов. - Зарядите компьютер.
Инструменты для удаленных собраний могут быстро разрядить аккумулятор вашего компьютера, особенно если вы программируете в реальном времени. Чтобы избежать этого, держите компьютер подключенным к сети на протяжении всего интервью, если это возможно. - Проверьте свою камеру.
В то время как удаленные интервью позволяют нам находиться в безопасной и знакомой обстановке, мы часто можем забыть удалить неприятные элементы с фона нашего видеокадра. Я всегда предлагаю провести тестовую встречу, чтобы проверить ваш видеокадр и удалить грязное белье с фона. Вы также можете использовать виртуальный фон для удаленного интервью, если ваш фон не идеален.
Процесс технического собеседования
Когда вы начинаете процесс технического собеседования с компанией, ваш рекрутер должен сообщить вам, что вы должны ожидать от процесса. Одна из причин, по которой технические собеседования вызывают такое беспокойство, — отсутствие стандартизации процесса . Техническое собеседование в одной компании может сильно отличаться от технического собеседования в другой компании. Но есть некоторые общие черты между техническими процессами интервью, к которым вы можете подготовиться.
Вот обобщенная версия процесса технического собеседования, которую вы, вероятно, увидите на своих следующих собеседованиях.
Телефонное интервью с рекрутером
Ваше первое собеседование будет телефонным интервью с рекрутером. Во время этого звонка вы обсудите работу, компанию и то, что вы можете ожидать от процесса собеседования. Не относитесь к этому собеседованию легкомысленно : все собеседования в процессе технического собеседования жизненно важны для получения вами предложения о работе. Если вам не нравится эта роль, рекрутер может не перевести вас на следующую фазу процесса.
Если вы подаете заявку на множество разных вакансий, я рекомендую вести электронную таблицу с ролями, компаниями, информацией о рекрутере и любой соответствующей информацией. Вы должны вернуться к своим заметкам до телефонного интервью с рекрутером, чтобы убедиться, что вы хорошо информированы и произвели хорошее впечатление.
Технический скрининг
Если телефонное собеседование рекрутера пройдет хорошо, вы, скорее всего, перейдете к техническому отборочному собеседованию. Это собеседование может быть асинхронным, когда вы не взаимодействуете с человеком, проводящим собеседование, а вместо этого выполняете задачу кодирования на платформе с ограничением по времени, или у вас может быть живой интервьюер.
Компании обычно проводят технические проверки, чтобы убедиться, что кандидат обладает базовыми техническими знаниями , необходимыми для успешной работы. Полное собеседование с каждым кандидатом может быть дорогостоящим, поэтому технический отбор — это способ сократить количество кандидатов.
Вы будете программировать на этом собеседовании, поэтому важно чувствовать себя уверенно в своем основном языке программирования.
Возьми домой проект
Некоторым компаниям вместо задачи по кодированию или в дополнение к задаче по кодированию требуется проект кодирования на дом (опять же, все процессы разные, поэтому проконсультируйтесь со своим рекрутером, чтобы узнать подробности).
Проекты по программированию — это противоречивая тема: некоторым кандидатам они нравятся, а другим кандидаты считают их несправедливыми. С одной стороны, проекты по кодированию позволяют вам продемонстрировать свои навыки в более естественной среде, используя любимые инструменты. С другой стороны, эти проекты могут стать для компании способом получить бесплатную (часто неоплачиваемую) рабочую силу.
Многие кандидаты с семьями, несколькими работами или другими трудоемкими обязательствами, скорее всего, не имеют времени, необходимого для выполнения домашнего проекта кодирования, что может привести к несправедливому преимуществу для кандидатов без таких же обязанностей.
Если вам поручили взять на дом проект и у вас нет времени, необходимого для его выполнения, вы можете спросить рекрутера, есть ли альтернатива. Возможно, также стоит спросить, получите ли вы компенсацию за время, потраченное на это интервью (некоторые компании будут платить вам, хотя все должны).
Интервью на месте
Этап собеседования «на месте», вероятно, является последним этапом перед тем, как в конечном итоге получить предложение о работе или отказ. Раньше многие компании привозили кандидатов в свои офисы на целый день собеседований, но из-за пандемии эти собеседования проводятся виртуально.
Многие кандидаты считают собеседования на месте самыми напряженными, так как для их завершения вам нужно взять отпуск от вашей текущей должности. Скорее всего, у вас будет три или четыре собеседования (обычно на полдня), состоящие из собеседования по процессу/ценностям/сотрудничеству (как вы сотрудничаете со своей командой, как вы разрешаете конфликты) и интервью по программированию.
Собеседования на месте вызывают стресс, поэтому не забывайте делать перерывы и расслабляться перед каждым собеседованием.
Примечания к процессу интервью
Технический процесс собеседования интенсивен и может оставить вас выгоревшим. Убедитесь, что вы находите время, чтобы расслабиться после каждого интервью и подумать о том, как оно прошло. Были ли интервью, с которыми вы боролись больше, чем с другими? Если да, сосредоточьтесь на этих областях для вашего следующего собеседования; некоторые рекрутеры даже предоставят вам обратную связь от интервьюера, чтобы вы могли сосредоточиться на учебе.
Вам также следует подумать о том, что вы чувствовали во время собеседования. Интервьюеры заставляли вас чувствовать себя в безопасности и комфортно? Была ли это рабочая среда, в которой вы могли бы преуспеть? Помните, что технические собеседования — это улица с двусторонним движением.
Теперь, когда мы подробно описали процесс технического собеседования, давайте рассмотрим семь ошибок, которые обычно допускают кандидаты, и советы, как их избежать.
Ошибка № 1: неэффективное общение
Предполагается, что технические собеседования измеряют ваши способности к общению и решению проблем, а не то, достигли ли вы оптимального рабочего решения задачи кодирования. Решение проблем связано с общением, но знаете ли вы, что в каждой культуре есть свое определение того, что значит быть «хорошим коммуникатором»?
Существует два различных типа общения:
- Низкий контекст
Очень явно, избыточно и прямо в точку. Сообщения формулируются четко и должны интерпретироваться буквально. - Высококонтекстный
Более двусмысленный, когда ожидается, что слушатели будут читать между строк (или читать в эфире) и интерпретировать скрытое сообщение.
Во время технического собеседования крайне важно практиковать низкоконтекстное общение, независимо от того, как вы привыкли общаться. Если вам нужно время подумать, скажите об этом своему интервьюеру. Если вам нужна помощь, попросите ее!
Часто кандидаты не переходят к следующему этапу собеседования, потому что им не удалось эффективно общаться. Если вы относитесь к собеседованию как к беседе, а не как к экзамену, вы, скорее всего, будете общаться эффективно.
Ошибка № 2: Не признаваться, когда не знаешь ответа
Если вы не знаете ответа на что-то, признайтесь в этом! Интервьюеры ценят, когда кандидат самосознателен и достаточно скромен, чтобы признать, что он не знает ответа на какой-то вопрос. Гораздо лучше признать, что вы чего-то не знаете, чем «БС» на своем пути.
Если вы не знаете, как ответить на вопрос, вы можете сказать: «Честно говоря, я не уверен. Если бы мне пришлось сделать обоснованное предположение, я бы сказал…» Люди не хотят работать со «всезнайками»; они хотят работать с реальными людьми , которые могут признать, что не знают ответа.
Ошибка № 3: зубрежка накануне собеседования
Давайте будем честными: мы все набились на интервью накануне вечером. Находить время для интервью утомительно, но реальность такова, что интервьюирование — это навык (к сожалению), и его нужно практиковать.
Хотя вам может казаться, что вы чему-то научились, когда зубрили в ночь перед собеседованием, это обучение непостоянно и поверхностно. Наш мозг кодирует информацию в кратковременную память только тогда, когда мы зубрим ее за ночь до собеседования. Это означает, что вся та информация, которую вы только что «узнали», быстро рассеется после собеседования. Таким образом, для вашей долговременной памяти лучше немного поучиться за несколько недель до собеседования, чем зубрить накануне вечером.
Кроме того, вы, скорее всего, выдумываете информацию, а не понимаете ее. Это станет очевидным очень быстро, если вы просто повторяете информацию, которую вы запомнили, а не работаете над решением.
Одной из стратегий эффективного обучения является использование переключения контекста в качестве инструмента. Хотя переключение контекста во время изучения нового навыка кажется неэффективным, на самом деле это самый эффективный инструмент обучения. Когда вы переключаете контекст во время обучения , нашему мозгу труднее вспоминать информацию, что в конечном итоге усиливает закодированную информацию и облегчает ее запоминание в долгосрочной перспективе.
Если вы хотите узнать больше об эффективных методах обучения, вот несколько ресурсов, которые мне помогли:
- «Атомные привычки», Джеймс Клир
- «Учимся учиться», курс Coursera
- «Сделай так, чтобы это закрепилось», Питер С. Браун, Генри Л. Редигер III, Марк А. Макдэниел.
Ошибка № 4: Запоминание кода для алгоритмов и структур данных
Кандидатам часто кажется, что они должны запоминать код для алгоритмов и структур данных, но реальность такова, что вам, скорее всего, не придется кодировать эти вещи с нуля. Повторять код — бесполезный навык, и ваш интервьюер может сказать, что вы просто запомнили решение. Вместо этого вы должны стремиться понять процесс того, что вы делаете.
Кроме того, вам не нужно изучать каждый из когда-либо изобретенных алгоритмов сортировки и поиска. Вместо этого вы можете определить оптимальное решение для различных структур данных и изучить концепции, лежащие в его основе. Например, если вас попросили отсортировать массив целых чисел, вы, возможно, знаете, что алгоритм «разделяй и властвуй», такой как сортировка слиянием или быстрая сортировка, является отличным решением. Если вы понимаете концепцию работы алгоритма или структуры данных, вы можете построить решение.
Наконец, большинство собеседований по кодированию будет проводиться на основном языке программирования (даже если компания ищет разработчика React/Vue.js): вас, скорее всего, не попросят кодировать с использованием фреймворка или библиотеки, поэтому убедитесь, что вы уверен в своих базовых знаниях в области программирования.
Ошибка № 5: Игнорирование интервью «культурного соответствия»
Все интервью на протяжении всего процесса технического собеседования важны, однако, похоже, основное внимание уделяется структурам данных и алгоритмам. И хотя структуры данных и алгоритмы являются важной областью для изучения, вы должны уделить другим интервью в процессе такое же внимание: не отдавайте предпочтение структурам данных и алгоритмам над другими «более простыми» интервью, такими как «сотрудничество и процесс».
Интервью «в соответствии с культурой» предназначено для того, чтобы понять, как вы сотрудничаете и справляетесь с конфликтами в команде. Скорее всего, вы получите такие вопросы, как:
«Расскажите мне о случае, когда проект, над которым вы работали, провалился. Почему это не удалось и как вы продвигались вперед?»
или
«Расскажите мне о случае, когда у вас был конфликт с членом команды. Как вы это решили?»
Запишите свои ответы на эти вопросы и потренируйтесь отвечать на них вслух. Вы не хотите, чтобы это звучало отрепетировано, но вы хотите быть краткими и не бессвязными. Сократите свой ответ до нескольких предложений. Кроме того, важен зрительный контакт и язык тела.
Постарайтесь не ерзать и сосредоточьтесь на зрительном контакте с интервьюером!
Ошибка № 6: начинать с оптимизированного решения
Если вы не уверены на 110 % в наиболее оптимизированном решении задачи кодирования, вам не нужно начинать с наиболее оптимизированного решения. Кандидаты часто думают, что им нужно начинать с оптимального решения, и это сбивает их с толку. Они застревают и не могут двигаться вперед. Вместо этого начните с неоптимального решения и скажите:
«Я знаю, что это не самое производительное решение, но я хотел бы получить работающее решение и реорганизовать его для повышения производительности позже во время интервью».
Ваш интервьюер оценит вашу честность и отношение к работе. Вы также сможете быстрее добиться прогресса, а на собеседовании небольшие победы могут оказать огромное влияние на вашу уверенность в себе и общую производительность.
Ошибка № 7: Игнорирование основ программирования
Кандидаты на роль фронтенд-разработчика пренебрегают своими навыками HTML и CSS, чтобы отдать предпочтение JavaScript, но все больше собеседований проверяют знание базовых навыков программирования, поэтому не пренебрегайте ими.
Мы часто забываем об основах и переходим к фреймворку и библиотекам более профессионального уровня, но это может помешать нашей работе на собеседовании. Интервью проводятся на основных языках (т.е. на JavaScript, а не на React/Vue.js), так что не пренебрегайте основами.
Заключение
Всех беспокоит технический процесс собеседования, но, помня об этих семи ошибках, вы можете повысить свои шансы на получение предложения о работе.
Как только вы получите предложение о работе, вы можете решить, хотите ли вы вести переговоры. Есть много вещей, о которых вы можете договориться : оплачиваемый отпуск: рабочее время, капитал, подписной бонус, должность и зарплата — это лишь некоторые из них.
При обсуждении предложения о работе важно провести исследование. Сколько человек в этой роли (и в этом географическом положении) зарабатывает в год? Вы можете использовать Glassdoor для исследования рынка.
Вы также должны понимать, что у рекрутера есть ограничения, и он не сможет предложить вам более высокую зарплату. Вместо этого вы можете попросить подписной бонус или акции, но будьте готовы к тому, что они скажут, что не могут увеличить ваше предложение.
Вы должны сосредоточиться на том, «почему» вы должны получать дополнительную зарплату или льготы; что вы приносите к столу , что кто-то другой не будет?
Наконец, не ставьте рекрутеру ультиматум, т.е. «Если вы не дадите мне эту зарплату, я уйду». Вместо этого сосредоточьтесь на том факте, что вы хотите присоединиться к команде, но вам нужно улучшить/изменить предложение, чтобы принять его.
Вот пример электронного письма, которое вы можете использовать, чтобы попросить повысить базовую зарплату:
«Большое спасибо за предложение. Я искренне взволнован и с нетерпением жду возможности присоединиться к команде. Прежде чем я приму предложение, я хотел бы обсудить базовый оклад. Я являюсь активным членом технического сообщества и провожу многочисленные онлайн-курсы на обучающих платформах X. Я знаю, что мои обширные знания Y принесут большую пользу команде. Поэтому я ищу базовую зарплату в диапазоне от A до B. Пожалуйста, дайте мне знать, если мы сможем это сделать, и я сразу же подпишу предложение!»
Если вы не получили предложение о работе, не волнуйтесь! Почти каждому в тот или иной момент отказывают в приеме на работу; ты не один! Потратьте некоторое время, чтобы обдумать свои интервью и определить, что вы можете улучшить для следующего раунда интервью.
Если вы хотите узнать больше о структурах данных, алгоритмах, проектах кодирования, интервью о соответствии культуре, собеседовании по проектированию систем и многом другом, ознакомьтесь с моей новой книгой «De-Coding The Technical Interview Process». Эта книга была моей страстью в прошлом году и помогла многим разработчикам получить предложение о работе (включая меня)!
Будьте терпеливы к себе. Ты можешь это сделать!
Дальнейшее чтение на SmashingMag:
- Создание собственной учебной программы
- Улучшение коммуникации вашей команды в эпоху удаленной работы
- Улучшенная документация и командная коммуникация с документами по дизайну продукта
- Как заставить удаленную работу работать: полезные инструменты и ресурсы