Як патрапіць на стажыроўку ў Google

Тыдзень таму мы расказалі пра нашых адукацыйных праграмах , дзе ў каментарах нам указалі на важнасць стажыровак і практычнага вопыту. З гэтым немагчыма не пагадзіцца, паколькі тэарэтычныя веды неабходна замацоўваць практыкай. Гэтым пастом мы адкрываем серыю артыкулаў пра летнія стажыроўкі студэнтаў: як хлопцы туды трапляюць, што яны там робяць і чаму гэта добра.

У першым артыкуле я раскажу, як паспяхова прайсці ўсе этапы сумоўяў і патрапіць на стажыроўку ў Google.

Як патрапіць на стажыроўку ў Google

Пары слоў пра сябе

Я студэнт 1-га курса магістратуры Піцерскага кампуса Вышкі, скончыў бакалаўрыят Акадэмічнага універсітэта па машынным навучанні. Падчас навучання ў бакалаўрыяце актыўна займаўся спартыўным праграмаваннем, а таксама ўдзельнічаў у розных хакатонах. Пра апошнія можна прачытаць тут, тут и тут.

Пра стажыроўку

Для пачатку я хачу крыху расказаць пра тое, як выглядае стажыроўка ў Google знутры.

Кожнага стажора, які прыходзіць у Google, прывязваюць да нейкай каманды. Гэта можа быць каманда, якая займаецца распрацоўкай унутранай інфраструктуры, пра якую чалавек па-за кампаніяй нічога не чуў, ці ж прадукта, якім карыстаюцца мільёны людзей па ўсім свеце. Такімі прадуктамі могуць быць даволі вядомыя YouTube, Google Docs і іншыя. Паколькі распрацоўкай гэтых праектаў займаюцца дзясяткі, а то і сотні распрацоўшчыкаў, вы трапіце ў каманду, якая спецыялізуецца на нейкай вузейшай яго частцы. Напрыклад, улетку 2018 гады я працаваў над Google Docs, дадаючы новую функцыянальнасць для працы з табліцамі.

Паколькі ў кампаніі вы з'яўляецеся стажорам, то ў вас ёсць мэнэджар, якога завуць хастом. Гэта звычайны фул-таймер, які сам займаецца распрацоўкай прадуктаў. Калі вы чагосьці не ведаеце, не можаце вырашыць ці сутыкнуліся з якімі-небудзь праблемамі, то трэба звяртацца да яго. Звычайна прызначаюцца штотыднёвыя сустрэчы сам-насам, дзе можна абмеркаваць бягучую сітуацыю ў працы над праектам або пабалбатаць пра што-небудзь зусім не якое адносіцца да справы. Да ўсяго іншага, хост - гэта адзін з тых людзей, якія будуць ацэньваць праведзеную вамі працу за час стажыроўкі. Яшчэ яе ацэньваць будзе другі, дадатковы, рэўюер. І вядома ж, яны зацікаўлены ў тым, каб у вас усё атрымалася.

У Google вам прышчэпяць, але гэта не сапраўды, добрую звычку пісаць дыздок (design document) перад тым, як вы сабраліся штосьці рабіць. Для тых, хто не ведае, дыздок - гэта дакумент, у якім выкладаецца сутнасць наяўнай праблемы, а таксама дэталёвае тэхнічнае апісанне яе вырашэння. Диздок можна пісаць як і для цэлага прадукта, так і для нейкай адной новай функцыянальнасці. Прачытаўшы такую ​​дакументацыю, можна зразумець, з якой мэтай быў задуманы прадукт, і якім чынам ён быў рэалізаваны. Таксама часта ў каментарах можна ўбачыць дыялогі паміж інжынерамі, якія абмяркоўваюць розныя спосабы рэалізацыі нейкай часткі праекту. Гэта дае добрае разуменне, з якой мэтай было прынятае кожнае рашэнне.

Асаблівасць стажыроўкі заключаецца ў тым, што вам трэба будзе карыстацца выдатнымі ўнутранымі інструментамі распрацоўкі, якіх у Google велізарная колькасць. Папрацаваўшы з імі і паразмаўляўшы са шматлікімі людзьмі, якія да гэтага працавалі ў Amazon, Nvidia і іншых шырока вядомых тэхналагічных кампаніях, магу скласці, што гэтыя прылады маюць вялікія шанцы апынуцца лепшымі сярод усіх, што вы калі-небудзь сустрэнеце ў сваім жыцці. Напрыклад, прылада пад назовам Google Code Search дазваляе не толькі праглядаць усю кодавую базу, гісторыю змен кожнага радка кода, але таксама дае магчымасць навігацыі па кодзе, да якой мы абвыклі ў сучасных асяроддзях распрацоўкі, такіх, як Intellij Idea.І для гэтага вам патрэбен усяго толькі браўзэр! Звязаны з гэтай жа асаблівасцю мінус заключаецца ў тым, што за межамі Google гэтых жа інструментаў вам будзе не хапаць.

Што да плюшак, то ў кампаніі стромкія офісы, нядрэнна кормяць, падаюць трэнажорную залу, добрую страхоўку і іншыя нішцякі. Проста пакіну тут пару фотачак з нью-ёркскага офіса:

Як патрапіць на стажыроўку ў Google
Як патрапіць на стажыроўку ў Google
Як патрапіць на стажыроўку ў Google

Як атрымаць аффер?

Агляд

Цяпер надышоў час пагаварыць пра нешта больш сур'ёзнае: як трапіць на стажыроўку?

Тут прамова пайдзе не пра Google, а пра тое, як гэта бывае ў агульным выпадку. Пра асаблівасці працэсу адбору стажораў у Google я напішу ніжэй.

Працэс сумоўя ў кампанію, хутчэй за ўсё, будзе выглядаць неяк так:

  1. Заяўка на стажыроўку
  2. Кантэст на Hackerrank/TripleByte Quiz
  3. Скрынінгавае інтэрв'ю
  4. Першае тэхнічнае інтэрв'ю
  5. Другое тэхнічнае інтэрв'ю
  6. Ёнсайт інтэрв'ю

Заяўка на стажыроўку

Відавочна, што ўсё пачынаецца з вашага жадання патрапіць на стажыроўку. Для гэтага вы павінны яго выказаць, запоўніўшы анкету на сайце кампаніі. Калі ў вас (ці ў вашых сяброў) ёсць знаёмыя, якія там працуюць, то можна паспрабаваць патрапіць праз іх. Гэты варыянт з'яўляецца пераважным, таму што дапамагае вам вылучыцца з вялізнага патоку астатніх студэнтаў. Калі такой магчымасці няма, то падавайцеся самастойна.

Паспрабуйце не моцна хвалявацца, калі вам на пошту будуць прыходзіць лісты са зместам віду "вы такі класны, але мы выбралі іншых кандыдатаў". І тут у мяне для вас ёсць парада:

Як патрапіць на стажыроўку ў Google

Кантэст на Hackerrank/TripleByte Quiz

Калі ваша рэзюмэ спадабалася рекрутеры - праз 1-2 тыдні вы атрымаеце ліст з наступным заданнем. Хутчэй за ўсё, вам прапануюць прайсці кантэст на Hackerrank, дзе трэба будзе за адведзены час вырашыць алгарытмічныя задачкі, ці TripleByte Quiz, дзе трэба будзе адказваць на розныя пытанні, якія тычацца алгарытмаў, распрацоўкі праграмнага забеспячэння і прылады нізкаўзроўневых сістэм. Гэты этап служыць першапачатковым фільтрам у працэсе адбору кандыдатаў.

Скрынінгавае інтэрв'ю

Калі выпрабаванне пройдзена паспяхова, далей вас чакае скрынінгавае інтэрв'ю, на якім вам трэба будзе гутарыць з рекрутеры аб вашых інтарэсах і аб праектах, якія кампанія прапануе стажорам. Калі выявіце зацікаўленасць, і ваш папярэдні досвед будзе адпавядаць чаканням кампаніі, то вам дадуць зялёнае святло. На маю вопыту, гэта самае непрадказальнае месца ва ўсім працэсе, якое вельмі моцна залежыць ад рекрутеры.

Калі вы зладзіліся з гэтымі трыма выпрабаваннямі, то асноўная дзель выпадковасці ўжо ззаду. Далей засталіся тэхнічныя інтэрв'ю, якія ўжо больш залежаць ад вас, а значыць, вы больш можаце паўплываць на іх зыход. І гэта добра!

Тэхнічныя інтэрв'ю

Далей ідуць тэхнічныя інтэрв'ю, якія звычайна праводзяць па Skype ці Hangouts. Але часам сустракаюцца больш экзатычныя сэрвісы, якія патрабуюць усталёўкі дадатковага праграмнага забеспячэння. Таму загадзя пераканайцеся, што на вашым кампутары ўсё працуе.

Фармат тэхнічных інтэрв'ю моцна залежыць ад пазіцыі, на якую вы гутарыце. Калі гаворка ідзе аб пазіцыі Software Engineering Intern, то вам, хутчэй за ўсё, прапануюць пару алгарытмічных задачак, рашэнне якіх трэба будзе закадзіць у якім-небудзь анлайн рэдактары кода, напрыклад, coderpad.io. Таксама могуць задаць пытанне на аб'ектна-арыентаваны дызайн, каб паглядзець, наколькі добра вы разбіраецеся ў праектаванні праграмнага забеспячэння. Напрыклад, могуць папрасіць спраектаваць прасценькі анлайн-краму. Праўда мне ні разу не траплялася такой задачы, па рашэнні якой сапраўды можна было б судзіць аб гэтым навыку. У канцы інтэрв'ю вам, напэўна, дадуць магчымасць задаць пытанні. Настойліва рэкамендую паставіцца да гэтага сур'ёзна, бо дзякуючы пытанням вы можаце паказаць сваю зацікаўленасць у праекце, прадэманстраваць сваю кампетэнтнасць у тэме. Я звычайна загадзя рыхтую спіс патэнцыйных пытанняў:

  • Як уладкованая праца над праектам?
  • Якую складаную задачу вам даводзілася рашаць за апошні час?
  • Які ўклад распрацоўніка ў выніковы прадукт?
  • Чаму вы вырашылі пайсці працаваць у гэтую кампанію?

Не заўсёды вас гутарыць чалавек, з якім трэба будзе працаваць у далейшым. Таму апошнія пытанні могуць даць уяўленне аб тым, што адбываецца ў кампаніі ў цэлым. Для мяне, напрыклад, важна, каб я меў уплыў на канчатковы прадукт.

У выпадку паспяховага праходжання першага інтэрв'ю вам прапануюць другое. Ад першага яно будзе адрознівацца інтэрв'юерам і, адпаведна, задачамі. Фармат, хутчэй за ўсё, застанецца такім жа. Пасля праходжання другога інтэрв'ю могуць прапанаваць і трэцяе.

Ёнсайт інтэрв'ю

Калі да гэтага моманту вам не адмовілі, то вас чакае ён сайт інтэрв'ю, калі кандыдата запрашаюць на сумоўе ў офіс кампаніі. Звычайна яно складаецца з некалькіх тэхнічных інтэрв'ю і аднаго паводніцкага. Падчас паводніцкага інтэрв'ю вы гутарыце з мэнэджэрам аб вашых праектах, аб тым, якія рашэнні вы прымалі ў розных сітуацыях, і да таго падобным. Гэта значыць інтэрв'юер спрабуе лепш зразумець вашу асобу і больш дэталёва разабрацца ў вашым досведзе. Некаторыя кампаніі, якія праводзяць па 3-4 тэхнічных гутаркі, замест онсайт інтэрв'ю прапануюць выдалена прайсці толькі адно паводніцкае.

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

Кодынг інтэрв'ю

Так, чакайце... Мы яшчэ не праходзілі ніякіх інтэрв'ю. Мы толькі пазналі як выглядае ўвесь працэс і зараз нам маецца быць добранька падрыхтавацца да гутарак, каб не выпусціць шанец прыемна і з карысцю правесці лета.

Існуюць такія рэсурсы як Codeforces, Topcoder и Hackerrank, Які я ўжо згадаў. На гэтых пляцоўках можна знайсці вялікую колькасць алгарытмічных задач, а таксама адсылаць іх рашэнні на аўтаматычную праверку. Гэта ўсё выдатна, аднак мне хутчэй нагадвае страляніну з гарматы па вераб'ях. Многія задачы на ​​гэтых рэсурсах разлічаны на працяглы час рашэння, патрабуюць веды прасунутых алгарытмаў і структур дадзеных, у той час як задачы на ​​сумоўях звычайна не такія складаныя і разлічаны на 5-20 хвілін. Таму ў нашым выпадку куды больш падыдзе такі рэсурс, як LeetCode, які і быў створаны як інструмент для падрыхтоўкі да тэхнічных сумоўяў. Калі вы вырашыце 100-200 задач рознай складанасці, то з вялікай верагоднасцю ў вас не ўзнікне праблем падчас інтэрв'ю. З годнага яшчэ ёсць Facebook Code Lab, На якім можна выбраць працягласць сесіі, напрыклад, 60 хвілін, і сістэма падбярэ вам набор задачак, на рашэнне якіх у сярэднім сыходзіць не больш за гадзіну.

Яшчэ многія раяць прачытаць кнігу «Cracking the Coding Interview». Сам жа я выбарачна чытаў толькі некаторыя яе часткі. Але варта адзначыць, што я шмат рашаў алгарытмічных задачак у свае школьныя гады. У каго такога досведу не было, усё ж варта гэтую кнігу хаця б прагартаць.

Таксама, калі ў вас у жыцці было мала тэхнічных сумоўяў у замежныя кампаніі, тое рэкамендуецца мінуць парачку выпрабавальных. Але чым больш, тым лепей. Гэта дапаможа вам больш упэўнена сябе адчуваць падчас інтэрв'ю і менш нервавацца. Пробныя сумоўі можна арганізаваць на Pramp.

Паводніцкія інтэрв'ю

Як я ўжо згадаў, падчас паводніцкай гутаркі інтэрв'юер спрабуе больш падрабязна пазнаць пра ваш досвед і зразумець ваш характар. Што калі вы выдатны распрацоўшчык, але не здольныя працаваць у камандзе? Баюся, што шмат каго гэта не задаволіць. Напрыклад, вам могуць задаць такое пытанне: "У чым заключаецца ваш слабы бок?" Акрамя пытанняў такога кшталту, вас папросяць расказаць пра праекты, у якіх вы адыгрывалі ключавую ролю, пра праблемы, з якімі давялося сустрэцца, а таксама іх рашэнні. Варта адзначыць, што на першых хвілінах тэхнічных інтэрв'ю вас таксама могуць пра гэта спытаць. Пра тое, як рыхтавацца да такіх сумоўяў, добра напісана ў адной з главаў у “Cracking the Coding Interview”.

Google

Цяпер, калі зразумела, як выглядае працэс адбору стажораў у агульным выпадку, і як рыхтавацца да сумоўяў, надышоў час пагаварыць пра тое, як гэта працуе ў выпадку з Google.

Спіс даступных стажыровак можна знайсці тут. Калі вы плануеце паехаць на летнюю стажыроўку, то варта пачаць падавацца ўжо ў верасні.

Гутаркі

Тут працэс выглядае крыху незвычайна. У вас будзе скрынінгавае інтэрв'ю і два тэхнічных. Калі вы на іх добра сябе пакажаце, тыя вы пяройдзеце ў стадыю пошуку праекту. Вам трэба будзе запоўніць даволі доўгую анкету, у якой вы пакажаце ўсе свае бягучыя ўменні, а таксама выкажаце перавагі па тэме праекта і лакацыі, у якой хочаце праходзіць стажыроўку.

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

Падчас размовы інтэрв'юер расказвае пра праект, над якім трэба будзе працаваць, а таксама даведаецца пра вопыт кандыдата. Тут ёсць выдатная магчымасць пазнаць, як будзе ў рэчаіснасці выглядаць працэс працы, бо вы маеце зносіны з чалавекам, які будзе вашым хастом. Пасля сумоўя вы пішаце ліст рекрутеру з вашымі ўражаннямі аб праекце. Калі праект вам спадабаўся, а вы спадабаліся інтэрв'юеру, то вас чакае афер. У адваротным выпадку, вы будзеце чакаць наступных званкоў, якіх можа быць 2-3-4 штукі, а можа больш і не быць зусім. Варта ўдакладніць, што нават калі вы добра прайшлі гутаркі, але на стадыі пошуку праекту вас не абрала ні адна каманда (а можа нават ніхто з вамі і не гутарыў), то, нажаль, вы застанецеся без аферы.

Амерыка ці Еўропа?

Апроч іншага вам трэба будзе вызначыцца з тым, дзе ў вас будзе праходзіць стажыроўка. У мяне выбар быў паміж ЗША і EMEA. І тут важна ведаць пра некаторыя асаблівасці. Напрыклад, ёсць адчуванне, што ў ЗША патрапіць складаней. Па-першае, вам трэба будзе прайсці дадатковы кантэст працягласцю 90 хвілін, дзе трэба будзе вырашаць алгарытмічныя задачы, а таксама яшчэ адно 15-хвіліннае апытанне, які спрабуе раскрыць ваш характар. Па-другое, па маім досведзе і досведу маіх сяброў, на стадыі пошуку каманды вамі цікавяцца радзей. Напрыклад, у 2017 годзе ў мяне была ўсяго адна гутарка, пасля якой каманда выбрала іншага кандыдата, і я не атрымаў афер. У той час як у хлопцаў, якія падаваліся ў Еўропу, было па 4-5 праектаў. У 2018 годзе мне знайшлі каманду ў студзені, што дастаткова позна. Рабяты працавалі ў Нью-Ёрку, мне спадабаўся іх праект, і я пагадзіўся.

Як бачыце, з ЗША ўсё крыху больш складана. Але мне хацелася туды патрапіць больш, чым у Еўропу. Плюс у ЗША яшчэ і больш плацяць.

Як патрапіць на стажыроўку ў Google

Што рабіць пасля?

У канцы стажыроўкі ў вас ёсць дзве опцыі:

  • Атрымаць стажыроўку на наступны год.
  • Прайсці два тэхнічныя сумоўі, каб атрымаць фул-тайм пазіцыю.

Гэтыя дзве опцыі даступныя пры ўмове таго, што вы паспяхова зладзіліся са сваім бягучым праектам. Калі ж гэтая стажыроўка ў вас не першая, то вам нават могуць прапанаваць фул-тайм пазіцыю без сумоўя.

Таму ўзнікае наступная сітуацыя, якую можна апісаць адной карцінкай:

Як патрапіць на стажыроўку ў Google

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

Заключэнне

Сябры, спадзяюся, што я даступна і зразумела расказаў пра тое, як выглядае шлях ад студэнта да стажора. (і потым назад…), і гэты матэрыял знойдзе свайго чытача, якому акажацца карысным. Як бачыце, гэта ўсё не так складана, як можа здацца, трэба толькі адкінуць сваю ляноту, свае страхі і пачаць спрабаваць!

PS Яшчэ ў мяне тут ёсць канальчык у возе, куды можна зазіраць.

Крыніца: habr.com

Дадаць каментар