Канал Nuances of programming опубликовал перевод статьи Pramp: «9 Tips to ‘Slay’ Your Technical Interviews and Land Your Dream Job«.
Технические интервью трудны.
Разумеется, если вы отличный программист, вам нужно уметь подать себя на интервью в ведущих компаниях как первоклассного специалиста. Способность быстро думать, решать задачи, доносить свои мысли и демонстрировать социальные компетенции ‑ все это необходимо для поиска работы вашей мечты.
Но даже при правильной подготовке интервью — это серьезный барьер на пути к цели. Мы расскажем, как успешно преодолеть все препятствия. Вам нужно просто следовать указанным далее шагам.
#1: Разработка плана
Изучение программирования требует сообразительности, целеустремленности и в чем-то схоже с научными исследованиями. Поэтому поверьте, с таким интеллектуальным багажом вы уж точно сможете устроиться работу своей мечты.
Определите, каковы ваши навыки, как они смогут пригодиться для той работы, которой вы хотите заниматься, и составьте план достижения цели. Время слишком дорого, чтобы тратить его без необходимости на изучение того, что вам может и не понадобится: этот разработчик при подготовке к интервью изучил много всего и создал уйму отличного контента (посмотрите его на Github).
Если вы не знаете, с чего начать, то начните с вопросов …
#2: Освежите знания в Computer Science & программировании
Независимо от того, на какую позицию вы претендуете, ваше интервью, скорее всего, затронет общие концепции Computer Science, такие как структуры данных и алгоритмы. Даже если вы все это уже давно изучили, из-за волнения во время интервью можно легко забыть о тех вещах, про которые вы давно ничего не читали. Используйте все что угодно, чтобы вспомнить и освежить свои знания перед собеседованием, так чтобы не осталось ни единого шанса при столкновении с вопросом, на который вы отлично знаете ответ, растеряться и не суметь продемонстрировать блестящих знаний.
- Книги – второе (или первое) издание книги из серии Cracking the Coding Interview: Programming Interviews Exposed: Secrets to Landing your Next Job, не только не повредят, а наоборот — значительно повысят шансы на успех.
- Онлайн-руководства – собеседование уже на следующей неделе? В этом случае сосредоточьтесь на более коротком контенте, таком как бесплатные видеоуроки, и обзоры, подобные cs-basicamentals (базовые концепции Computer Science).
- Онлайн-курсы. Если есть еще несколько недель, онлайн-курсы, подобные этому, хороший способ самоподготовки и изучения той области, в которой вы не слишком хорошо разбираетесь. Ищите курсы с реально задаваемыми на собеседовании вопросами, которые позволят практиковать свои навыки в рамках курса.
#3: Практикуйтесь в написании кода … часто и много
Задачи по программированию будут основой собеседования, поэтому найдите как можно больше готовых решений для выбранного языка программирования. Любой ресурс, который предлагающий обратную связь, станет крайне полезным.
Практикуйтесь в быстром написании кода с чистого листа, и, как это не странно, сразу же ознакомьтесь с готовыми известными решениями, когда запишите свое. Вы можете найти кого-то, кто будет придумывать для вас задачи, таким образом вам будет комфортнее искать решение вместе с другими. Если вам не хватает друзей-добровольцев-кодеров, используйте бесплатные онлайн-интервью с практическими занятиями, где вы можете практиковаться в ответах на вопросы на собеседовании с теми, кто уже имеет схожий опыт, образование и цели в поиске работы.
Вот отличный пример типового собеседования в Google, где четко показаны дискуссия между кандидатом на вакансию и нанимателем.
#4: Развивайте социальные компетенции
Технические знания помогут пройти собеседование, но именно социальные компетенции будут способствовать дальнейшей карьере. Такие навыки как коммуникабельность, критическое мышление, а в некоторых случаях лидерство – это то, что нужно в дополнение к программистским навыкам, чтобы получить как желаемую работу, так и карьерный рост в дальнейшем.
Вы можете получить практические советы на таких подкастах, как Социальные Навыки Инженера, где вас научат, как вести переговоры о повышении зарплаты, умению работать в команде, конечно же, более грамотно общаться. Это еще одна область, где практика позволяет достичь совершенства. Чем чаще вы практикуете свои социальные навыки, тем комфортнее будете себя чувствовать в реальной ситуации.
#5: Будьте готовы ответить на любой вопрос
Чем больше количество вопросов вы готовы ответить, тем лучше. Начните с практики ответа на общетехнические вопросы собеседования. Так вы будете знать, что ответить, и будут чувствовать себя более спокойно, когда эти вопросы возникнут во время собеседования.
На интервью будут интересоваться результатами ваших проектов, поэтому вы должны четко сформулировать не только свои успехи и достижения, но и рассказать о неудачах и том, какие уроки извлекли. Что касается примеров кода, не забудьте вспомнить фрагменты кода, который вы написали и которым гордитесь.
Если вы чего-то не знаете, покажите, что у вас есть стратегия как это быстро выяснить. Работодатели не ищут совершенства. Работодатели чаще всего хотят, чтобы будущий сотрудник был достаточно изобретателен, чтобы найти решение, даже если он не знает его заранее. И постарайтесь заранее изучить сложные темы, такие как динамическое программирование.
#6: Демонстрируйте заинтересованность — изучите корпоративную культуру
Как сказал Шон Кили, инженер-программист Oath, работа это больше, чем просто кодирование. Сможете ли вы ладить с коллегами? Сможете ли вписаться в корпоративную культуру? Это важные показатели того, насколько хорошо вам будете работать в компании.
Знание культуры компании – лучший способ продемонстрировать на собеседовании, что вы подходите для этой работы. На Facebook рекомендуется ознакомиться с 5 ключевыми показателями оценки поведения на собеседовании (это не помешает знать уже на первом интервью). Если вы помните имена людей, с которыми будете работать, не бойтесь ссылаться на них в своих ответах. «В этом случае я попросил бы [имя члена группы] просмотреть мой код». Аналогичным образом, если вы знаете технологии, которые использует компания, не бойтесь показать эти знания в своих ответах.
Это не сделает вас похожим на задрота, наоборот, — это продемонстрирует, что вы отлично выполнили домашнее задание и понимаете, как все устроено. Демонстрируя способность вписаться в культуру вашему собеседнику будет легче представить вас в составе коллектива.
#7: Сохраняйте спокойствие во время собеседования
Спокойствие во время интервью, характеризует вас и как личность, и как будущего сотрудника. Старайтесь остаться спокойным или, по крайней мере, выглядеть естественно. Помимо того, что это свидетельствует о хорошей подготовке, спокойствие также помогает сохранить находчивость и сообразительность в ответах на вопросы по программированию.
Обязательно задавайте вопросы, когда это необходимо, что продемонстрирует собеседнику ваше отношение к ситуации. И, конечно же, избегайте 8 главных ошибок, которые люди обычно совершают, проходя собеседование на проверку технических знаний.
#8: Превращайте ошибки в уроки
Собеседования не заканчивается после того, как вы покинули офис менеджера по персоналу. Анализ результатов собеседования – это самый важный момент рассмотрения того, что произошло, что вас подвело и как устранить слабые места. Как только вы закончили собеседование, отметьте следующие моменты:
- Какие вопросы вам были заданы?
- Какие из них вызвали трудности и почему?
- Насколько хорошо вы общались, и что можно улучшить?
- В чем вы оказались действительно хороши? 🙂
Это как раз тот момент, когда практика становится вашим лучшим инструментом для импровизации. Дайте понять вашему собеседнику, над какими навыками вы хотите поработать, и как вы сможете помочь друг другу повысить качество беседы.
А если считаете, что неудача – это плохо, возьмите себе на вооружение совет Уилла Смита.
#9: Упорно добивайтесь цели
Всегда отправляйте подтверждающее электронное письмо в течение 24 часов после собеседования. Цель этого действия состоит в том, чтобы поблагодарить интервьюеров за их время и кратко напомнить работодателю, почему именно вы подходите для работы в компании.
Если по прошествии нескольких недель ответа нет, скорее всего, работодатель предпочел другого кандидата. В любом случае вы можете поддерживать контакт с менеджером по найму на тот случай, если компания в будущем будет готова вас нанять. Заранее ведь никогда не знаешь, когда появятся новые вакансии, и, возможно, к тому моменту вы приобретете новые навыки и опыт, которые помогут устроиться в эту компанию.
Техническое собеседование может заставить вас изрядно понервничать, но ключом к успеху всегда является хорошая подготовка. Создайте план, оставайтесь позитивным и учитесь на каждой ошибке.
Лучший способ чувствовать себя комфортно во время собеседования – как можно лучше подготовиться заранее. Открытые ресурсы, такие как, например, Pramp, позволяют вам потренироваться вместе с коллегами, чтобы выявить возможные ошибки заранее. На подобных ресурсах вы всегда найдете людей с похожим опытом и карьерными целями и сможете помочь друг другу совершенствоваться и развиваться, чтобы получить ту работу, которую каждый из вас действительно заслуживает.
[customscript]techrocks_custom_after_post_html[/customscript]
[customscript]techrocks_custom_script[/customscript]