Как да получите стаж в Google

Преди седмица говорихме за нашите образователни програми , където коментарите ни посочиха важността на стажовете и практическия опит. Невъзможно е да не се съгласим с това, тъй като теоретичните знания трябва да бъдат консолидирани от практиката. С тази публикация отваряме поредица от статии за летните стажове за студенти: как момчетата стигат до там, какво правят там и защо е добре.

В първата статия ще ви кажа как да преминете успешно всички етапи на интервюта и да получите стаж в Google.

Как да получите стаж в Google

Няколко думи за себе си

Студент съм 1-ва година магистър в кампуса на HSE Санкт Петербург; завърших бакалавърска степен по машинно обучение в Академичния университет. По време на бакалавърското си обучение се занимавах активно със спортно програмиране и участвах в различни хакатони. Можете да прочетете за последното тук, тук и тук.

Относно стажа

Първо, искам да ви разкажа малко за това как изглежда един стаж в Google отвътре.

Всеки стажант, който идва в Google, е назначен в екип. Това може да е екип, разработващ вътрешна инфраструктура, за която хората извън компанията никога не са чували, или продукт, който се използва от милиони хора по света. Такива продукти могат да бъдат добре познатите YouTube, Google Docs и други. Тъй като десетки или дори стотици разработчици участват в разработването на тези проекти, ще се окажете в екип, който е специализиран в някаква по-тясна част от него. Например през лятото на 2018 г. работих върху Google Docs, добавяйки нова функционалност за работа с таблици.

Тъй като сте стажант в компанията, имате мениджър, наречен хост. Това е обикновен пълен работен ден, който сам разработва продукти. Ако не знаете нещо, не можете да го решите или се сблъсквате с някакви проблеми, тогава трябва да се свържете с него. Обикновено се планират седмични срещи един на един, където можете да обсъдите текущата ситуация в проекта или да поговорите за нещо, което няма нищо общо. Освен това домакинът е от хората, които ще оценят работата, която сте свършили по време на стажа. Той също така ще бъде оценен от втори допълнителен рецензент. И разбира се, те се интересуват да успеете.

Google ще ви внуши, но това не е сигурно, добрия навик да пишете проектантски документ, преди да предприемете нещо. За тези, които не знаят, проектният документ е документ, който очертава същността на съществуващия проблем, както и подробно техническо описание на неговото решение. Проектен документ може да бъде написан за цял продукт или само за една нова функционалност. След като прочетете такава документация, можете да разберете целта, за която е замислен продуктът и как е бил внедрен. Също така често в коментарите можете да видите диалози между инженери, които обсъждат различни начини за изпълнение на част от проекта. Това дава добро разбиране на целта зад всяко решение.

Това, което прави този стаж специален е, че можете да използвате някои от невероятните вътрешни инструменти за разработка, които Google има в изобилие. След като работих с тях и разговарях с много хора, които преди това са работили в Amazon, Nvidia и други добре известни технологични компании, мога да заключа, че тези инструменти имат голям шанс да бъдат най-добрите инструменти, които някога ще срещнете в живота си. Например, инструмент, наречен Google Code Search, ви позволява не само да преглеждате цялата си кодова база, историята на промените във всеки ред код, но също така ви дава възможност да навигирате в кода, с който сме свикнали в съвременните среди за разработка, като като Intellij Idea. А за това ви трябва само браузър! Недостатъкът, свързан със същата тази функция, е, че ще пропуснете същите тези инструменти извън Google.

Що се отнася до екстрите, компанията има готини офиси, добра храна, фитнес, добра застраховка и други екстри. Само ще оставя тук няколко снимки от офиса в Ню Йорк:

Как да получите стаж в Google
Как да получите стаж в Google
Как да получите стаж в Google

Как да получите оферта?

Преглед

Сега е време да поговорим за нещо по-сериозно: как да получите стаж?

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

Процесът на интервю в компанията вероятно ще изглежда така:

  1. Заявление за стаж
  2. Състезание по Hackerrank/TripleByte Quiz
  3. Интервю за скрининг
  4. Първо техническо интервю
  5. Второ техническо интервю
  6. Onsight интервю

Заявление за стаж

Очевидно всичко започва с желанието ви да получите стаж. За да направите това, трябва да го изразите, като попълните формуляр на уебсайта на компанията. Ако вие (или вашите приятели) имате приятели, които работят там, можете да опитате да влезете през тях. Тази опция е за предпочитане, защото ви помага да се откроите от тълпата други студенти. Ако това не е възможно, тогава кандидатствайте сами.

Опитайте се да не се разстройвате много, когато получавате имейли със съдържание като „ти си толкова готин, но ние избрахме други кандидати“. И тук имам няколко съвета за вас:

Как да получите стаж в Google

Състезание по Hackerrank/TripleByte Quiz

Ако рекрутерът е харесал вашата автобиография, след 1-2 седмици ще получите писмо със следващата задача. Най-вероятно ще ви бъде предложено да участвате в състезание на Hackerrank, където ще трябва да решавате алгоритмични проблеми за определеното време, или TripleByte Quiz, където ще трябва да отговорите на различни въпроси относно алгоритмите, разработката на софтуер и дизайна на ниско- нивосистеми. Този етап служи като начален филтър в процеса на подбор на кандидати.

Интервю за скрининг

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

Ако сте преминали тези три теста, тогава по-голямата част от случайността вече е зад вас. След това има технически интервюта, които зависят повече от вас, което означава, че можете да повлияете повече на резултата им. И това е добре!

Технически интервюта

Следват техническите интервюта, които обикновено се провеждат през Skype или Hangouts. Но понякога има и по-екзотични услуги, които изискват инсталирането на допълнителен софтуер. Затова се уверете, че всичко работи на вашия компютър предварително.

Форматът на техническите интервюта варира значително в зависимост от позицията, за която интервюирате. Ако говорим за позицията стажант по софтуерно инженерство, тогава най-вероятно ще ви бъдат предложени няколко алгоритмични проблема, чието решение ще трябва да бъде кодирано в някакъв онлайн редактор на кодове, например, coderpad.io. Те могат също така да ви зададат въпрос за обектно-ориентиран дизайн, за да видят колко добре разбирате софтуерния дизайн. Например, те могат да бъдат помолени да проектират прост онлайн магазин. Вярно, никога не съм срещал такава задача, чрез решението на която наистина би било възможно да се прецени това умение. В края на интервюто вероятно ще ви бъде дадена възможност да задавате въпроси. Горещо ви препоръчвам да приемете това сериозно, защото чрез въпроси можете да покажете интереса си към проекта и да демонстрирате своята компетентност по темата. Обикновено подготвям списък с потенциални въпроси предварително:

  • Как протича работата по проекта?
  • Кое е най-голямото предизвикателство, което трябва да решите напоследък?
  • Какъв е приносът на разработчика за крайния продукт?
  • Защо решихте да работите в тази компания?

Не винаги сте интервюиран от човека, с когото ще работите в бъдеще. Следователно последните въпроси могат да дадат представа какво се случва в компанията като цяло. За мен например е важно да имам влияние върху крайния продукт.

Ако преминете успешно първото интервю, ще ви бъде предложено второ. Той ще се различава от първия по интервюиращия и съответно по задачите. Най-вероятно форматът ще остане същият. След преминаване на второто интервю, те могат да предложат трето.

Onsight интервю

Ако до този момент не сте получили отказ, то ви очаква onsight интервю, когато кандидатът е поканен на интервю в офиса на компанията. Обикновено се състои от няколко технически интервюта и едно поведенческо интервю. По време на поведенческо интервю разговаряте с мениджъра за вашите проекти, какви решения сте взели в различни ситуации и други подобни. Тоест, интервюиращият се опитва да разбере по-добре вашата личност и да разбере по-подробно вашия опит. Някои компании, които провеждат 3-4 технически интервюта, предлагат само едно поведенческо интервю от разстояние вместо onsight интервю.

Сега остава само да изчакаме отговора на специалиста по подбор. Ако всичко е минало гладко, тогава определено ще получите писмо с дългоочакваното предложение. Ако няма оферта, не се разстройвайте. Компаниите систематично отхвърлят добрите кандидати. Опитайте да кандидатствате за стаж отново следващата година.

Интервю за кодиране

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

Има ресурси като Codeforces, TopCoder и Hackerrankкоето вече споменах. На тези сайтове можете да намерите голям брой алгоритмични проблеми, както и да изпратите техните решения за автоматична проверка. Всичко това е страхотно, но по-скоро ми напомня на стрелба по врабчета от оръдие. Много задачи в тези ресурси са проектирани да отнемат много време за решаване и изискват познаване на усъвършенствани алгоритми и структури от данни, докато задачите в интервютата обикновено не са толкова сложни и са проектирани да отнемат 5-20 минути. Следователно в нашия случай ресурс като напр LeetCode, който е създаден като инструмент за подготовка за технически интервюта. Ако решите 100-200 задачи с различна сложност, най-вероятно няма да имате проблеми по време на интервюто. Все още има достойни Facebook Code Lab, където можете да изберете продължителността на сесията, например 60 минути, и системата ще избере набор от проблеми за вас, чието решаване отнема средно не повече от час.

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

Освен това, ако през живота си сте имали няколко технически интервюта с чуждестранни компании, тогава се препоръчва да вземете няколко пробни. Но колкото повече, толкова по-добре. Това ще ви помогне да се чувствате по-уверени по време на интервюто и по-малко нервни. Симулирани интервюта могат да бъдат организирани на Количка.

Поведенчески интервюта

Както споменах, по време на поведенческо интервю, интервюиращият се опитва да научи повече за вашия опит и да разбере характера ви. Ами ако сте страхотен разработчик, но не сте добри в работата в екип? Страхувам се, че това няма да угоди на много хора. Например може да ви бъде зададен следният въпрос: „Каква е вашата слабост?“ Освен въпроси от този вид, ще бъдете помолени да говорите за проекти, в които сте изиграли ключова роля, за проблемите, които сте срещнали, както и за техните решения. Струва си да се отбележи, че в първите минути на техническите интервюта може да бъдете попитани и за това. Как да се подготвите за такива интервюта е добре написано в една от главите в „Разбиване на интервюто за кодиране“.

Google

Сега, след като разбираме как изглежда процесът на подбор на стажанти като цяло и как да се подготвим за интервюта, е време да поговорим за това как работи в случая с Google.

Можете да намерите списък с наличните стажове тук. Ако планирате да отидете на летен стаж, трябва да започнете да кандидатствате още през септември.

Интервюта

Тук процесът изглежда малко необичаен. Ще имате скрининг интервю и две технически интервюта. Ако се покажете добре в тях, тогава ще преминете към етапа на търсене на проект. Ще трябва да попълните доста дълъг въпросник, в който ще посочите всичките си настоящи умения, както и да изразите предпочитанията си по темата на проекта и местоположението, в което искате да стажувате.

Много е важно да попълните този формуляр добре и старателно! Потенциалните домакини, които търсят хора, които да се присъединят към техния проект, преглеждат наличните стажанти и организират разговори с кандидатите, които харесват. Те могат да филтрират учениците по местоположение, ключови думи, отметки във формуляра за кандидатстване и да сортират по резултати от интервюта.

По време на разговора интервюиращият говори за проекта, по който ще работи, и също така научава за опита на кандидата. Това е чудесна възможност да разберете как реално ще изглежда работният процес, защото общувате с човека, който ще бъде ваш домакин. След интервюто пишете писмо до специалиста по подбор на персонал с вашите впечатления от проекта. Ако харесвате проекта и интервюиращият ви харесва, тогава ви очаква предложение. В противен случай ще очаквате последващи обаждания, които може да са 2-3-4, а може и да не са никакви. Струва си да се изясни, че дори ако сте преминали добре интервютата, но на етапа на търсене на проект нито един екип не ви е избрал (или може би никой дори не е говорил с вас), тогава, уви, ще останете без оферта .

Америка или Европа?

Освен всичко друго, ще трябва да решите къде ще провеждате стажа си. Имах избор между САЩ и EMEA. И тук е важно да знаете за някои функции. Например, има усещането, че е по-трудно да стигнете до САЩ. Първо, ще трябва да вземете допълнително 90-минутно състезание, където ще трябва да решавате алгоритмични задачи, както и друг 15-минутен тест, който се опитва да разкрие вашия характер. Второ, според моя опит и опита на моите приятели, на етапа на търсене екипите се интересуват по-малко от вас. Например през 2017 г. проведох само един разговор, след който екипът избра друг кандидат, а аз не получих оферта. Докато момчетата, които кандидатстваха в Европа, имаха 4-5 проекта. През 2018 г. ми намериха екип през януари, което е доста късно. Момчетата работеха в Ню Йорк, харесах проекта им и се съгласих.

Както можете да видите, в САЩ нещата са малко по-сложни. Но исках да отида там повече, отколкото в Европа. Освен това в САЩ плащат повече.

Как да получите стаж в Google

Какво да правим след това?

В края на стажа имате две възможности:

  • Вземете стаж за следващата година.
  • Преминете две технически интервюта, за да получите позиция на пълен работен ден.

Тези две опции са налични при условие, че сте завършили успешно текущия си проект. Ако това не е първият ви стаж, може дори да ви бъде предложена работа на пълен работен ден без интервюта.

Следователно възниква следната ситуация, която може да бъде описана с една снимка:

Как да получите стаж в Google

Тъй като това беше първият ми стаж, реших да премина през две технически интервюта, за да получа позиция на пълен работен ден. Въз основа на техните резултати се съгласиха да ми дадат оферта и започнаха да търсят екип, но аз отказах тази опция, защото реших да завърша магистратура. Google едва ли ще изчезне до 2-3 години.

Заключение

Приятели, надявам се, че обясних достъпно и разбираемо как изглежда пътят от студент до стажант. (и после обратно...), а този материал ще намери своя читател, на когото ще бъде полезен. Както можете да видите, това не е толкова трудно, колкото може да изглежда, просто трябва да оставите настрана мързела си, страховете си и да започнете да опитвате!

PS Аз също го имам тук канал в количка, където можете да погледнете.

Източник: www.habr.com

Добавяне на нов коментар