Как вы преодолеваете волнение перед собеседованием при написании кода?

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

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

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

Я бы предположил, что почти у всех будет нервозность и беспокойство в ситуации интервью.
Иногда я пытаюсь сказать себе. «Интервьюеры нервничают не меньше меня»
Если вы скажете себе, что собеседование при приеме на работу «важно для вашей жизни», вы будете беспокоиться о результате. Если вы сможете найти способ относиться к собеседованию как к игре (не столь важной, но приятной для победы), вы сможете снять большую часть беспокойства. Ни одно отдельное собеседование при приеме на работу не является настолько важным, попробуйте пойти на какое-нибудь просто для того, чтобы отточить свои навыки.
Если о рюмке текилы не может быть и речи, я полагаю, вы можете попробовать это: studygs.net/tstprp8.htm
Наверное, не такая уж и плохая идея ;)

Ответы (6)

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

+1: Вся психология в мире не поможет, если вы просто не будете продолжать практиковаться и привыкать к ней.
@SnOrfus Есть много случаев, когда опытные люди провалили собеседование, потому что слишком нервничали. Некоторые из них даже обсуждаются в тех книгах, о которых говорил Чарльз (см. Cracking the Coding Interview). Если вы знаете, что это проблема для вас, это определенно то, на что стоит обратить внимание, как и в случае с ОП.
@SnOrfus, но понимание этого факта - психология; P
Я бы добавил, что отличным местом для практики являются встречи групп пользователей. Даже если вы не чувствуете себя достаточно уверенно, чтобы «жить код» перед аудиторией из 20 человек, простое объяснение кода должно быть началом. Затем работайте над живым кодом. Если вы можете сделать это перед 20 людьми, вы должны быть в состоянии сделать это перед 2-3 людьми, которым вы нравитесь достаточно хорошо, чтобы потратить час или больше на интервью.
+1 Вы можете начать практиковаться, думая вслух или объясняя код своим коллегам. Если вы еще учитесь в школе, с другим однокурсником.

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

Интервьюеры хотят задавать сложные вопросы

  1. Он показывает, насколько хорошо вы работаете в условиях давления и ограничений по времени.
  2. Это показывает вашу способность ломать вещи и не сдаваться, даже если проблемы кажутся трудными.
  3. Если вы потерпите неудачу, это может немного снизить вашу уверенность по сравнению с тем, когда вы поступили, и вы можете попросить более низкую зарплату.
  4. Им нужен шанс быть взволнованными чьими-то удивительными способностями. Они не получат этого, задавая вопросы, большинство людей, вероятно, уже знают, как на них ответить.

Важные вещи, которые нужно помнить

  1. Интервьюер и вы знаете, что в конечном итоге вы можете там работать. Покажите им свои хорошие стороны. Будьте уверены. Если вы когда-нибудь поработаете там, вы, возможно, станете друзьями, и было бы гораздо лучше не начинать с приступа паники. Так что успокойтесь, делайте все возможное, и пусть они решают, хотят ли они вас видеть.
  2. Люди разные, и воспринимают вещи по-разному, в разное время и в разное время. Если вы не очень хорошо справились со своим собеседованием, не делайте сразу вывод, что вы не годитесь. Вы сделаете хорошо то, к чему достаточно хорошо подготовились. Все остальное - вопрос удачи.
  3. Интервьюеры не хотят терять время; они хотят вернуться к работе. В моем последнем интервью мне задали вопрос, и, поскольку было несколько способов ответить на него, и я, кажется, уже выбрал один, я объяснил, что в реальных жизненных ситуациях я мог бы рассмотреть несколько альтернатив и занять время, чтобы подумайте о них, но, ради экономии времени в этот конкретный момент, не мог бы он сказать мне, правильно ли я выбрал способ думать о проблеме. Ответ оказался положительным, но я не думаю, что было бы плохое впечатление, если бы он был отрицательным.

Чтобы ответить на ваш последний вопрос

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

Кроме того, большинство работодателей ожидают, что люди будут нервничать. В одном месте, где я работал, был «кодовый день» (или, для серверных/ИТ-специалистов, «перчатка»). В конечном счете, код не имел большого значения (пока он не был жестоким), имело значение то, как потенциальный клиент справился со стрессом и поставленной перед ним задачей. Кроме того, они хотят знать, как вы решаете проблему.

Несколько мыслей, которые могут быть полезны.

  1. Собеседование при приеме на работу — неестественная ситуация, и подавляющее большинство кандидатов нервничает. Интервьюеры обычно знают об этом; обычно легко сказать, когда кандидат нервничает, и лучшие из них примут это во внимание.
  2. Собеседование при приеме на работу является двусторонним. Основная цель теста по программированию — проверить, действительно ли вы умеете программировать, но сам факт того, что вам его дают, а также то, что он тестирует и как, многое говорит вам о компании. Они оценивают вас, но и вы оцениваете их. Это также означает, что если вы подозреваете, что это одна из тех компаний, которые намеренно оказывают сильное давление на кандидатов во время собеседования, это может указывать на корпоративную культуру, которая считает стрессовую рабочую среду нормальной.
  3. Более половины людей, которые претендуют на обычную работу программиста, вообще не умеют программировать . Если сможете, вы уже опередите половину других кандидатов, даже если едва сдадите тест по программированию.
  4. В некоторых тестах по программированию есть вопросы от новичка до уровня гуру; никто не должен набирать 100% на них. Правильные 20 % все еще могут сделать вас работой.
  5. Ваша жизнь никогда не зависит от одного интервью. По крайней мере, не в этой профессии — слишком много мест, где нужно написать программное обеспечение, и слишком мало хороших программистов, чтобы его написать.
  6. Адреналин — это палка о двух концах. Попробуйте и посмотрите, сможете ли вы найти способ использовать это в своих интересах.
  7. Ходите на собеседования, пока вам не нужна работа, просто чтобы набраться опыта. И кто знает, может быть, вы получите звездное предложение намного лучше, чем ваша нынешняя работа.

Собеседование — это только часть процесса найма, а программирование во время собеседования — только часть собеседования.

Если это ваша слабая часть, убедитесь, что:

  1. Ваш профиль достаточно солидный.

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

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

  2. Вы можете легко говорить о себе во время собеседования, вне фазы кодирования.

    Навыки кодирования имеют решающее значение, но общение еще важнее для разработчика . Если вы можете не только показать, что умеете писать код (см. пункт 1 выше), но и можете четко рассказать о себе , описав свою карьеру, свои сильные стороны и т. д., для компании было бы странно не нанять вас, если ваши навыки соответствуют ожиданиям.

  3. Быть ясным. Сообщите интервьюеру, что вы не можете справиться со стрессом на этапе кодирования интервью , но вы были в состоянии правильно справляться со стрессовыми ситуациями во время вашей предыдущей работы (убедитесь, что любой сотрудник компании, в которой вы работали ранее, может подтвердить это, если нужный).

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

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

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

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

Другая причина, по которой люди нервничают, заключается в том, что они не знают, как реагировать, когда застревают. Главное думать вслух и задавать вопросы. Сделайте интервью улицей с двусторонним движением. Не стойте и не крутите колеса, пока не доведете себя до безумия. Укажите, что вы помните и чего не помните, и попросите разъяснений, как если бы вы делали это на работе.

Задать глупый вопрос, чтобы вывести себя из тупика, лучше, чем дать глупый ответ, потому что вы не просили о помощи. Однажды я договорился о собеседовании в последнюю минуту, когда оказался в штате. Эта компания использовала C++, который я никогда не использовал профессионально, и у меня не было времени ознакомиться с ним перед собеседованием. Я им об этом сказал, но они все равно задавали мне вопросы по C++. На самом деле мне пришлось спросить, class Class1 : public Class2какой класс был базовым, а какой производным.

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

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

Две мысли по этому поводу:

  1. Если вас пригласили на собеседование, ваши шансы получить работу выше, чем выиграть в лотерею. Боитесь не выиграть джекпот?
  2. Вас просят продемонстрировать то, что вам нравится (программирование). Вы обычно боитесь, когда кодируете?

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

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