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

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

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

10-skills-programmer-interview

1. Составьте себе очень профессиональное резюме

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

2. Изучите интервьюера

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

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

Как вы думаете, кого бы я порекомендовал?

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

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

Информация в современном обществе настолько развита, что мы можем легко найти сведения о любом человеке в Facebook, Twitter, Weibo и блогах. Даже просто беглый просмотр принесёт вам огромную пользу.

3. Получите внутреннюю рекомендацию

Знаете, какой самый простой способ найти работу? Получить внутреннюю рекомендацию.

Это не только повышает ваши шансы получить собеседование, но и увеличивает вероятность трудоустройства на 40%.

Некоторое время назад я нашёл компанию, которая мне понравилась. И сразу отправил туда резюме? Нет-нет, угадайте, что я сделал?

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

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

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

Но есть секрет: сначала вам нужно создать свою собственную «визитную карточку» в интернете — дать другим шанс узнать вас — так что сделайте это сейчас.

4. Научитесь решать алгоритмические задачи

Это важный навык, которым должен обладать каждый разработчик, и овладеть им не так уж сложно.

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

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

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

Как только вы обретете уверенность в этой области, вы больше никогда не будете нервничать.

5. Отвечайте на вопросы с энтузиазмом

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

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

6. Остерегайтесь «вопросов-ловушек»

Почему вы хотите сменить работу?

Расскажите о своих главных сильных и слабых сторонах.

Как вы в прошлый раз разрешили техническое разногласие с коллегой?

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

Давайте начнем с первого вопроса: «Почему вы хотите сменить работу?»

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

7. Никогда не врите

Самое худшее — лгать на собеседовании.

Если знаете — знаете; если не знаете — не знаете. Если вы действительно не знаете, никогда не умничайте и не выдумывайте ответ.

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

Честно говоря, большинство интервьюеров задают вопросы, ответы на которые они знают; в противном случае, если они позволят вам пройти, а вы при этом только притворялись компетентным, они будут выглядеть глупцами. Поэтому никогда не полагайтесь на удачу. Как только они обнаружат, что вы лжёте, интервьюер сразу же усомнится в вашей порядочности.

8. Не будьте слишком честны

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

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

Быть яркой личностью — хорошо, но выставлять напоказ недостатки характера — плохо.

Представьте, если вы скажете, что любите азартные игры или страдаете зависимостью от World of Warcraft; держу пари, интервьюер обязательно пересмотрит своё отношение к вам. Поэтому будьте осторожны, делясь информацией о себе, потому что это не только обнажает ваши недостатки, но и создаёт впечатление, что вам не хватает здравого смысла.

9. Освойте основы информатики

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

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

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

10. Об опыте

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

Это немного похоже на проблему курицы и яйца.

Так как же получить опыт?

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

Вот несколько советов для вас:

  • Участвуйте в проектах с открытым исходным кодом
  • Запустите проект с открытым исходным кодом
  • Создайте мобильное приложение и разместите его в App Store
  • Напишите небольшое веб-приложение
  • Участвуйте в обмене кодом и группах пользователей

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

Заключение

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

Источник: http://www.codeceo.com/article/10-skills-programmer-interview.html