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

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

Компания Google

"Гугл" - это веб-ориентированная корпорация, нацеленная на разработку и создание наращиваемых модульных систем. Сегодня компания управляет миллионом серверов, обрабатывает миллиарды запросов, а также данных пользователей. Главный продукт Google - это поисковая система. Кроме нее, существует почтовый сервис Gmail, социальная сеть Google+, интернет-браузер Google Chrome, программа Picasa, Hangouts. В компании разрабатываются операционные системы, а также известные мобильные приложения, такие как Ok Google. Работа в этой компании - тяжела, но полученный опыт бесценен для любого программиста и инженера.

Специфика

Google... Трудоустройство - насущный вопрос, который волнует всех желающих работать в этой компании. Процесс этот сложный и состоит из трех этапов:

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

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

Резюме

Если компания Google открыла вакансии, шансы, что резюме рассмотрят, возрастают многократно. В корпорации ценят интересных и знающих сотрудников, поэтому нередко подбирают соискателю должность под его умения. Требования к написанию резюме у корпорации "Гугл" ничем особенным не отличаются. Оно должно быть грамотно составлено, структурировано, интересно изложено, но простым языком. Идеальное резюме поможет попасть на работу. Google Play - магазин приложений компании, в котором легко найти любую информацию о том, как корректно составить такой документ. Придерживайтесь во время написания простых правил:


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

Как трудоустроиться?

Многих может интересовать вопрос: "Как в Google?" Сделать это довольно сложно. Некоторые соискатели готовятся к собеседованию за несколько месяцев до дня икс. Они изучают теоретические дисциплины, навыки общения, учатся выглядеть и говорить естественно, без волнения. На собеседовании специалисты "Гугл" оценивают кандидата по четырем основным критериям: аналитические способности, коммуникативные, опыт работы, навыки программирования.

Каждый критерий оценивается баллами от 1.0 до 4.0. Интервьюеры лишь задают вопросы и контактируют с соискателем, а решение о приеме выносит комитет по подбору персонала. Большую роль в положительном исходе собеседования играет система оценок. Если потенциальный сотрудник набирает 3.6 - это считается отличным результатом. Окончательное решение, взять ли соискателя на должность, затягивается на несколько недель. Сотрудники компании советуют подготовиться к предстоящему собеседованию, изучить вопросы о масштабируемости и ограничении памяти и поразрядной обработке.

Кто нужен?

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

Фриланс

Удаленная работа в Google - отличная возможность для тех, кто хочет работать в компании, но физически не может находиться в офисе по множеству причин. Для того чтобы трудоустроиться на должность в "Гугл", не требующую прямого контакта с руководством и сотрудниками, соискатель должен обладать определенными знаниями и навыками. Собеседование фрилансера ничем особенным не отличается. Специалист компании побеседует с соискателем по телефону, задаст технические вопросы. Они могут касаться написания кодов. Иногда кандидата на удаленную работу могут пригласить в офис, чтобы пообщаться лично.

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

Критерии отбора

Если вы заинтересовались вопросом о том, как попасть на работу в Google, учитывайте критерии отбора кандидатов на определенную должность. Например, к соискателям по технической части руководство предъявляет особые требования. На собеседовании оцениваются личные и профессиональные качества кандидата:

  • Навыки программирования.
  • Быстрая обучаемость.
  • Лидерство.
  • Чувство собственности.
  • Интеллектуальная скромность.

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

Преимущества

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

Огромное число кафетериев с бесплатным и разнообразным меню поражает воображение обычного работника. На завтрак здесь можно съесть жареного тунца и запить лимонно-мятной минеральной водой, на обед заказать курицу карри в панировке и полакомиться шоколадным десертом. Местное сбалансированное меню (фрукты, овощи, злаки), а также экзотические блюда - все это легко сравнится с лучшей ресторанной едой. Любой каприз сотрудника-гурмана здесь осуществят, да еще и бесплатно!

Работа в Google - это дополнительные бонусы. Например, здесь есть специальные комнаты отдыха, где сотрудник может расслабиться. В полном распоряжении персонала компании игровые помещения, массажные кресла, бильярдная, прачечная, техобслуживание авто. Вечер пятницы сотрудники могут скоротать за бокалом некрепкого алкоголя. Приятное преимущество работы - солидная страховка, мониторинг здоровья кадров. Часто сотрудникам делают дорогие подарки: новые смартфоны и другие гаджеты.

Еще один плюс: дизайн помещений. Он современный, нескучный, имеет футуристичные черты. Здесь невозможно впасть в тоску и уныние. Офисы оснащены местами для сна и восстановления сил. Однако время на отдых в корпорации еще нужно найти.

Недостатки

Работа в Google не такая уж безоблачная и сказочная, как думают многие. Это отдельный мир, в котором нужно подчиняться установленным законам, жертвовать своим временем и принципами. На работу, как правило, берут квалифицированных профессионалов, которые окончили престижные учебные заведения. Новички часто не выдерживают навалившегося успеха и не могут реализовать свои знания на деле. Да, здесь высокие зарплаты, бонусы и другие поощрения, но работа в компании отнимает все свободное время. Сотрудники практически живут в офисе, как в «золотой клетке».

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

Оклад

Кто из нас не мечтает о высокой зарплате, реализации творческого потенциала и приобретенных знаний? Работа в Google - престижная и высокооплачиваемая. Без премий, выплат, денежных поощрений, презентов сотрудники получают в год от 100 тысяч долларов. Самые высокооплачиваемые должности в компании - финансовый аналитик, менеджер по развитию, старший инженер, менеджер по сбыту продукции, ученые-исследователи, технический руководитель, менеджер технических проектов, юрист-консультант корпорации, менеджер по связям с общественностью, технический руководитель, дизайнер пользовательских интерфейсов, менеджер онлайн-продаж, инженер доступности сервисов и программных обеспечений и другие. Рядовые сотрудники получают меньше.

Наверное, не будет слишком пафосно сказать, что Google — одна из тех компаний, продукты которой в буквальном смысле меняют мир. 10 лет назад это были карты google maps, чуть раньше — поисковик, а сегодня, помимо всего прочего разрабатываются очки дополненной реальности и машины без водителя.

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

Впрочем, давайте поподробнее.

Весной я участвовала в обучающей программе The Graduate от компании Google. В ней речь шла о нюансах работы с Google Adwords — сервисе контекстной рекламы. Ниже расскажу об этой программе немного подробнее.

Вот и мой сертификат, даже с отличием, оказалось

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

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

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

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

Заходим в одну из комнат, сделанных по принципу open-space. Не покидает ощущение моднейшего дизайнерского бюро, при этом даже мне захотелось тут же к компьютеру и… поработать! Прекрасно сверстанные корпоративные объявления на доске, уйма толковых цитат в разных местах комнаты, формат от А4 до А0, различные настенные газеты для и про сотрудников, флаги стран, которые представляет отдел… Почти каждое рабочее место — сам себе шедевр. И хотя в комнате довольно много народу и всяких всякостей, пространства еще больше, все смотрится органично, никто не мешает друг другу. Впрочем, часть рабочих мест все равно пустует. «Значит, в других местах работают», — поясняют мне сотрудники Google.

И действительно, мест, где уютно присесть с компьютером, тут очень много. Можно расслабленно развалиться в кресле-мешке с лэптопом на коленках, можно посидеть на сравнительно небольшой уютной кухоньке, поработать на террасе, в переговорной комнате (они бронируются на 30-60 минут), в просторном фойе… Тут и там спроктированы отдельные уголки — с различным дизайном и креслами-стульями. Сотрудники получают рабочий ноутбук, так что никаких проблем с перемещением рабочего места на ближайшие несколько часов не возникает.

Как организован рабочий день в Google?

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

— На самом деле, у нас стандартный 8-и часовой рабочий день, с 9 до 18, — рассказывают нам. — Мы работаем в зависимости от того, какие у нас задачи. Но если упростить, то примерно половина — это фиксированное время, когда ты точно должен быть на месте и, например, отвечать на вопросы пользователей. Когда именно у тебя будет это фиксированное время — распределяет сама команда. Вторая часть — это работа над различными долгосрочными проектами. Работа ведется в команде, все ориентированы на результат, и так происходит взаимомотивация. Если хочется заняться каким-то другим проектом — аргументируй, и вполне вероятно, что ты сможешь посвящать часть времени ему.

Как путешествовать, работая полный 8-ичасовой день?

Тут и там я слышу от сотрудников компании, как они на месяц уезжают то в Индию, то в Гонгконг, то еще куда-то. Как же это, если трудишься с 9 до 18? Оказывается, есть возможность работать в офисах Google по всему миру. Для части сотрудников — это карьерный рост. Достигнув успехов на нынешней должности, если совпадут желания и возможности, они могут быть переведены в другой офис и, как правило, в другую страну. Компания оплачивает издержки, связанные с переездом.

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

Как устроиться на работу в Google?

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

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

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

— Что вообще нужно, чтобы попасть в Гугл?

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

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

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

(Для тех, кто после этих слов разочарованно хочет закрыть страницу: найдите, наконец , нормальный способ для себя выучить английский и регулярно практикуйтесь в речи, поищите встречи каучсерферов в своем городе — сайт couchsurfing.com — раздел meetings!)

Лайфхаки для попадания в Google

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

Тем не менее, конкурс на вакансии более чем серьезный. Глава отдела кадров Google говорит, что компания ежегодно получает более 3 миллионов откликов на вакансии, в то время, как в течение года принимают на работу в среднем только 7000 человек. Получается, что конкурс на место составляет примерно 428 кандидатов.

Но не стоит расстраиваться — речь ведь идет о средней картине в мире. Наверняка, количество поданных резюме в Америке в разы отличается от Чехии, Польши или Словакии.

Но зато такой отбор является неким показателем уровня людей, которые работают в Гугл. Во время нашей экскурсии я то и дело удивлялась сочетанию неформальности, приветливости, простоты, целеустремленности и эрудированности. И все это не просто так: оказывается, внутри компании есть даже специальный термин — не ручаюсь за точность, но звучит это примерно как «googlattraction» — «гугль + привлекательность» — который определяет, насколько комфортно работать с человеком в команде, быть рядом.

Обучающие программы от Google

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

Как я уже писала ранее, я училась на The Graduate от компании Google. В ней речь шла о нюансах работы с Google Adwords — сервисе контекстной рекламы. Программа была в первую очередь направлена на развивающиеся рынки Казахстана и Беларуси. Проходила в формате вебинаров, но не ограничивалась ими. Нам было предложено делать проекты в командах, мы знакомились с участниками, писали свои предложения и т.д. — в общем, нетворкинг получился довольно продуктивный. Кроме этого, можно получить купон на 250 долларов для работы с аккаунтом Adwords, а также дополнительный купон на 60 долларов для ознакомления.

Одним из требований для успешного завершения программы было прохождение тестирования по контекстной рекламе. За два часа нужно правильно ответить на 80% вопросов разной степени сложности — после этого ты становишься сертифицированным партнером Google.

Меня можно тоже с этим поздравить 😉

Следующий запуск The Graduate планируется в январе-феврале — следите за анонсами ! Если вы собираетесь в будущем заниматься контекстной рекламой — вот он, ваш идеальный вариант для хорошего старта.

Еще одна программа, о которой я поздновато узнала, но буду смотреть все вебинары в записи — Women in Digital. Она ориентирована в первую очередь на женщин, владеющих или управляющих бизнесом в Беларуси или Казахстане, которые хотят ближе познакомиться с полным спектром возможностей для продвижения бизнеса, которые открывает интернет. Тут вся информация .

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

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

Буду рада, если эта статья оказалась для вас полезной.

Хорошего вам дня и целеустремленности в достижении своих целей!

О своём опыте трудоустройства

Я постараюсь описать весь свой опыт и те подводные камни, которые я встретил при подготовке к собеседованию в Google и другие компании Долины (Microsoft, Amazon, Snapchat, Evernote, Cruise Automation, Uber и др.). Я ставил цель получить оффер от Google или Facebook, а еще лучше от обеих, все остальные компании были из разряда «ну если там будет очень интересно, то можно». С первого дня, когда я начал подготовку, до момента, когда я получил оффер от Google, прошло 1 год и 5 месяцев. Первый оффер я получил после 1 года и 2 месяцев подготовки. Всего было 7 онсайтов (интервью в офисе компании), из них 3 оффера (Google, Evernote, Cruise Automation). Таки приступим.

Предыстория

Я был вендором в Google в Mountain View на протяжении полутора лет. Там же было несколько гуглеров, которые тоже были вендорами до этого. Конечно, мозг постоянно подсказывал, что они «другие», что они «умнее-лучше-круче», чем я. А мой удел - быть вендором. Я даже один раз попробовал решить задачку на LeetCode. Осилить я смог 5-ю easy задачку, которая получилась на 120 строк кода и в результате так и не прошла тесты. На это ушло 5 часов прекрасного субботнего калифорнийского дня. Я окончательно понял, что вот всем вокруг «дано», а мне нет.

Но все же, проводя с друзьями-гуглерами много времени, я понял приблизительный алгоритм - что и как нужно делать. Я сделал в точности, как они сказали, и получил оффер (чему был немало удивлен). Второй нюанс - в Google я делал front-end, все мои друзья были back-end, и подготовку они описывали именно для back-end. Я подумал и решил: «А back-end тоже хорошо (я же когда-то писал на.NET, хотя и давно), буду идти в точности как они, но сделаю больше, чем они, и тогда точно получу оффер».

Мотивация

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

Что я имею в виду

Подготовка требует много времени: приблизительно 2-3 часа каждый рабочий день и каждый выходной полностью. То есть, по сути, все свободное время. Я был без жены и детей, и было проще, с одной стороны, - никто не требует постоянного внимания. С другой - никто и не поддерживает.

Я считаю, с людьми, с которыми ты тесно связан, нужно договариваться «на берегу», чтобы они знали, чего ожидать, разделяли цели, помогали в трудные периоды (они будут, у всех они были).

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

Пример 1 : «Я хочу в Google, потому что это круто», «Я хочу в Facebook, потому что там много денег» - это для себя. В любой момент можно найти статью о том, что Google - это тлен, что денег там дали меньше, чем в другой компании, что там скучно, много политики. И что? И все, мотивация упала, книжки с алгоритмами летят в окно.

Пример 2 : «Я хочу в Google, чтобы вывезти свою семью в США и дать детям хорошее образование», «Я смогу, имея деньги от Facebook, сделать это и это» . В моем случае мотивация звучала так: «Я хочу быть ближе к дому» . Я рассматривал переезд в Лондон либо Цюрих. Когда я начал подготовку, я себе так сказал: «Пацан, ты следующий раз полетишь домой, когда получишь оффер, и только так». Домой хотелось, и это давало энергию. Я думаю, это работает не для всех и не всегда, но для меня сработало.

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

Процесс в общем

Весь путь можно разделить на несколько этапов:

  1. Решение задач на LeetCode или InterviewBit .
  2. Изучение алгоритмов и структур данных.
  3. Повторение решенных задач на LeetCode.
  4. Подготовка к дизайн-интервью.
  5. Mock-интервью (телефонные и на вайтборде).
  6. Реальные интервью.
  7. Оффер и алкогольное забвение.

Решение задач

Это самая важная и самая длительная часть подготовки.

Сколько задач нужно решить? Я считаю - 200-250, из которых 40-50% easy, 40-50% medium, 10-20% - hard. Я решил около 300, мои друзья - 120-160.

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

А что если я сначала прочитаю всю книжку «Cracking Coding Interview» с решенными задачками и уже весь подготовленный пойду в бой? Не стоит:) Решение, которое я просто прочитал, я не мог вспомнить даже под конец того же дня, не говоря уже через несколько дней.

Можно прочитать начало «Cracking Coding Interview». Там хорошо описан сам процесс интервью, как общаться, базовые вещи об алгоритмах и структурах данных, как анализировать сложность алгоритмов и т. д. К примеру, как анализировать сложность рекурсивных алгоритмов я понял именно из нее.

Перед тем как начать решать задачки на определенную тему можно прочитать решение схожих задач в «Cracking Coding Interview». Причины тут две:

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

А какие вообще существуют задачи, какие темы нужно покрыть?

Понять, какие вообще тематики существуют, можно с InterviewBit. Мне не очень понравилось там решать задачи, но вот общее представление я получил. Ну и кроме того, можно полистать «Cracking Coding Interview».

В какой последовательности стоит решать задачи?

Нужно идти от простых тем к сложным (InterviewBit подскажет порядок). В каждой теме решать задачки до тех пор, пока не начнет хоть чуть-чуть получаться, и в этот момент сразу переключиться на следующую тему. Начинать, конечно, с уровня easy. Я пытался решать каждую задачу на протяжении около получаса-часа. Если не смог - шел смотреть решение. На LeetCode к каждой задаче есть форум, где люди постят свои решения, обсуждают, голосуют. Я выбирал топ решений и изучал их, так и учился. Наверное, эти форумы - самое ценное место для обучения. Далеко не все решения просто понять, даже те, под которыми стоят комментарии «This is absolutely awesome!!!».

Например, начал я решать задачи на строки. 1-я - не решил, пошел смотреть решение, 2-я… 5-я - то же самое. 6-я, 7-я - решил. Значит, пора переключиться на следующую тему. Секрет такой - переключаться между темами нужно как можно чаще, так лучше запоминается. Но если переключиться до того, как начнет получаться, то через несколько тем можно демотивировать себя полостью. Мозг услужливо подскажет: «Ну раз ты ничего не можешь решить - то иди выпей пивка и посмотри футбол, это просто не твое». Нужно быть готовым к тому, что самооценка и настроение будут как американские горки: получается - мы несемся вверх, не получается - унываем и падаем вниз. Просто нужно помнить, что и первое, и второе - это временно, нужно продолжать. Если долго нет результата - брать задачки проще.

Как происходит решение задачи?

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

  1. Читаем условие задачи, ни в коем случае не пытаемся придумать решение до того, как условие прочитано до конца. Это важно!!! Мозг пытается найти похожую задачу, решение которой он знает, и выдать за требуемое.
  2. Пытаемся придумать уточняющие вопросы.
    1. Пример 1: есть задача, в которой нужно как-то трансформировать строку. Что спрашивать? - Какие символы могут быть в строке - ASCII или Unicode? Могут ли рядом стоять несколько пробелов? Могут ли быть пробелы в начале или конце строки? Есть ли спецсимволы типа -,.^/ ? Есть ли разница для анализа между большой и маленькой буквами? Насколько длинная входная строка? Помещается ли она в память машины?
    2. Пример 2: есть массив из Integer, в нем нужно что-то найти. Вопросы: есть ли повторяющиеся элементы? Есть ли отрицательные числа? Что если в результате подсчета мы получим больше, чем Integer.MAX_VALUE?
  3. Рисуем примеры, лучше парочку - один классический, второй с corner cases. После этого мы +/- должны быть уверены в том, что задачу мы поняли правильно.
  4. Придумываем решение «в лоб» и оцениваем его сложность. Сложность решения нужно уметь определить всегда.
  5. Придумываем более оптимальное решение, оцениваем его сложность.
  6. Разрабатываем API решения - какие будут методы (приватные и публичные).
  7. Пишем код в тетрадке.
  8. Дебажим код по тетрадке на новом примере. Не нужно брать один из примеров, который мы рисовали в начале. В этом случае очень высока вероятность, что мы написали решение именно для этого случая, а не для всех возможных. Лучше взять новый пример с corner-кейсом, такой, чтобы потенциально мог решение сломать.
  9. Перебиваем код в любимую IDE, при этом не смотрим в бумажку. Таким образом, мы повторяем решение два раза.
  10. Копируем код из IDE в LeetCode и запускаем. В случае идеального выполнения должно cработать правильно с первого раза. У меня такое получалось в 10% случаев.

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

А что же делать, если задачка не решается?

Когда я не смог придумать решение за полчаса-час (сначала бывало, что я по полдня страдал над одной задачей), то шел смотреть лучшие решения на форуме. Разбор решения - почти всегда непростая задача и требует времени: нужно пересмотреть и понять несколько решений, понять сложность, дочитать ссылки на алгоритмы, которые указывают авторы решений. Большинство алгоритмов я нашел и изучил после того, как встретил их в реальных решениях. А что же дальше с этим делать? А дальше нужно повторить с этой задачкой все шаги, которые я привел выше. И куда лучше сделать это на следующий день или как минимум под конец этого дня.

Все свои решения я заливал на GitHub . Хорошо видна статистика, и всегда есть доступ к коду. Это я начал делать после того, как LeetCode затер все мои решения. Так что LeetCode - не лучшее место для хранения своих решений.

Алгоритмы

Я изучал алгоритмы по курсам дедушки Седжвика на Coursera (часть 1 , часть 2). Видео этих курсов можно найти на торрентах.

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

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

Дизайн-интервью

Дизайн-интервью состоит из так называемых открытых вопросов по дизайну, типа «как задизайнить YouTube». По началу я совсем не мог понять, что требуется и как это должно выглядеть. Потом я нашел курс , который мне открыл глаза. Он стоит свои 80 баксов.

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

Behavioral-интервью

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

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

Mock-интервью

Mock-интервью - это то же самое, что и обычное интервью с той разницей, что его проводят друзья, коллеги или специальные компании. А потом дают свой отзыв - что хорошо, что нужно поправить. Это тоже критически важный шаг, упускать его не стоит. Конечно, будучи в Долине, сделать это в разы проще. Вокруг меня было много друзей гуглеров, действительно клевых ребят, которые мне провели порядка 20-ти mock-интервью. Я был как Том Сойер, который взялся красить забор, а в результате красили забор все. Интервью мы проводили, конечно, на английском на вайтборде со строгим ограничением по времени.

Телефонные mock-интервью (а потом и реальные) я проходил на interviewing.io . Я просто полюбил этот ресурс, ребята реально молодцы. Но они сейчас заточены под США и предоставляют этот сервис по США. Бывали дни, когда у меня в неделю было около 7-8 собеседований на interviewing.io.

Сначала было страшно и некомфортно. Но к 10-му разу я привык, и стало нравиться. Первые интервью я валил, потом стало получаться. Средняя конверсия была 50%, то есть половину прошел, половину - нет. Всего телефонных собеседований (реальных и mock) было около 30-35.

Как подаваться

Самый простой и самый малоэффективный метод - заполнить форму на сайте компании. Но иногда и он дает результаты. К примеру, я заполнил форму на сайте Snapchat, и на следующий день со мной связался рекрутер, мы договорились о телефонном интервью. С Google, я думаю, это абсолютно бесполезно, так как эту формочку заполняют тысячи раз в день.

Второй способ - сайты работ типа Hired.com . Ты заполняешь все данные о себе, а потом компании, которым ты подходишь, сами с тобой связываются. Сервис ориентирован на рынок США. Без H1 или грин-карты там делать нечего.

Способ третий - interviewing.io, о котором я упоминал выше, и схожие сервисы. Они работают так: сначала ты проходишь на их платформе телефонные mock-интервью. Как только ты успешно проходишь два, они дают тебе возможность проходить анонимные телефонные интервью с реальными компаниями на их платформе. К примеру, сотрудник Uber и ты заходите в одно и то же время, и он тебя собеседует. Если прошел - дальше онсайт. Mock-телефонное и реальное телефонное интервью не отличаются вовсе. Минусов в interviewing.io несколько. Первый - они больше сотрудничают со стартапами, больших компаний мало. Второй - ориентированы на Штаты (нужна H1 или грин-карта).

Способ последний и самый эффективный - через реферала. Это когда человек, который работает в компании Х, дает референс на тебя рекрутеру. Он должен указать, откуда он тебя знает и почему считает, что ты подходишь + твое резюме. Вероятность, что с тобой после этого свяжутся, очень высока. Если не связались, скорее всего, рекрутер увидел в резюме что-то, что его насторожило.

Резюме

Резюме инженера в Долине и Украине очень отличается. Оно должно быть кратким (лучше не выходить за рамки двух страниц), показывать, что ты реально сделал (твой импакт для компании).

Лариса, инженер в Google, много пишет на тему интервью, Google, Долины в своем блоге . У нее есть интересный раздел «Резюме на проверку» . Здесь люди открывают доступ к Google doc со своим резюме, Лариса и другие читатели его комментируют и пытаются улучшить.

Телефонное интервью

Стандартное телефонное интервью включает в себя общение голосом (по телефону, скайпу, hangouts и т. д.) и написание кода в shared Google doc или shared online IDE. Занимает по времени 1 час либо 45 минут, это нужно уточнить заранее.

Первые пару минут уходят на знакомство - интервьюер расскажет немного о себе, соискатель в ответ тоже должен рассказать, кто он и что он. У меня сначала с этим было туго, потом я написал и отточил self-presentation на 2 минуты, отрепетировал ее с помощью диктофона. Это, по сути, первое впечатление о тебе, и лучше его не испортить.

Дальше интервьюер копирует в shared doc условие задачи и несколько примеров. Сразу стоит уточнить, сколько дается времени на решение задачи, поскольку задач может быть одна, две или даже три. Часто это две задачи - одна простая для старта и вторая уже более серьезная. Иногда это одна задача, но после того, как готова первая часть, интервьюер усложняет исходную задачу дополнительными условиями. После всех уточнений нужно идти по плану, который я приводил для решения задачи.

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

Самый эпический пример этой ошибки у меня случился на онсайт-интервью в Evernote. Задача была следующая - распарсить CSV-файл с расписанием поездов и написать программку, которая будет подбирать оптимальный поезд по определенным условиям. Можно гуглить. Я до этого код для работы с файлами на джаве не писал и растерялся. Решил так, я сейчас быстренько с файлами разберусь, а там уже как-то алгоритм построю. Времени на все - 1 час 15 мин. Я полчаса строил красивые врапперы вокруг чтения из файла, пучок сущностей, описывающих поезда, маршруты и прочий мусор. При этом мало представлял, как алгоритм выбора будет работать. Дальше я понял, что я не успеваю, не понимаю, как строить алгоритм, подступила паника. За 12 минут до конца собеседования я понял, как оно должно быть. За 15 минут (с опозданием в 3 минуты) я написал код (с парой ошибок, правда). Так быстро я не писал код никогда в своей жизни.

Онсайт-интервью

Если телефонное интервью прошло успешно, следующий шаг - онсайт. Компания покупает тебе билеты на самолет, оплачивает отель, и ты летишь к ним в гости. Я так летал в Лос-Анджелес на интервью в Snapchat.

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

Какие бывают типы интервью на онсайте и как к ним подготовиться

Классическое техническое интервью с задачами

Тут все относительно понятно - то же самое, что и на телефонном. Нужно держать в голове следующий факт - уложиться нужно в ⅔ времени и ⅓ оставить на непредвиденные обстоятельства, поверьте они будут. В Google одно интервью 45 минут, это означает, что после знакомства у вас есть 25 минут на все. Из них 2-5 минут на то, чтобы понять задачу и нарисовать примеры, 2-5 - чтобы придумать решение и 15-20 на написание кода и дебаггинг. Во время дебаггинга, конечно, всплывут ошибки, и их нужно быстро и красиво пофиксить. Именно на это и нужна та заветная ⅓.

Нюанс - всегда нужно идти на интервью со своим лэптопом. Первым делом нужно спросить, можно ли кодить на нем. В Facebook меня спросили: есть лептоп? хочешь на нем кодить? Ответ - конечно, да! Это быстрее, и вероятность ошибки в разы ниже. К тому же, переписывать код на вайтборде и в IDE - это две большие разницы. У меня неоднократно была ситуация, когда я исправлял ошибки на вайтборде, в результате чего код становился абсолютно нечитаемым (и, скорее всего, с новыми ошибками). Интервьюеры смотрели на это с грустью и слезами.

На лэптопе должны быть любимая IDE и проектик с типовыми шаблонами:

  • работа с файлами;
  • парсинг CSV-файлов;
  • считывание по http;
  • HTML- документ с подключенными стилями.

Еще помните мой печальный опыт с Evernote? Так вот, на следующем онсайте меня тоже попросили распарсить CSV, это заняло 3 минуты. Интервьюеры не против, если ты используешь такие шаблоны - это экономит время, и они понимают, что ты способен нагуглить, как распарсить файл.

Важный момент - нужно всегда контролировать время. На одном из интервью в Google мой интервьюер, парень лет 25-ти, задал мне хитрую задачку на динамическое программирование. Я нашел способ, как ее решить за квадратичное время, на что он спросил: «А лучше можно»? И я начал искать, как это сделать, подступала паника, но решение «лучше» найти я не мог. Наш диалог дальше:

Я: Не могу придумать решение лучше. Может, напишем мое решение и после этого подумаем?
Он: Давай еще 10 мин подумаем. Если не найдешь, напишем твое.
Я: Мне кажется, что времени может быть мало. Давай все же напишем мое сначала.
Он: Ну ок.

Я успел дописать свое решение с опозданием в 5 минут. Если бы послушал его, то не написал бы ничего и провалил интервью на 100%. А после такого в космонавты не берут. Штука в том, что он прикидывал, сколько времени нужно ему для написания задачки на доске, зная решение досконально.

Рассказ о предыдущем проекте

К этому вопросу нужно хорошо подготовиться заранее, продумать, что рассказывать. Можно даже подготовить небольшую презентацию в Google Slides и рассказывать по ней, параллельно рисуя диаграммы на вайтборде. Здесь нужно показать важность решения (для чего все это) и сложность решения.

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

Дизайн-интервью

Это отдельный зверь, не очень страшный, но специфический. Здесь тебе дают очень общие начальные условия типа «Нужно построить Dropbox» и смотрят, как ты продираешься через терновые кусты неопределенности. Какие вопросы ты задаешь, как анализируешь проблему.

Мои выводы по этому типу интервью:

  • Первым делом нужно собрать требования. Очень четкие и конкретные требования, которым должна отвечать система. Типовые вопросы, которые можно задать: how many users, active users, time zones (one or few). Acceptance criteria - network bandwidth (in-going/ out-going traffic), RAM, storage, latency, battery life (for mobile) etc.
  • Представь, что интервьюер - это твой заказчик (или пользователь), для которого строится система. Что ему нужно? А что можно предложить сверх этого (сбор статистики, админпанель)?
  • Какие будут пользователи у этой системы? Часто их несколько - general users и administrators. И требования для них могут быть кардинально разные. Понимая это, нужно собрать все use cases. Один use case будет отвечать одному методу в API.
  • Определяем три ключевых элемента - UI (если таковой имеется), API, DB schema. Часто, рисуя UI, можно найти новые use cases и обговорить их.
  • Оценить все, что только можно, - number of users, requests (queries) per second (QPS), latency, API latency, disk space you need (for 5 years for instance), cache space, in-going/out-going traffic.
  • Отдельно оценить read-write ratio. Наша система read heavy или write heavy? В зависимости от этого, как мы будем писать и читать данные?
  • Как будет организовано хранилище данных, кеширование? Возможно, нужна очередь для обработки дорогостоящих операций? Как будут организованы replicas и shards (нужно хорошо понимать различие между этими понятиями)?
  • Для упрощения понимания сначала можно построить систему для 100 пользователей. После того как интервьюер согласится с таким дизайном, можно подумать, как будем его масштабировать до тысяч и миллионов пользователей.
  • Найти trade-offs и обсудить их. К примеру, это может быть trade-off между consistency и speed. Что важнее в данном контексте? Как этого добиться?
  • Когда мы рисуем диаграммы, ни один блок не должен быть в единичном экземпляре, это всегда сет из многих. При падении одного узла его тут же должен заменить его клон. Нужно продумать, какие могут быть аварийные ситуации и как мы будем с ним бороться.
  • И самое главное - внимательно слушать интервьюера и никогда-никогда с ним не спорить. Это кажется очевидным, но многие (и я среди них) об этом забывают.

Вопросы интервьюеру

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

Пример плохих вопросов: на каком языке программирования вы пишете? На каком клауде у вас стоит инфраструктура? Какая у вас СУБД? В чем тут проблема - компания нанимает универсального солдата, который за месяц-два должен разобраться в технических деталях. То есть это, по сути, не важно, это как-бы слишком узко.

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

За 10 дней до важного онсайта

У меня было два самых важных онсайта - Google и Facebook. Google был первым, и я достаточно сильно переживал. За 10 дней до онсайта я составил расписание на каждый день, что нужно сделать. Оно содержало следующее: повторение алгоритмов, типовых задач, задач, которые встречались на собеседованиях в Google, вопросы по дизайну. 5 дней до интервью я не ходил на работу и ушел в подготовку с головой.

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

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

Финал

Через несколько дней после онсайта мне позвонил рекрутер. Поздравил, сказал, что я молодец, все прошло хорошо. Мне нашли команду в Швейцарии в Цюрихе. Официальная позиция - Software Engineer. Я выдохнул. Голова была абсолютно пустой, я добежал. Забег в 1 год и 5 месяцев объявляется закрытым.

30 мая 2013 в 00:15

4 шага на пути в Google, не имея высшего образования

  • Разработка веб-сайтов ,
  • Программирование
  • Перевод

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

Как и все я собирался пойти в университет. Мой выбор пал на Калифорнийский университет в Лос-Анджелесе. К сожалению в школе у меня был небольшой средний балл (2.45 по четырехбалльной шкале) и я не мог поступить туда. Вместо этого я ходил на курсы по информатике в местном университете.

Шаг № 1: Жульничай, пока тебе это удается

Учась на курсах, я параллельно работал в небольшой компании в Гриффит, Индиана. Создавал сайты для местного малого бизнеса за $12/час. Работа, конечно, была не совсем той, которую я представлял для себя в будущем, но могло быть и хуже.
Я старался не высовываться, обещания давал с запасом, при этом выполняя их немного раньше. Работал в разных проектах. Компания хорошо заработала на мне.

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

В какой-то момент молодой стартап в Калифорнии под поддержкой CodeFire прислал уведомление, о том что они делают такую же игру! Space-шутер с видом сверху, наподобие SubSpace, только в 3D. В своем уведомлении они требовали убрать мою игру.
На это я мог ответить только одно: Конечно, если вы наймете меня на работу.
И они ответили предложением о работе! Я пошел к ним.
Компания сохранила права на оригинальную игру. Я оповестил о своем уходе за три недели и мы расстались на хороших условиях.

Шаг № 2: Подружитесь с профессионалами.

Это, вероятно, одна из самых важных вещей, которые вы можете сделать. Найти кого-то, кто является профессионалом в своем деле, сделать его вашим наставником. И никогда не прекращайте учиться. Во время работы в Double Helix, у меня был наставник Натан Хант, один из самых умных и самых скромных парней, которых я когда-либо встречал. И он был очень терпеливым, несмотря на мои элементарные вопросы. Наверно, я тысячу раз заходил к нему в кабинет за ответом на очередной глупый вопрос. Годы спустя, он присоединится к Google через месяц после меня.
Каждый из моих наставников изменил что-то во мне и в моем видении мира. И это только малая часть того что они мне дали.

Шаг № 3: Заполните пробелы в знаниях.

Так как у меня не было высшего образования, я не знал многих фундаментальных вещей.
Я, к примеру, реализовывал физический движок, но при этом никогда не сталкивался с динамическим программированием(способ решения сложных задач путём разбиения их на более простые подзадачи). Чтобы восполнить эти пробелы, я реализовал почти все наиболее распространенные алгоритмы и структуры данных, которые я слышал или читал. Необходимую информацию можно найти в избытке, но существует огромная пропасть между наблюдением того как что-то работает и пониманием сути этой работы.

Со временем вам нужно выполнить следующее:
1. Стать профессионалом хотя бы в одном из этих языков: C, C + +, Objective-C, Java, PHP, Python или
Ruby. Свободно владеть хотя бы одним другим языком и познакомится с такими языками как Scala, Haskell или Lisp.
2. Изучайте структуры данных. Сделайте реализацию большинства из них. Также нужно понимать временную сложность алгоритмов(О - нотация оценки сложности алгоритмов).
3. Решайте задачки на программирование. Прочтите это и постарайтесь решить задачи отсюда .
4. Создайте свое портфолио. (например, написанные вами фреймворки, различные приложения, небольшие игры и т.п.)

Шаг № 4: Обретите уверенность.

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

Год спустя я снова отправил свое резюме. Только на этот раз я убрал в нем раздел «Образование» полностью. По иронии судьбы, рекрутер позвонил мне чтобы договориться о предварительном интервью по скайпу. Я попросил перенести интервью на две недели позже, и он согласился. Мне было нужно это время. Я использовал эти две недели для того, чтобы впихнуть в свою голову как можно больше алгоритмов и структур данных. Я программировал 12-14 часов в сутки и решил сотни задач за это время. Я был буквально одержим и не останавливался, пока мой страх перед интервью в Google не превратился в уверенность.

Я помню каждое из моих интервью в Google. Это было ошеломительно. С интервьюерами было довольно интересно говорить. Они видели мое волнение и были доброжелательны со мной.

Некоторые из задач, которые были даны мне:

  1. Дан набор из двумерных точек, нужно вычислить горизонт . Это было легко. Я воспользовался структурой данных, известной как двоичная куча. Вот одно из решений этой проблемы
  2. Спроектируйте Microsoft Paint.
    Это была самая веселая задачка. Я начал с составления интерфейсов и диаграммы классов. Я упомянул инструмент «заливка» и интервьюер попросил меня реализовать ее. К счастью, я знал, как это сделать с закрытыми глазами.
  3. Опишите ваше мнение о хорошем тоне в программировании.
    Это было открытое обсуждение. Я говорил о том, какие способы тестирования существуют и когда их нужно использовать (например: Юнит-тестирование, Интеграционное тестирование, Приемочное тестирование). Я говорил о едином стиле кода. И так далее. Это можно найти в книгах Code Complete и Effective Java
Я искренне наслаждался каждым раундом интервью. Если бы я не готовился, я уверен, все было бы совсем иначе. После интервью, у меня было очень хорошее чувство, я был доволен. Но, я слышал, что даже если рекрутеры дали добро, Ларри должен сам одобрить кандидата. Я боялся, что, как только он увидит мою необразованность, то на этом все и закончится.
Но этого не произошло, и однажды, когда я ел суши на обеде в Санта-Клер, мне позвонили и я с энтузиазмом принял предложение о работе. В тот день, я точно знал, что я никогда не вернусь в школу.

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

P.S. К сожалению не хватает пока кармы чтобы разместить топик в соответствующих хабах, не пинайте сильно пожалуйста из-за этого)

Теги:

  • история успеха
  • работа в google
Добавить метки

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

Нет на свете идеальной работы, у каждого человека всегда будут какие-то жалобы, претензии и недовольство к своей работе!

Даже на такую известную компанию, как Google, есть жалобы сотрудников Гугл на свою «несчастную» работу!

Рассмотрим претензии работников Google к своей работе:

  • «Ой…у меня очень плохое самочувствие! Я сильно обгорел на Гавайях, когда был на корпоративе компании»;
  • «Очень тяжелой для меня является работа в Гугле ! Я бешусь от того, что мой тридцатидюймовый монитор закрывает красивый вид на горы»;

Компания Google сделала для меня больше, чем школьное образование.

  • «Эх…в моем кабинете не очень длинный диван, не могу лечь в полный рост!»;
  • «Мне дискомфортно от того, что тренажерный зал находиться в другом корпусе Google! Очень хочу чтобы открыли еще один спортивный зал в корпусе, где я работаю, так как я не хочу тратить на дорогу! Надеюсь мою претензию в компании рассмотрят в кратчайшие сроки!»;
  • «Меня бы больше радовала работа в гугле, если бы нам реже меняли мобильные телефоны! Так как я не успеваю привыкать к новым мобильный телефонам, потому что спустя несколько недель – его опять у меня отбирают и меняют на еще более новую модель! И так постоянно:(»;
  • «Со мной произошла одна казусная ситуация! Был день, когда я зашел в игровую комнату Google и там не было свободных мягких кресел для мня! И вот мне пришлось играть в Call of Duty на стуле! Представляете как это неудобно?»;

А вот еще удивительные жалобы сотрудников гугл:

  • «Я никак не могу по утрам налюбоваться Харбор-Бридж, потому что над Сиднеем восходит солнце и светит мне прям в окно! И я с неохотой закрываю его жалюзями!»;
  • «А я так сильно наедаюсь в компании Google во время завтрака, что совсем не успеваю проголодаться к обеду..а там сколько вкусностей, что приходиться кушать через силу:)»;
  • «Мне не нравится работа в гугл в том, что в корпусе где я работаю, ограниченный выбор развлекательных игровых автоматов! Поэтому, мне приходиться вставать и идти в другой корпус для утоления своего интереса»;
  • «Я девушка, и Вы знаете как оно, когда тебе портят прическу эти халявные стодолларовые наушники от компании Google»;

Даже есть и такие жалобы сотрудников гугл:

Вот раньше люди были начитанные, а сейчас - нагугленные…

  • « Ну скажите…как можно нормально работать в компании, если ты приходишь себе спокойно на кухню, а там недавно загрузили разные напитки и соки в холодильник, а они не успели как следует охладиться! Ну что это такое?»;
  • «Я никак не могу почувствовать разницы между настройками массажных кресел в компании Google! Не чувствую разницы между режимами: «Прилив сил», « », «Регенерация», непорядок!»;
  • «Меня на работе в Google, никак не покидает чувство неопределенности! Я, например, когда встаю с рабочего стола и иду на обед, то постоянно стою перед выбором: на какую же мне кухню пойти пообедать, так как они обе находятся на одинаковом расстоянии от меня».

Ну и как Вам Работа в Гугл? Как Вам жалобы сотрудников Гугл?