Kako dobiti praksu u Google-u

Prije nedelju dana smo razgovarali o tome našim obrazovnim programima , gdje su nam komentari ukazali na važnost prakse i praktičnog iskustva. Nemoguće je ne složiti se s ovim, jer se teorijsko znanje mora konsolidirati praksom. Ovim postom otvaramo seriju članaka o ljetnim praksama za studente: kako momci tamo stignu, šta tamo rade i zašto je to dobro.

U prvom članku ću vam reći kako uspješno proći sve faze intervjua i dobiti praksu u Google-u.

Kako dobiti praksu u Google-u

Nekoliko riječi o sebi

Ja sam student 1. godine master studija na kampusu HSE St. Petersburg, završio sam diplomu mašinskog učenja na Akademskom univerzitetu. Tokom osnovnih studija aktivno sam se bavio sportskim programiranjem i učestvovao na raznim hakatonima. O ovom drugom možete pročitati ovdje, ovdje и ovdje.

O praksi

Prvo želim da vam kažem nešto o tome kako praksa u Google-u izgleda iznutra.

Svaki pripravnik koji dođe u Google dodjeljuje se timu. Ovo bi mogao biti tim koji razvija internu infrastrukturu za koju ljudi izvan kompanije nikada nisu čuli, ili proizvod koji koriste milioni ljudi širom svijeta. Takvi proizvodi mogu biti dobro poznati YouTube, Google Docs i drugi. Budući da su desetine, pa čak i stotine programera uključene u razvoj ovih projekata, završit ćete u timu koji je specijaliziran za neki njegov uži dio. Na primjer, u ljeto 2018. radio sam na Google dokumentima, dodajući novu funkcionalnost za rad sa tabelama.

Pošto ste pripravnik u kompaniji, imate menadžera koji se zove domaćin. Ovo je običan full timer koji sam razvija proizvode. Ako nešto ne znate, ne možete to riješiti ili imate bilo kakvih problema, obratite mu se. Obično se zakazuju sedmični sastanci jedan na jedan na kojima možete razgovarati o trenutnoj situaciji u projektu ili razgovarati o nečemu potpuno nepovezanom. Osim toga, domaćin je jedan od onih ljudi koji će ocijeniti rad koji ste obavili tokom prakse. Također će ga ocijeniti drugi, dodatni recenzent. I naravno, zainteresovani su da uspete.

Google će vam usaditi, ali to nije sigurno, dobru naviku pisanja dizajnerskog dokumenta prije nego što nešto učinite. Za one koji ne znaju, projektni dokument je dokument koji prikazuje suštinu postojećeg problema, kao i detaljan tehnički opis njegovog rješenja. Dizajnerski dokument se može napisati za cijeli proizvod ili samo za jednu novu funkcionalnost. Nakon čitanja takve dokumentacije, možete razumjeti svrhu za koju je proizvod zamišljen i kako je implementiran. Također često u komentarima možete vidjeti dijaloge između inženjera koji raspravljaju o različitim načinima implementacije nekog dijela projekta. Ovo daje dobro razumijevanje svrhe iza svake odluke.

Ono što ovu praksu čini posebnim je to što možete koristiti neke od nevjerovatnih alata za interni razvoj kojih Google ima u izobilju. Nakon što sam radio s njima i razgovarao sa mnogim ljudima koji su ranije radili u Amazonu, Nvidiji i drugim poznatim tehnološkim kompanijama, mogu zaključiti da ovi alati imaju velike šanse da budu najbolji alati s kojima ćete se ikada susresti u životu. Na primjer, alat pod nazivom Google Code Search omogućava vam ne samo da vidite cijelu vašu bazu kodova, historiju promjena svake linije koda, već vam također daje mogućnost navigacije kroz kod na koji smo navikli u modernim razvojnim okruženjima kao što je kao Intellij Idea. A za ovo vam je potreban samo pretraživač! Nedostatak povezan sa ovom istom funkcijom je da će vam nedostajati isti alati izvan Googlea.

Što se tiče poslastica, kompanija ima cool kancelarije, dobru hranu, teretanu, dobro osiguranje i druge dobrote. Ostaviću ovde samo par fotografija iz kancelarije u Njujorku:

Kako dobiti praksu u Google-u
Kako dobiti praksu u Google-u
Kako dobiti praksu u Google-u

Kako dobiti ponudu?

pregled

Sada je vrijeme da razgovaramo o nečem ozbiljnijem: kako doći do pripravničkog staža?

Ovdje nećemo govoriti o Google-u, već o tome kako se to događa u općenitom slučaju. U nastavku ću pisati o karakteristikama procesa odabira pripravnika u Googleu.

Proces intervjua kompanije će vjerovatno izgledati otprilike ovako:

  1. Prijava za pripravnički staž
  2. Takmičenje na Hackerrank/TripleByte kvizu
  3. Skrining intervju
  4. Prvi tehnički intervju
  5. Drugi tehnički intervju
  6. Onsight intervju

Prijava za pripravnički staž

Očigledno, sve počinje od vaše želje da dobijete praksu. Da biste to učinili, morate to izraziti popunjavanjem obrasca na web stranici kompanije. Ako vi (ili vaši prijatelji) imate prijatelje koji tamo rade, možete pokušati ući preko njih. Ova opcija je poželjnija jer vam pomaže da se izdvojite iz gomile drugih učenika. Ako to nije moguće, prijavite se sami.

Pokušajte da ne budete previše uznemireni kada dobijete e-poruke sa sadržajem poput „tako ste cool, ali odabrali smo druge kandidate“. I evo imam nekoliko savjeta za vas:

Kako dobiti praksu u Google-u

Takmičenje na Hackerrank/TripleByte kvizu

Ako se regruteru svidio vaš životopis, za 1-2 sedmice ćete dobiti pismo sa sljedećim zadatkom. Najvjerovatnije će vam biti ponuđeno da učestvujete na takmičenju na Hackerrank-u, gdje ćete morati riješiti algoritamske probleme u zadanom vremenu, ili TripleByte Quiz, gdje ćete morati odgovoriti na razna pitanja u vezi algoritama, razvoja softvera i dizajna nisko- sistemi nivoa. Ova faza služi kao početni filter u procesu selekcije kandidata.

Skrining intervju

Ako test bude uspješan, imat ćete skrining intervju, tokom kojeg ćete razgovarati sa regruterom o svojim interesovanjima i projektima koje kompanija nudi pripravnicima. Ako pokažete interesovanje i vaše prethodno iskustvo odgovara očekivanjima kompanije, dobićete zeleno svetlo. Po mom iskustvu, ovo je najnepredvidljivije mjesto u cijelom procesu i mnogo ovisi o regruteru.

Ako ste prošli ova tri testa, onda je najveći dio slučajnosti već iza vas. Zatim slijede tehnički intervjui, koji više ovise o vama, što znači da možete više utjecati na njihov ishod. I ovo je dobro!

Tehnički intervjui

Slijede tehnički intervjui, koji se obično vode preko Skypea ili Hangoutsa. Ali ponekad postoje egzotičnije usluge koje zahtijevaju instalaciju dodatnog softvera. Stoga se unaprijed uvjerite da sve radi na vašem računaru.

Format tehničkih intervjua uvelike varira u zavisnosti od pozicije za koju intervjuišete. Ako govorimo o poziciji pripravnika za softversko inženjerstvo, onda će vam najvjerovatnije biti ponuđeno nekoliko algoritamskih problema, čije rješenje će morati biti kodirano u nekom online uređivaču koda, na primjer, coderpad.io. Takođe vam mogu postaviti pitanje o objektno orijentisanom dizajnu da vide koliko dobro razumete dizajn softvera. Na primjer, od njih se može tražiti da dizajniraju jednostavnu internet prodavnicu. Istina, nikada nisam naišao na takav zadatak po čijem bi se rješavanju zaista moglo suditi o ovoj vještini. Na kraju intervjua, vjerovatno ćete dobiti priliku da postavljate pitanja. Toplo preporučujem da ovo shvatite ozbiljno, jer kroz pitanja možete pokazati svoje interesovanje za projekat i pokazati svoju kompetentnost u temi. Obično unaprijed pripremim listu potencijalnih pitanja:

  • Kako funkcionira rad na projektu?
  • Koji je najveći izazov koji ste morali riješiti u posljednje vrijeme?
  • Kakav je doprinos programera konačnom proizvodu?
  • Zašto ste se odlučili da radite u ovoj kompaniji?

Ne intervjuiše vas uvijek osoba s kojom ćete raditi u budućnosti. Stoga potonja pitanja mogu dati uvid u ono što se dešava u kompaniji u cjelini. Meni je, na primjer, važno da imam utjecaj na konačni proizvod.

Ako uspješno prođete prvi intervju, bit će vam ponuđen drugi. Od prvog će se razlikovati u anketarcu i, shodno tome, u zadacima. Format će najvjerovatnije ostati isti. Nakon prolaska drugog intervjua, mogu ponuditi i treći.

Onsight intervju

Ako do ovog trenutka niste bili odbijeni, čeka vas neposredni razgovor, kada kandidat bude pozvan na razgovor u kancelariju kompanije. Obično se sastoji od nekoliko tehničkih intervjua i jednog bihejvioralnog intervjua. Tokom bihejvioralnog intervjua razgovarate sa menadžerom o svojim projektima, koje ste odluke donosili u različitim situacijama i slično. Odnosno, anketar pokušava bolje razumjeti vašu ličnost i detaljnije razumjeti vaše iskustvo. Neke kompanije koje provode 3-4 tehnička intervjua nude samo jedan bihejvioralni intervju na daljinu umjesto intervjua na uvid.

Sada ostaje samo da sačekamo odgovor regrutera. Ako je sve prošlo bez problema, onda ćete sigurno dobiti pismo sa dugo očekivanom ponudom. Ako nema ponude, nemojte se nervirati. Kompanije sistematski odbijaju dobre kandidate. Pokušajte se ponovo prijaviti za praksu sljedeće godine.

Kodiranje intervjua

Dakle, čekajte... Nismo još obavili nijedan intervju. Upravo smo saznali kako cijeli proces izgleda i sada se moramo dobro pripremiti za intervjue kako ne bismo propustili priliku da provedemo ugodno i korisno ljeto.

Postoje resursi kao npr Codeforces, Topkoderi и Hackerrankkoje sam već pomenuo. Na ovim stranicama možete pronaći veliki broj algoritamskih problema, a također i poslati njihova rješenja na automatsku provjeru. Sve je to super, ali me više podsjeća na gađanje vrapca iz topa. Mnogi zadaci na ovim resursima su dizajnirani tako da im je potrebno dugo za rješavanje i zahtijevaju poznavanje naprednih algoritama i struktura podataka, dok zadaci na intervjuima obično nisu tako složeni i predviđeni su da traju 5-20 minuta. Stoga, u našem slučaju, resurs kao što je npr LeetCode, koji je kreiran kao alat za pripremu za tehničke intervjue. Ako riješite 100-200 problema različite složenosti, onda najvjerovatnije nećete imati problema tokom intervjua. Ima još vrijednih Facebook Code Lab, gdje možete odabrati trajanje sesije, na primjer, 60 minuta, a sistem će za vas odabrati skup problema za čije rješavanje u prosjeku nije potrebno više od sat vremena.

Mnogi ljudi takođe preporučuju čitanje knjige “Razbijanje intervjua za kodiranje" Ja sam samo selektivno čitao neke njegove dijelove. Ali vrijedi napomenuti da sam riješio mnogo algoritamskih problema tokom školskih godina. Svako ko nije imao takvo iskustvo trebao bi barem prolistati ovu knjigu.

Takođe, ako ste u životu imali nekoliko tehničkih intervjua sa stranim kompanijama, onda je preporučljivo da obavite nekoliko probnih. Ali što više, to bolje. To će vam pomoći da se osjećate sigurnije tokom intervjua i manje nervozni. Lažni intervjui se mogu dogovoriti na Pramp.

Bihevioralni intervjui

Kao što sam spomenuo, tokom bihevioralnog intervjua, anketar pokušava saznati više o vašem iskustvu i razumjeti vaš karakter. Šta ako ste odličan programer, ali niste dobri u timskom radu? Bojim se da ovo mnogima neće odgovarati. Na primjer, moglo bi vam se postaviti sljedeće pitanje: “Koja je vaša slabost?” Pored pitanja ove vrste, od vas će se tražiti da govorite o projektima u kojima ste igrali ključnu ulogu, o problemima na koje ste naišli, kao i njihovim rješenjima. Vrijedi napomenuti da vas u prvim minutama tehničkih intervjua također mogu pitati o tome. Kako se pripremiti za takve intervjue, dobro je napisano u jednom od poglavlja u “Razbijanju intervjua za kodiranje”.

Google

Sada kada smo shvatili kako općenito izgleda proces odabira pripravnika i kako se pripremiti za intervjue, vrijeme je da razgovaramo o tome kako to funkcionira u slučaju Googlea.

Spisak dostupnih stažiranja možete pronaći ovdje. Ukoliko planirate da idete na letnju praksu, trebalo bi da se prijavite već u septembru.

Intervjui

Ovdje proces izgleda malo neobično. Imaćete skrining intervju i dva tehnička intervjua. Ako se u njima dobro pokažete, onda prelazite na fazu traženja projekta. Morat ćete popuniti prilično dugačak upitnik u kojem ćete navesti sve svoje trenutne vještine, kao i izraziti svoje preferencije o temi projekta i lokaciji na kojoj želite odraditi praksu.

Veoma je važno da ovaj formular popunite dobro i marljivo! Potencijalni domaćini koji traže ljude da se pridruže njihovom projektu pregledavaju dostupne pripravnike i dogovaraju razgovore sa kandidatima koji im se sviđaju. Oni mogu filtrirati studente prema lokaciji, ključnim riječima, kvačicama u obrascu za prijavu i sortirati prema rezultatima intervjua.

Tokom razgovora, anketar govori o projektu na kojem će se raditi, a također uči o iskustvu kandidata. Ovo je odlična prilika da saznate kako će zapravo izgledati radni proces, jer komunicirate sa osobom koja će vam biti domaćin. Nakon intervjua, pišete pismo regruteru sa svojim utiscima o projektu. Ako vam se projekat sviđa, a intervjueru se sviđate, onda vas čeka ponuda. U suprotnom ćete očekivati ​​naknadne pozive, koji mogu biti 2-3-4, a možda i ne. Vrijedi pojasniti da čak i ako ste dobro prošli intervjue, ali u fazi traženja projekta vas nijedan tim nije izabrao (ili možda niko nije ni razgovarao s vama), onda ćete, nažalost, ostati bez ponude .

Amerika ili Evropa?

Između ostalog, morat ćete odlučiti gdje ćete obavljati praksu. Imao sam izbor između SAD i EMEA. I ovdje je važno znati o nekim karakteristikama. Na primjer, postoji osjećaj da je teže doći do SAD-a. Prvo, moraćete da učestvujete u dodatnom takmičenju od 90 minuta u kojem ćete morati da rešavate algoritamske probleme, kao i još jedan kviz od 15 minuta koji pokušava da otkrije vaš karakter. Drugo, prema mom iskustvu i iskustvu mojih prijatelja, u fazi pretraživanja, timovi su manje zainteresirani za vas. Na primjer, 2017. godine imao sam samo jedan razgovor, nakon čega je tim izabrao drugog kandidata i nisam dobio ponudu. Dok su momci koji su aplicirali u Evropu imali 4-5 projekata. 2018. su mi našli ekipu u januaru, što je dosta kasno. Momci su radili u Njujorku, svideo mi se njihov projekat i pristao sam.

Kao što vidite, u SAD su stvari malo komplikovanije. Ali više sam želeo da odem tamo nego u Evropu. Plus u SAD-u plaćaju više.

Kako dobiti praksu u Google-u

Šta učiniti poslije?

Na kraju prakse imate dvije mogućnosti:

  • Dobijte praksu za sledeću godinu.
  • Prođite dva tehnička intervjua da biste dobili poziciju sa punim radnim vremenom.

Ove dvije opcije su dostupne pod uslovom da ste uspješno završili svoj trenutni projekat. Ako ovo nije vaš prvi staž, možda vam čak bude ponuđeno radno mjesto s punim radnim vremenom bez intervjua.

Stoga se javlja sljedeća situacija koja se može opisati jednom slikom:

Kako dobiti praksu u Google-u

Pošto mi je ovo bio prvi staž, odlučio sam da prođem dva tehnička intervjua kako bih dobio posao sa punim radnim vremenom. Na osnovu njihovih rezultata pristali su da mi daju ponudu i krenuli u traženje tima, ali sam tu opciju odbio jer sam odlučio da završim master studije. Malo je vjerovatno da će Google nestati za 2-3 godine.

zaključak

Prijatelji, nadam se da sam na pristupačan i razumljiv način objasnio kako izgleda put od studenta do pripravnika. (i onda nazad...), a ovaj materijal će naći svog čitaoca kome će biti od koristi. Kao što vidite, ovo nije tako teško kao što se čini, samo trebate ostaviti po strani svoju lijenost, svoje strahove i početi pokušavati!

PS I ja ga imam ovdje kanal u kolica gde možete pogledati.

izvor: www.habr.com

Dodajte komentar