Kako do pripravništva pri Googlu

Pred tednom dni sva govorila o naše izobraževalne programe , kjer so nas v komentarjih opozorili na pomen pripravništva in praktičnih izkušenj. S tem se ne moremo strinjati, saj je treba teoretično znanje utrditi s prakso. S to objavo odpiramo serijo člankov o poletni praksi za študente: kako fantje pridejo tja, kaj tam počnejo in zakaj je to dobro.

V prvem članku vam bom povedal, kako uspešno opraviti vse faze razgovorov in pridobiti prakso pri Googlu.

Kako do pripravništva pri Googlu

Nekaj ​​besed o sebi

Sem študentka 1. letnika magistrskega študija na kampusu HSE St. Petersburg, končala sem diplomo iz strojnega učenja na Akademski univerzi. V času dodiplomskega študija sem se aktivno ukvarjal s športnim programiranjem in sodeloval tudi na raznih hackathonih. O slednjem si lahko preberete tukaj, tukaj и tukaj.

O pripravništvu

Najprej vam želim povedati nekaj o tem, kako pripravništvo pri Googlu izgleda od znotraj.

Vsak pripravnik, ki pride v Google, je dodeljen ekipi. To je lahko ekipa, ki razvija notranjo infrastrukturo, za katero ljudje zunaj podjetja še nikoli niso slišali, ali izdelek, ki ga uporabljajo milijoni ljudi po vsem svetu. Takšni izdelki so lahko znani YouTube, Google Docs in drugi. Ker je pri razvoju teh projektov vključenih na desetine ali celo stotine razvijalcev, boste na koncu pristali v ekipi, ki je specializirana za nek ožji del tega. Na primer, poleti 2018 sem delal na Google Dokumentih in dodal novo funkcionalnost za delo s tabelami.

Ker ste pripravnik v podjetju, imate vodjo, imenovanega gostitelj. To je navaden polni delovni čas, ki sam razvija izdelke. Če nečesa ne veste, ne znate rešiti ali imate težave, se obrnite nanj. Običajno so načrtovani tedenski sestanki ena na ena, kjer lahko razpravljate o trenutni situaciji v projektu ali klepetate o nečem povsem nepovezanem. Poleg tega je gostitelj eden tistih ljudi, ki bodo ocenili delo, ki ste ga opravili med pripravništvom. Ocenil ga bo tudi drugi, dodatni recenzent. In seveda so zainteresirani, da vam uspe.

Google vam bo vcepil dobro navado, da napišete načrtovalski dokument, preden se odločite za kar koli, vendar to ni gotovo. Za tiste, ki ne vedo, projektni dokument je dokument, ki oriše bistvo obstoječega problema, pa tudi podroben tehnični opis njegove rešitve. Oblikovalski dokument je lahko napisan za celoten izdelek ali samo za eno novo funkcionalnost. Po branju te dokumentacije lahko razumete namen, za katerega je bil izdelek zasnovan in kako je bil izveden. Tudi v komentarjih lahko vidite dialoge med inženirji, ki razpravljajo o različnih načinih izvedbe nekega dela projekta. To omogoča dobro razumevanje namena vsake odločitve.

To pripravništvo naredi posebno to, da lahko uporabljate nekatera izjemna interna razvojna orodja, ki jih ima Google na pretek. Ko sem delal z njimi in se pogovarjal s številnimi ljudmi, ki so prej delali v Amazonu, Nvidii in drugih znanih tehnoloških podjetjih, lahko sklepam, da imajo ta orodja veliko možnosti, da bodo najboljša orodja, s katerimi se boste srečali v življenju. Orodje, imenovano Google Code Search, vam na primer omogoča ne le ogled celotne baze kode, zgodovino sprememb vsake vrstice kode, ampak vam omogoča tudi krmarjenje po kodi, ki smo je vajeni v sodobnih razvojnih okoljih, kot je kot Intellij Idea In za to potrebujete le brskalnik! Slaba stran, povezana s to isto funkcijo, je, da boste ta ista orodja pogrešali zunaj Googla.

Kar zadeva dobrote, ima podjetje kul pisarne, dobro hrano, telovadnico, dobro zavarovanje in druge dobrote. Tukaj bom pustil le nekaj fotografij iz pisarne v New Yorku:

Kako do pripravništva pri Googlu
Kako do pripravništva pri Googlu
Kako do pripravništva pri Googlu

Kako do ponudbe?

Pregled

Zdaj je čas za pogovor o nečem bolj resnem: kako do pripravništva?

Tukaj ne bomo govorili o Googlu, ampak o tem, kako se to zgodi v splošnem primeru. Spodaj bom pisal o značilnostih postopka izbire pripravnikov v Googlu.

Postopek razgovora v podjetju bo verjetno videti nekako takole:

  1. Prošnja za pripravništvo
  2. Tekmovanje v kvizu Hackerrank/TripleByte
  3. Pregledni intervju
  4. Prvi tehnični razgovor
  5. Drugi tehnični razgovor
  6. Onsight intervju

Prošnja za pripravništvo

Očitno se vse začne z vašo željo po pripravništvu. Če želite to narediti, ga morate izraziti tako, da izpolnite obrazec na spletni strani podjetja. Če imate vi (ali vaši prijatelji) prijatelje, ki tam delajo, lahko poskusite priti prek njih. Ta možnost je boljša, ker vam pomaga izstopati iz množice drugih študentov. Če to ni mogoče, se prijavite sami.

Poskusite ne biti preveč razburjeni, ko prejmete e-poštna sporočila z vsebino, kot je "tako ste kul, vendar smo izbrali druge kandidate." In tukaj imam nekaj nasvetov za vas:

Kako do pripravništva pri Googlu

Tekmovanje v kvizu Hackerrank/TripleByte

Če je bil najemniku všeč vaš življenjepis, boste čez 1-2 tedna prejeli pismo z naslednjo nalogo. Najverjetneje vam bodo ponudili sodelovanje v tekmovanju na Hackerranku, kjer boste morali rešiti algoritemske probleme v dodeljenem času, ali TripleByte kvizu, kjer boste morali odgovoriti na različna vprašanja v zvezi z algoritmi, razvojem programske opreme in oblikovanjem low- nivojski sistemi. Ta stopnja služi kot začetni filter v procesu izbire kandidatov.

Pregledni intervju

Če bo test uspešen, boste imeli presejalni intervju, med katerim se boste z zaposlovalcem pogovorili o svojih interesih in projektih, ki jih podjetje ponuja pripravnikom. Če pokažete zanimanje in se vaše prejšnje izkušnje ujemajo s pričakovanji podjetja, boste dobili zeleno luč. Po mojih izkušnjah je to najbolj nepredvidljivo mesto v celotnem procesu in je zelo odvisno od zaposlovalca.

Če ste opravili te tri teste, potem je večina naključnosti že za vami. Potem so tu tehnični razgovori, ki so bolj odvisni od vas, kar pomeni, da lahko bolj vplivate na njihov izid. In to je dobro!

Tehnični razgovori

Sledijo tehnični razgovori, ki se običajno izvajajo prek Skypa ali Hangouts. Toda včasih obstajajo bolj eksotične storitve, ki zahtevajo namestitev dodatne programske opreme. Zato se vnaprej prepričajte, da na vašem računalniku vse deluje.

Oblika tehničnih intervjujev se zelo razlikuje glede na položaj, za katerega opravljate razgovor. Če govorimo o delovnem mestu Software Engineering Intern, potem vam bo najverjetneje na voljo nekaj algoritemskih problemov, katerih rešitev bo treba kodirati v kakšnem spletnem urejevalniku kode, npr. coderpad.io. Lahko vam postavijo tudi vprašanje o objektno usmerjenem načrtovanju, da bi videli, kako dobro razumete načrtovanje programske opreme. Na primer, lahko jih prosijo, naj oblikujejo preprosto spletno trgovino. Res je, še nikoli nisem naletel na takšno nalogo, po rešitvi katere bi res lahko presodili to spretnost. Na koncu razgovora boste verjetno imeli priložnost zastavljati vprašanja. Toplo priporočam, da to vzamete resno, saj lahko z vprašanji pokažete svoje zanimanje za projekt in svojo kompetenco v temi. Običajno vnaprej pripravim seznam možnih vprašanj:

  • Kako poteka delo na projektu?
  • Kaj je največji izziv, ki ste ga morali rešiti v zadnjem času?
  • Kakšen je prispevek razvijalca h končnemu izdelku?
  • Zakaj ste se odločili za delo v tem podjetju?

Ne intervjuva te vedno oseba, s katero boš delal v prihodnosti. Zato lahko slednja vprašanja omogočijo vpogled v dogajanje v podjetju kot celoti. Meni je na primer pomembno, da imam vpliv na končni izdelek.

Če uspešno opravite prvi razgovor, vam bo ponujen drugi. Od prvega se bo razlikoval po anketarju in temu primerno tudi po nalogah. Oblika bo najverjetneje ostala enaka. Po opravljenem drugem razgovoru lahko ponudijo tretjega.

Onsight intervju

Če do te točke niste bili zavrnjeni, vas čaka onsight razgovor, ko je kandidat povabljen na razgovor v pisarno podjetja. Običajno je sestavljen iz več tehničnih intervjujev in enega vedenjskega intervjuja. Med vedenjskim intervjujem se z vodjo pogovarjate o svojih projektih, o tem, kakšne odločitve ste sprejemali v različnih situacijah in podobno. To pomeni, da spraševalec poskuša bolje razumeti vašo osebnost in podrobneje razumeti vaše izkušnje. Nekatera podjetja, ki opravijo 3-4 tehnične razgovore, namesto intervjuja na vpogled ponudijo samo en vedenjski intervju na daljavo.

Zdaj ostane le še počakati na odgovor zaposlovalca. Če je šlo vse gladko, boste zagotovo prejeli pismo z dolgo pričakovano ponudbo. Če ponudbe ni, ne bodite razburjeni. Podjetja sistematično zavračajo dobre kandidate. Naslednje leto se poskusite znova prijaviti za pripravništvo.

Intervju o kodiranju

Torej, počakaj... Nismo še opravili nobenega intervjuja. Pravkar smo izvedeli, kako izgleda celoten proces, zdaj pa se moramo dobro pripraviti na intervjuje, da ne zamudimo priložnosti za prijetno in koristno preživetje poletja.

Obstajajo sredstva, kot je npr Kodne sile, Topcoders и Hackerrankkar sem že omenil. Na teh straneh lahko najdete veliko število algoritemskih problemov in tudi pošljete njihove rešitve v samodejno preverjanje. Vse to je super, a me bolj spominja na streljanje vrabcev iz topa. Številne naloge na teh virih so oblikovane tako, da jih rešujejo dolgo in zahtevajo poznavanje naprednih algoritmov in podatkovnih struktur, medtem ko naloge v intervjujih običajno niso tako zapletene in so zasnovane tako, da trajajo 5-20 minut. Zato je v našem primeru vir, kot je npr LeetCode, ki je nastal kot orodje za pripravo na tehnične razgovore. Če rešite 100-200 problemov različne kompleksnosti, potem najverjetneje med razgovorom ne boste imeli težav. Še vedno je nekaj vrednih Facebook Code Lab, kjer lahko izberete trajanje seje, na primer 60 minut, sistem pa bo za vas izbral nabor problemov, katerih reševanje v povprečju ne traja več kot eno uro.

Marsikdo priporoča tudi branje knjige “Cracking the Coding Interview" Sam sem le izbrano prebral nekatere dele. Vendar je treba omeniti, da sem v šolskih letih rešil veliko algoritemskih problemov. Kdor take izkušnje še ni imel, naj vsaj prelista to knjigo.

Tudi, če ste imeli v življenju malo tehničnih razgovorov s tujimi podjetji, je priporočljivo opraviti nekaj poskusnih. Toda čim več, tem bolje. Tako se boste med intervjujem počutili bolj samozavestni in manj nervozni. Navidezni razgovori se lahko dogovorijo na Voziček.

Vedenjski intervjuji

Kot sem že omenil, med vedenjskim intervjujem spraševalec poskuša izvedeti več o vaši izkušnji in razumeti vaš značaj. Kaj pa, če ste odličen razvijalec, vendar niste dobri pri timskem delu? Bojim se, da marsikomu to ne bo ustrezalo. Na primer, lahko vas vprašajo naslednje vprašanje: "Kaj je vaša slabost?" Poleg tovrstnih vprašanj boste morali spregovoriti o projektih, v katerih ste igrali ključno vlogo, o težavah, s katerimi ste se srečevali, in njihovih rešitvah. Omeniti velja, da vas lahko v prvih minutah tehničnih razgovorov vprašajo tudi o tem. Kako se pripraviti na takšne razgovore, je dobro napisano v enem od poglavij v “Cracking the Coding Interview”.

google

Zdaj, ko razumemo, kako na splošno izgleda postopek izbire pripravnikov in kako se pripraviti na razgovore, je čas, da spregovorimo o tem, kako deluje v primeru Googla.

Seznam razpoložljivih pripravništev je na voljo tukaj. Če se nameravate odpraviti na poletno prakso, se morate začeti prijavljati že septembra.

Intervjuji

Tukaj je postopek videti nekoliko nenavaden. Imeli boste presejalni intervju in dva tehnična razgovora. Če se v njih dobro pokažete, potem boste prešli na stopnjo iskanja projekta. Izpolniti boste morali precej dolg vprašalnik, v katerem boste navedli vsa vaša trenutna znanja ter izrazili želje glede teme projekta in lokacije, kjer želite opravljati prakso.

Zelo pomembno je, da ta obrazec dobro in vestno izpolnite! Potencialni gostitelji, ki iščejo ljudi, ki bi se pridružili njihovemu projektu, pregledajo razpoložljive pripravnike in se dogovorijo za pogovore s kandidati, ki so jim všeč. Študente lahko filtrirajo po lokaciji, ključnih besedah, kljukicah v prijavnem obrazcu in razvrstijo po rezultatih intervjujev.

Med pogovorom se spraševalec pogovarja o projektu, na katerem bo delal, in se seznani s kandidatovimi izkušnjami. To je odlična priložnost, da izveste, kako bo dejansko izgledal delovni proces, saj komunicirate z osebo, ki bo vaš gostitelj. Po razgovoru napišete pismo najemniku s svojimi vtisi o projektu. Če vam je projekt všeč in vas ima anketar, potem vas čaka ponudba. V nasprotnem primeru boste pričakovali nadaljnje klice, ki so lahko 2-3-4 ali pa jih sploh ne. Vredno je pojasniti, da tudi če ste dobro opravili razgovore, vendar vas v fazi iskanja projekta ni izbrala nobena ekipa (ali morda nihče niti ni govoril z vami), potem boste, žal, ostali brez ponudbe .

Amerika ali Evropa?

Med drugim se boste morali odločiti, kje boste opravljali prakso. Izbiral sem med ZDA in EMEA. In tukaj je pomembno vedeti o nekaterih značilnostih. Na primer, obstaja občutek, da je težje priti v ZDA. Najprej se boste morali udeležiti dodatnega 90-minutnega tekmovanja, kjer boste morali reševati algoritemske probleme, pa tudi še enega 15-minutnega kviza, ki poskuša razkriti vaš značaj. Drugič, po mojih izkušnjah in izkušnjah mojih prijateljev vas na stopnji iskanja ekipe manj zanimajo. Na primer, leta 2017 sem imel samo en pogovor, po katerem je ekipa izbrala drugega kandidata in nisem dobil ponudbe. Medtem ko so imeli fantje, ki so se prijavljali v Evropo, 4-5 projektov. V letu 2018 so mi ekipo našli januarja, kar je precej pozno. Fantje so delali v New Yorku, njihov projekt mi je bil všeč in sem se strinjal.

Kot lahko vidite, so v ZDA stvari nekoliko bolj zapletene. Toda bolj kot v Evropo sem si želel tja. Poleg tega v ZDA plačajo več.

Kako do pripravništva pri Googlu

Kaj storiti po tem?

Ob koncu pripravništva imate dve možnosti:

  • Pridobite pripravništvo za naslednje leto.
  • Opravite dva tehnična razgovora, da dobite zaposlitev za polni delovni čas.

Ti dve možnosti sta na voljo pod pogojem, da ste uspešno zaključili svoj trenutni projekt. Če to ni vaše prvo pripravništvo, potem vam lahko celo ponudijo zaposlitev za polni delovni čas brez razgovorov.

Zato nastane naslednja situacija, ki jo lahko opišemo z eno sliko:

Kako do pripravništva pri Googlu

Ker je bilo to moje prvo pripravništvo, sem se odločil opraviti dva tehnična razgovora, da bi dobil redno delovno mesto. Glede na njihove rezultate so mi privolili v ponudbo in začeli iskati ekipo, vendar sem to možnost zavrnil, ker sem se odločil dokončati magisterij. Google verjetno ne bo izginil v 2-3 letih.

Zaključek

Prijatelji, upam, da sem na dostopen in razumljiv način pojasnil, kako izgleda pot od študenta do pripravnika. (in potem nazaj...), in to gradivo bo našlo svojega bralca, ki se mu bo zdelo koristno. Kot lahko vidite, to ni tako težko, kot se morda zdi, samo lenobo, strahove morate odložiti in začeti poskušati!

PS Tudi jaz ga imam tukaj kanal v vozičku, kjer si lahko ogledate.

Vir: www.habr.com

Dodaj komentar