Как получить место стажера в Facebook: личный опыт

0
751
views

Перевод статьи «I landed an internship at Facebook. Here are some tips I learned».

Как получить место стажера в крупной компании

Недавно, после прохождения собеседований в Google, Microsoft, Dropbox, Yelp и других компаниях, я принял предложение Facebook. Я немного поразмыслил над тем, что именно помогло мне выделиться на общем фоне. Вот несколько советов по каждой части процесса.

Как попасть на собеседование: составляем резюме

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

Исследования

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

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

Open Source

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

Личный сайт

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

Разработка личного сайта работает на ваш личный бренд и показывает, что у вас есть базовые знания фронтенда. Вы потратили время на изучение HTML и CSS, использовали какой-то фреймворк – это все является признаком вашего сильного интереса к сфере разработки.

Подготовка к собеседованию

Итак, вы получили email от рекрутера. Что дальше? Время готовиться к собеседованию!

Собеседования на место стажера обычно проходят в два этапа и делятся на «поведенческие» и технические.

Подготовка к поведенческому собеседованию

Подготовьте краткий (на 1-2 минуты) спич о себе. Что вы делали прошлым летом? Какие курсы из пройденных вами вам особенно понравились? Над какими классными проектами вы работали в последнее время? Обязательно упомяните исследования и опыт в open source.

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

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

Найдите и обсудите вещи, которые продемонстрируют, что вы потратили время на поиск информации о компании. Занимаясь поиском, ведите записи, чтобы позже (перед собеседованием) можно было освежить в памяти нужные моменты. Каждая мелочь может выделить вас на фоне остальных 20 кандидатов.

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

Подготовка к техническому собеседованию

Вам пригодится белая доска

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

  • Белая доска. Часто на собеседовании вас могут попросить записать свой код на белой доске или в чем-то вроде Google doc, где не будет никакой компиляции. Таким образом, вы и знать не будете, не допустили ли какую-нибудь синтаксическую ошибку. Старайтесь при подготовке к собеседованию писать код на белой доске. Это очень отличается от написания кода в обычной среде разработки. Также белую доску можно использовать для набросков и визуализации ваших идей.
  • Книга «Cracking the Coding Interview» (автор – Г. Лакман Макдауэлл). В этой книге вы найдете обзор большинства тем, встречающихся на собеседованиях, и подборку задач, отсортированных по уровню сложности. Я купил книгу в бумажном варианте. Так я смог подчеркивать нужное, делать заметки и рисовать диаграммы рядом с вопросами. В книге кратко рассматриваются такие темы как структуры данных, сортировка, динамическое программирование – это позволяет освежить их в памяти. В ходе собеседований мне несколько раз попадались вопросы, взятые именно из этой книги. Это, пожалуй, лучший ресурс для подготовки.
  • LeetCode. На LeetCode вы также найдете вопросы, отсортированные по степени сложности, на которых можно попрактиковаться. Но помимо этого там есть онлайн-среда для ввода, компиляции и запуска кода. Это хороший способ проверить, запускается ли ваш код, а также хорошая платформа для практики в отладке. (Примечание: способность быстро понять, где в коде баг, это ключ к успеху. Это очень поможет вам в ходе настоящего собеседования). По каждому вопросу на LeetCode также есть форум для обсуждений. Там вы можете найти другие подходы к решению, а это весьма полезно.
  • HackerRank. Многие компании используют HackerRank как источник задач, и HackerRank составил Interview Preparation Kit для помощи в подготовке к собеседованиям. В этом наборе рассматриваются практически те же темы, что и в «Cracking the Coding Interview», но HackerRank предоставляет платформу для применения изучаемых концепций при физическом написании кода. Благодаря этому вы освоитесь в онлайн-среде для программирования, которая очень похожа на использующиеся в ходе настоящих собеседований.

Собеседование

И вот наступил важный момент. Поведенческая часть собеседования пройдена, вы переходите к технической части.

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

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

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

Удачи!

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

ОСТАВЬТЕ ОТВЕТ

Please enter your comment!
Please enter your name here