Главная » Хабрахабр » [recovery mode] Мой опыт подготовки к трудоустройству в Google

[recovery mode] Мой опыт подготовки к трудоустройству в Google

От переводчика: сегодня публикуем для вас статью Праякты Татавадкар, она разработчик с небольшим стажем, но знания и опыт позволили ей получить работу в Google (со второй попытки), стать членом команды разработчиков YouTube.

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

Skillbox рекомендует: Прикладной онлайн-курс «Аналитик данных Python».

Напоминаем: для всех читателей «Хабра» — скидка 10 000 рублей при записи на любой курс Skillbox по промокоду «Хабр».

Сразу скажу, что в 2014-м я уже пыталась устроиться в Google, но с треском провалила собеседование. В течение нескольких лет я училась, работала, приобретала новый опыт и знания, которые и помогли мне получить оффер.

Мотивация

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

Подготовка помогла получить работу в Google, хотя мне и казалось, что вероятность была меньше 1%. Я поняла одну вещь: когда впереди замаячит новая возможность, я буду готовиться к предстоящим изменениям, не отвлекаясь на второстепенное. Но где-то в глубине своей души я была уверена, что попробовать стоит.

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

Выделяем этапы подготовки к собеседованию

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

Программирование

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

Пример: напишите код для вывода значений от 1 до 10 в консоли (конечно, я упрощаю).

Структура

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

Пример: если бы вам пришлось написать сайт социальной сети с нуля, как бы вы спроектировали систему?

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

Проверка знания языка

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

Пример: что такое наследование в Java?

Предыдущие проекты/Резюме

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

Пример: расскажите немного о проекте, которым вы гордитесь.

Информация о компании

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

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

Подготовка к интервью

Я готовилась к интервью тщательно, получая информацию из самых разных источников. Ниже перечислены некоторые из них.

Курсы Udemy

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

Курсы LeetCode Premium

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

Видео с YouTube

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

Я даже представить не могла, что через два месяца стану работать в команде YT! Чудеса случаются.

Другие ресурсы

Также рекомендую ресурсы от Gayle Laakmann McDowell:

Cracking the coding interview

Пошаговое объяснение собеседования в виде диаграммы.

Подготовка к этапу по дизайну систем:
Hired in tech course
Собеседование по дизайну, плейлист от Рамона Лопеса.

Я начала интенсивную подготовку к этапу по программированию за один месяц до самого собеседования, и закончила изучение, решив 60–70 задач, в основном то, что чаще всего спрашивают на собеседованиях.

Подготовка к «программистскому» этапу продолжительностью в один месяц

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

Проблемы могут различаться, их решение занимает от получаса до часа. В процессе подготовки я решала две и больше задач ежедневно. Уровень курсов разделялся на легкий, средний, сложный, company specific. Все зависит от сложности вопроса. Их решение занимало по часу. Даже задачи среднего уровня были для меня довольно сложными. Мой совет — если через час вы не смогли найти решение, просто посмотрите в ответ.

Сложных я решила не более десяти. В целом, я сосредоточилась на решении легких и средних задач. В затруднительных местах приходил на помощь YouTube, я искала решение именно там.

И здесь сделала ошибку, работая лишь с задачами от Google. Я старалась решать и задачи из секции company specific. Они были чрезвычайно сложными, я не справлялась. Я начала именно с них, а не с вопросов и задач «простой» секции. Совет — начните с простых вопросов, переходите к задачам средней сложности, и уж только потом приступайте к специфическим упражнениям. В итоге расстроилась, моя мотивация снизилась, и некоторое время я просто ничего не делала.

Общие советы

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

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

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

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

Специфические материалы оставляйте на десерт. Начинаете с общей подготовки, включая курсы, YouTube, чтение статей.

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

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

Ищите тематическую информацию в сети, делайте это время от времени.

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

Keep calm and code on.

Skillbox рекомендует:


Оставить комментарий

Ваш email нигде не будет показан
Обязательные для заполнения поля помечены *

*

x

Ещё Hi-Tech Интересное!

Крупнейший дамп в истории: 2,7 млрд аккаунтов, из них 773 млн уникальных

Каждый может проверить там свой email на предмет утечки. Известный специалист по безопасности Трой Хант уже несколько лет поддерживает сайт Have I Been Pwned (HIBP) с миллионами записей об украденных аккаунтов. Но он никогда не видел, чтобы на продажу выставляли ...

Подборка @pythonetc, декабрь 2018

Это седьмая подборка советов про Python и программирование из моего авторского канала @pythonetc. Предыдущие подборки: Множественные контексты Иногда бывает нужно запустить какой-то блок кода в нескольких менеджерах контекста: with open('f') as f: with open('g') as g: with open('h') as h: ...