Истории

Я прошел 6 собеседований в Кремниевой долине. Все 6 успешно

Виктория Золотова 28 января 2019, 11:14

6 дней, 6 собеседований, 6 топовых технологических компаний — вот что ждало мобильного разработчика под ником Bay Area Belletrist, который захотел найти работу в Кремниевой долине. В итоге все 6 компаний предложили ему место в команде. Он рассказал о своем опыте и дал пару советов тем, кто ищет работу в IT и не только.

Чего я хотел

У меня было два с половиной года опыта работы и ни одной значимой стажировки или авторитетного работодателя в резюме. Я знал, что хочу работать в Калифорнии — в крупной компании, где мог бы расти как профессионал. Раньше я работал в стартапах и мне это нравилось, но теперь мне нужна была крупная команда (не только с точки зрения количества сотрудников).
Но я не был уверен, где именно хочу работать, и понятия не имел, сколько зарабатывают разработчики мобильных приложений. А еще я абсолютно точно не планировал рассылать резюме всем подряд, как после окончания колледжа.
Я отправил резюме в 20 компаний. 4 из них отказали мне сразу же. Еще 10 так и не ответили. Оставшиеся 6 — LinkedIn, Yelp, Apple, Amazon, Facebook и Google — пригласили на собеседование по телефону. Затем я прошел собеседования у них в офисе. В итоге все они предложили мне работу.

Как я готовился

Я понимал, что мой уровень подготовки мягко говоря не дотягивает до уровня Кремниевой долины. Я мог решить большинство простых заданий на Leetcode за пол часа. С задачами средней сложности дела обстояли хуже: мне давалась только четверть из них и на это уходила уйма времени. Со сложными заданиями все было совсем печально. В общем, мне предстояло заполнить огромный пробел в знаниях.
Чтобы подтянуть свои знания алгоритмов, я взял книгу Cracking the Coding Interview. Каждое воскресенье, с самого утра я шел в кофейню и решал задачи на Objective-C. После 35 задач я возвращался к заданиям на Leetcode, которые соответствовали главам книги. Через несколько недель я почувствовал, что освоил базу, и перешел к следующему этапу.
Я начал читать Elements of Programming Interviews. Эта книга была сложнее предыдущей. Там были учебные планы, которых я старался придерживаться. Мне кажется, я единственный человек, который решил пройти ее за четыре недели и сделал это. Получить работу можно и без решения задач, но по-моему это лучшая практика, которая только может быть.
После месяца занятий по 2-3 часа в день я перешел к задачам на Leetcode, которые чаще всего дают в качестве тестовых на собеседованиях. Я прошел не все, но многие.
Необязательно знать, как решать каждую задачу. Это невозможно. Почти все задания, которые мне давали на собеседованиях, я видел впервые. Но чем-то они напоминали задачи из книг, которые я решал.

Какие компании пригласили меня на собеседование

LinkedIn

Мобильные приложения LinkedIn довольно качественные. А сама компания сделала серьезный вклад в развитие открытого кода.
Собеседование с LinkedIn меня впечатлило — как с точки зрения культуры, так и с точки зрения технологий. В моем личном рейтинге компаний на рынке iOS они поднялись на первое место.

Yelp

У Yelp визуально приятное приложение, созданное с учетом многих тонкостей iOS. Разработчики хорошо знакомы с платформой, это видно.
Мне понравилась атмосфера офиса: он расположен в шикарном здании, и я был бы рад поработать с каждым из моих интервьюеров. Команда Yelp намного меньше, чем в остальных компаниях, куда я подавался. Но это хорошо, потому что коллектив выглядел сплоченным и работа шла быстро.

Apple

Я фанат Apple с 12 лет. Благодаря Mac я заинтересовался программированием, а iPhone SDK вдохновил меня создать свое первое приложение. Когда они пригласили меня на собеседование, а потом предложили работу — я просто не мог поверить. Даже не знаю, что еще добавить.

Amazon

Не сказал бы, что Amazon сильный игрок на арене мобильных приложений, но вакансия и команда мне подходили.
Их офис в Пало-Альто меня тоже не очень впечатлил, но это временное решение: скоро команда переедет в новое здание. Может, это просто было не лучшее время для собеседования.
Люди, с которыми я общался, казались преданными своей работе. Каждая компания, в которую я приходил, уверяла, что «у нас здесь такая же свободная атмосфера, как и в стартапе!», но именно Amazon показался мне самым близким по духу к стартап-проектам.

Facebook

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

Google

Насколько я понимаю, Google проводит «общие» собеседования, а не на конкретную вакансию. Я общался с командой, которая делает один из крупнейших продуктов Google на платформе iOS, но меня не собеседовали на какую-то определенную должность специально для этой команды.
После того, как я прошел через комитет по найму Google, мы перешли к следующему этапу. Они очень долго решали, к какой команде мне лучше присоединиться, и в итоге подобрали подходящую.
Переговоры с Google заняли куда больше времени, чем с остальными компаниями. Я должен был держать всех в курсе того, как идут дела с Google. А Google должны были знать, не принял ли я еще предложение от других работодателей.

Что я понял и чему научился

Ниже я перечислил вещи, которые хотел бы знать заранее. Как с точки зрения технической подготовки, так и с точки зрения планирования. Эти советы пригодятся не только тем, кто хочет работать мобильным разработчиком на iOS, а и IT-специалистам в целом.
Никогда не прекращайте учиться. Когда я искал работу после университета, я сдался через пару недель. Я учился медленно и это отнимало много времени. Так какой в этом смысл? — думал я. Но на этот раз у меня не было выбора. Это сложно, но именно желание (и готовность) учиться отличает успешных кандидатов от остальных.
Практика — ваше (почти) все. Конечно, у вас должны быть определенные врожденные способности, но практика и обучение могут их компенсировать. Компании нанимают людей не за то, с чем они родились. Они нанимают тех, кто сможет хорошо делать свою работу. И неважно, где и когда человек этому научился.
Потренируйтесь проходить собеседование. Попросите своего друга побыть рекрутером и разыграйте с ним интервью. Это придаст вам уверенности. С другом можно не бояться ошибиться или сказать глупость. А если найдете человека, который разбирается в теме, он может помочь решить тестовые задачи, которые даются вам с трудом.
Больше — лучше. Вы можете усердно практиковаться, но все равно не получить работу. Просто потому что нужный человек не увидел ваше резюме или вы не справились с тестовым заданием. Лучший способ увеличить свои шансы на успех — отправить резюме в как можно больше компаний. Я разослал заявки во все компании из своего списка топ-20.
Ищите закономерности. Сосредоточьтесь на процессе решения задачи, а не правильном ответе. Запоминать готовые решения недостаточно. Из 20 заданий по алгоритмам, которые мне давали на собеседованиях, я узнал только одно. Но потренировавшись, я нашел закономерности и научился решать задания с ходу.

Не отчаивайтесь. У меня было много случаев, когда я не смог правильно решить задачу с первого раза. Тогда интервьюеры подталкивали меня к решению. И в итоге все равно предложили мне работу. А однажды я вообще провалил собеседование (по крайней мере, мне так показалось). Но потом эта компания все же пригласила меня на работу. В общем, всякое бывает.
Не пропускайте задания. Когда я тренировался решать задачи со своим другом, он пропускал некоторые из них. Мол, они никогда не попадутся тебе на собеседовании, так зачем их решать? В итоге из четырех типов задач, которые он считал бесполезными, два попались мне на собеседовании.
Личные качества тоже важны. Думаю, я смог пройти во все шесть компаний потому, что отвечал на все вопросы честно. И это понравилось моим интервьюерам. Много сильных разработчиков не могут найти работу потому, что грубят, обманывают или просто не знают, как вести себя в ситуациях, которые не связаны с IT. Развивайте личные качества как же, как технические навыки.
Если знаете больше, покажите это. Много раз я использовал для решения задач знания из смежных сфер. И вам советую делать так же. Отвечая на вопрос о строках, покажите, что знаете Unicode. Внедряете приватный метод? Упомяните о методах в Objective-C. Обновляете данные в tableView? Расскажите об анимациях, которые можете поддерживать.
Не поднимайте тему, если не разбираетесь в ней достаточно хорошо. Но если разбираетесь — покажите это. Это даст вам преимущество перед теми, кто строго придерживается проторенной дорожки и мыслит в рамках задачи.
Ставьте планку повыше. От того, как пройдет собеседование, зависит не только то, получите вы работу или нет, но и то, что вам предложат. Между «хорошим предложением» и «очень хорошим предложением» есть большая разница. Стремитесь к последнему. Несмотря на то, что у меня было мало опыта, удачные интервью сыграли свою роль и я получил выгодные предложения.

Читайте также

Что (не)так с Black Friday. Откуда пошла традиция и почему не стоит бояться больших скидок

Открыть бизнес за границей. Как получить средства на новое дело в ЕС

Как купить USDT через обменник. Подробная инструкция

TemplateMonster — 20 лет. История компании от маленькой вебстудии до маркетплейса из 175 000 продуктов

Международная IT-компания Astound Commerce набирает людей в команду. Кого именно ищут и почему вы захотите там работать

Сохранение позиций на рынке, йога онлайн, покупка Starlink. Как Govitall работает во время войны

Еще один «Дон Кихот». Как беларус создал приложение для высмеивания путинской пропаганды и почему это вызывает дежавю

Новые услуги и поддержка Украины. Как в FAVBET адаптировали работу и продукт военные реалии

30 докладов об IT и сбор средств на ВСУ. Что будет на международной IТ-конференции NIX MultiConf

Калиновый венок и символы войны. Morphy.vision создала AR-фильтр в рамках open call от Banda и Brave.ua