Acum o săptămână, am vorbit despre , unde în comentarii ne-au semnalat importanța stagiilor și a experienței practice. Cu acest lucru nu se poate să nu fii de acord, deoarece cunoștințele teoretice trebuie consolidate prin practică. Prin acest post deschidem o serie de articole despre stagiile de vară ale studenților: cum ajung tinerii acolo, ce fac acolo și de ce este benefic.
În primul articol, voi explica cum să treci cu succes prin toate etapele interviurilor și să ajungi la o stagiu la Google.
Câteva cuvinte despre mine
Sunt student în anul I de masterat la campusul din St. Petersburg al Universității Naționale de Cercetare „Școala Economică Superioră”, am terminat studiile de licență la Universitatea Academică în domeniul învățării automate. În timpul studiilor de licență, am fost activ în programarea sportivă și am participat la diverse hackathoane. Despre cele din urmă poți citi , și .
Despre stagiu
Pentru început, vreau să vă vorbesc puțin despre cum arată un stagiu la Google din interior.
Fiecare stagiar care vine la Google este asociat cu o anumită echipă. Aceasta poate fi o echipă care se ocupă de dezvoltarea infrastructurii interne, despre care o persoană din afara companiei nu a auzit nimic, sau un produs folosit de milioane de oameni din întreaga lume. Astfel de produse pot fi binecunoscutele YouTube, Google Docs și altele. Deoarece dezvoltarea acestor proiecte este realizată de zeci sau chiar sute de dezvoltatori, vei face parte dintr-o echipă care se specializează pe o parte mai restrânsă a acestuia. De exemplu, vara anului 2018 am lucrat la Google Docs, adăugând o nouă funcționalitate pentru lucrul cu foile de calcul.
Deoarece în companie ești stagiar, ai un manager numit host. Acesta este un angajat cu normă întreagă care se ocupă și de dezvoltarea produselor. Dacă nu știi ceva, nu poți rezolva sau te confrunți cu orice probleme, ar trebui să te adresezi lui. De obicei, sunt programate întâlniri săptămânale unu-la-unu, unde poți discuta situația curentă în munca la proiect sau să vorbești despre orice altceva complet irelevant. Pe lângă toate acestea, host-ul este una dintre persoanele care îți va evalua munca realizată în timpul stagiului. De asemenea, munca ta va fi evaluată de un al doilea revizor, suplimentar. Și, desigur, sunt interesați de faptul că totul să meargă bine pentru tine.
La Google veți fi acceptat, dar nu este sigur, este o obișnuință bună să scrieți un document de design (design document) înainte de a începe orice acțiune. Pentru cei care nu știu, un document de design este un document care prezintă esența problemei existente, precum și descrierea tehnică detaliată a soluției acesteia. Documentul de design poate fi scris atât pentru un întreg produs, cât și pentru o nouă funcționalitate specifică. Citind o astfel de documentație, poți înțelege care a fost scopul pentru care a fost gândit produsul și cum a fost realizat. De asemenea, adesea în comentarii poți vedea dialoguri între ingineri care discută diverse metode de implementare a unei părți a proiectului. Acest lucru oferă o bună înțelegere a motivului pentru care a fost luată fiecare decizie.
Particularitatea stagiaturii constă în faptul că va trebui să folosiți minunatele instrumente interne de dezvoltare, care sunt extrem de numeroase la Google. După ce am lucrat cu ele și am comunicat cu multe persoane care au lucrat anterior la Amazon, Nvidia și alte companii tehnologice foarte cunoscute, pot concluziona că aceste instrumente au mari șanse de a fi cele mai bune pe care le veți întâlni vreodată în viața voastră. De exemplu, un instrument numit Google Code Search permite nu numai vizualizarea întregii baze de cod, istoricul modificărilor fiecărei linii de cod, dar oferă și posibilitatea de navigare în cod, pe care ne-am obișnuit-o în mediile de dezvoltare moderne, cum ar fi Intellij Idea. Și pentru asta ai nevoie doar de un browser! O minus legat de această caracteristică este că, în afara Google, îți va fi dor de aceste instrumente.
În ceea ce privește beneficiile, compania are birouri cool, oferă o masă bună, sală de sport, asigurări bune și alte bunuri. Voi lăsa aici câteva poze din biroul din New York:



Cum să obții o ofertă?
Prezentare generală
Acum este timpul să discutăm despre ceva mai serios: cum să ajungi la stagiatură?
Aici nu vorbim despre Google, ci despre cum se întâmplă acest lucru în general. Despre particularitățile procesului de selecție a stagiilor la Google voi scrie mai jos.
Procesul de interviu în cadrul companiei va arăta probabil cam așa:
- Aplicatie pentru stagiatură
- Contest pe Hackerrank/Quiz TripleByte
- Interviu de screening
- Primul interviu tehnic
- Al doilea interviu tehnic
- Interviu onsite
Aplicatie pentru stagiatură
Este clar că totul începe cu dorința dvs. de a obține un stagiu. Pentru aceasta, trebuie să o exprimați completând un formular pe site-ul companiei. Dacă aveți (sau prietenii dvs.) cunoscuți care lucrează acolo, puteți încerca să accesați acest lucru prin intermediul lor. Această opțiune este preferabilă, deoarece vă ajută să ieșiți în evidență din mulțimea celorlalți studenți. Dacă nu aveți această oportunitate, aplicați pe cont propriu.
Încercați să nu vă descurajați prea mult atunci când veți primi pe email mesaje de tipul „sunteți atât de grozav, dar am ales alți candidați”. Și aici am un sfat pentru dvs.:

Contest pe Hackerrank/Quiz TripleByte
Dacă CV-ul dvs. a plăcut recrutorului, după 1-2 săptămâni veți primi un email cu următoarea sarcină. Cel mai probabil, vi se va propune să participați la un test pe Hackerrank, unde va trebui să rezolvați probleme algoritmice într-un timp stabilit, sau un Quiz TripleByte, unde va trebui să răspundeți la diverse întrebări legate de algoritmi, dezvoltarea software-ului și structura sistemelor la nivel de bază. Această etapă servește ca un filtru inițial în procesul de selecție a candidaților.
Interviu de screening
Dacă ați trecut cu succes această provocare, următoarea etapă este un interviu de screening, în care veți discuta cu recrutorul despre interesele dvs. și despre proiectele pe care compania le oferă stagiilor. Dacă manifestați interes și experiența dvs. anterioară se potrivește cerințelor companiei, veți primi undă verde. Din experiența mea, acesta este cel mai imprevizibil moment în întregul proces, care depinde foarte mult de recrutor.
Dacă ați reușit să treceți aceste trei probe, majoritatea întâmplării este deja în urmă. Urmează interviurile tehnice, care depind mai mult de dvs. și, astfel, aveți mai multă influență asupra rezultatului lor. Și asta este bine!
Interviuri tehnice
Următoarele sunt interviurile tehnice, care sunt de obicei realizate prin Skype sau Hangouts. Dar uneori apar servicii mai exotice care necesită instalarea de software suplimentar. Așadar, asigurați-vă din timp că totul funcționează pe computerul dvs.
Formatul interviurilor tehnice variază semnificativ în funcție de poziția pentru care te prezinți. Dacă este vorba despre o poziție de Software Engineering Intern, atunci cel mai probabil ți se vor propune câteva probleme algoritmice, a căror soluție va trebui să fie codificată într-un editor de cod online, de exemplu, . De asemenea, poate fi pusă o întrebare despre designul orientat pe obiect, pentru a evalua cât de bine te pricepi la proiectarea software-ului. De exemplu, s-ar putea să ți se ceară să proiectezi un mic magazin online. De altfel, eu nu am întâlnit niciodată o astfel de sarcină care să permită cu adevărat evaluarea acestei abilități. La finalul interviului, cu siguranță ți se va oferi ocazia să pui întrebări. Îți recomand cu tărie să acorzi atenție acestui aspect, deoarece prin întrebări poți arăta interesul tău pentru proiect și îți poți demonstra competența în subiect. De obicei, eu pregătesc din timp o listă de întrebări potențiale:
- Cum este organizată munca la proiect?
- Ce problemă complexă a trebuit să rezolvi în ultima vreme?
- Ce contribuție are dezvoltatorul la produsul final?
- De ce ai decis să lucrezi la această companie?
Nu întotdeauna te intervievează persoana cu care vei lucra în continuare. De aceea, întrebările de final îți pot oferi o imagine de ansamblu asupra a ceea ce se întâmplă în companie în general. De exemplu, pentru mine este important să am un impact asupra produsului final.
În cazul în care treci cu succes de primul interviu, ți se va propune un al doilea. Acesta va fi diferit prin intermediul intervievatorului și, prin urmare, și prin sarcini. Formatul va rămâne cel mai probabil același. După ce finalizezi al doilea interviu, s-ar putea să ți se ofere și un al treilea.
Interviu onsite
Dacă până acum nu ați primit niciun refuz, vă așteaptă un interviu on-site, când candidatul este invitat la un interviu în birourile companiei. De obicei, acesta constă în mai multe interviuri tehnice și unul comportamental. În timpul interviului comportamental, discutați cu managerul despre proiectele dumneavoastră, despre deciziile pe care le-ați luat în diferite situații și așa mai departe. Cu alte cuvinte, intervievatorul încearcă să înțeleagă mai bine personalitatea dumneavoastră și să aprofundez mai detaliat experiența dumneavoastră. Unele companii, care organizează 3-4 interviuri tehnice, oferă în schimb un singur interviu comportamental pe cale remote, în loc de interviul on-site.
Acum nu mai rămâne decât să așteptați răspunsul recrutorului. Dacă totul a decurs bine, cu siguranță veți primi un e-mail cu oferta mult așteptată. Dacă oferta nu va veni — nu vă descurajați. Companiile refuză sistematic candidați buni. Încercați să aplicați din nou pentru un stagiu anul viitor.
Interviul de coding
Așa, așteptați… Nu am trecut încă prin niciun interviu. Abia am aflat cum arată tot procesul și acum trebuie să ne pregătim bine pentru interviuri, pentru a nu rata șansa de a petrece vara plăcut și în mod eficient.
Există resurse precum , și , care a fost creată ca un instrument pentru pregătirea interviurilor tehnice, este mult mai potrivită. Dacă rezolvați 100-200 de probleme de diferite dificultăți, cu o mare probabilitate nu veți avea probleme în timpul interviului. Încă există și resurse meritorii precum Facebook Code Lab De asemenea, mulți recomandă să citiți cartea „
De asemenea, mulți recomandă să citiți cartea „». Eu am citit selectiv doar câteva dintre secțiunile sale. Însă trebuie menționat că am rezolvat multe probleme algoritmice în anii mei de școală. Cine nu a avut o astfel de experiență, ar trebui totuși să răsfoiască această carte.
De asemenea, dacă ați avut puține interviuri tehnice cu companii străine, se recomandă să faceți câteva interviuri de probă. Cu cât mai multe, cu atât mai bine. Acest lucru vă va ajuta să vă simțiți mai încrezător în timpul interviului și să fiți mai puțin nervoși. Interviurile de probă pot fi organizate pe .
Interviuri comportamentale
Așa cum am menționat deja, în timpul unui interviu comportamental, intervievatorul încearcă să afle mai multe despre experiența dvs. și să înțeleagă caracterul dvs. Ce se întâmplă dacă sunteți un dezvoltator excelent, dar nu sunteți capabil să lucrați în echipă? Mă tem că mulți nu vor tolera asta. De exemplu, vi se poate pune întrebarea: "Care este punctul dvs. slab?" Pe lângă întrebări de acest tip, vi se va cere să vorbiți despre proiectele în care ați jucat un rol cheie, despre problemele cu care v-ați întâlnit, precum și despre soluțiile acestora. Trebuie menționat că în primele minute ale interviurilor tehnice vi se pot pune întrebări de acest gen. Despre cum să vă pregătiți pentru astfel de interviuri, este bine scris într-unul dintre capitolele din „Cracking the Coding Interview.”
Acum, când este clar cum decurge procesul de selecție a stagiilor în general și cum să vă pregătiți pentru interviuri, este timpul să discutăm despre cum funcționează acest lucru în cazul Google.
Lista stagiilor disponibile poate fi găsită . Dacă plănuiți să mergeți la un stagiu de vară, ar trebui să începeți să aplicați deja din septembrie.
Interviuri
Aici procesul pare un pic neobișnuit. Veți avea un interviu de screening și două interviuri tehnice. Dacă vă descurcați bine la acestea, veți trece la etapa de căutare a unui proiect. Va trebui să completați un formular destul de lung în care să indicați toate abilitățile dvs. curente și să exprimați preferințele pentru tema proiectului și locația în care doriți să efectuați stagiul.
Este foarte important să completați acest formular cu atenție și multă grijă! Posibilii gazde care caută oameni pentru proiectul lor analizează stagiarii disponibili și discută cu candidații care le-au atras atenția. Aceștia pot filtra studenții după locație, cuvinte cheie, opțiunile din formular și pot ordona după punctajele obținute în interviu.
În timpul interviului, intervievatorul vă povestește despre proiectul la care veți lucra și aflat despre experiența candidatului. Aici aveți o oportunitate excelentă de a înțelege cum va arăta cu adevărat procesul de lucru, deoarece vorbiți cu persoana care va fi gazda dumneavoastră. După interviu, scrieți un e-mail recruiter-ului cu impresiile dumneavoastră despre proiect. Dacă v-a plăcut proiectul și au plăcut intervievatorului, atunci veți primi o ofertă. În caz contrar, veți aștepta apeluri suplimentare, care pot fi 2-3-4 sau mai multe, sau poate că nu vor fi deloc. Merită menționat că, chiar dacă ați trecut cu bine interviurile, dar în etapa de căutare a proiectului nu a fost aleasă nicio echipă (poate că nimeni nu a discutat cu dumneavoastră), din păcate, veți rămâne fără ofertă.
America sau Europa?
În plus, trebuie să decideți unde va avea loc stagiul dumneavoastră. Eu am avut de ales între SUA și . Și aici este important să cunoașteți câteva particularități. De exemplu, există o senzație că este mai greu să ajungeți în SUA. În primul rând, va trebui să treceți printr-un test suplimentar de 90 de minute, unde va trebui să rezolvați probleme algoritmice, precum și un alt chestionar de 15 minute, care încearcă să dezvăluie caracterul dumneavoastră. În al doilea rând, din experiența mea și a prietenilor mei, în etapa de căutare a echipei, sunteți mai puțin interesați. De exemplu, în 2017 am avut doar o singură discuție, după care echipa a ales un alt candidat și nu am primit ofertă. În timp ce colegii care aplicau în Europa aveau 4-5 proiecte. În 2018, mi-au găsit o echipă în ianuarie, ceea ce este destul de târziu. Colegii lucrau în New York, mi-a plăcut proiectul lor și am acceptat.
După cum vedeți, cu SUA este puțin mai complicat. Dar mi-ar plăcea să ajung acolo mai mult decât în Europa. În plus, în SUA se plătește și mai bine.

Ce să faci după?
La finalul stagiului, aveți două opțiuni:
- Să obțineți un stagiu pentru anul următor.
- Participa la două interviuri tehnice pentru a obține o poziție full-time.
Aceste două opțiuni sunt disponibile cu condiția să fi reușit cu succes în proiectul tău actual. Dacă aceasta nu este prima ta stagiu, s-ar putea să ți se ofere chiar o poziție full-time fără interviuri.
Astfel, apare următoarea situație, care poate fi descrisă printr-o imagine:

Fiindcă aceasta a fost prima mea stagiu, am decis să trec prin două interviuri tehnice pentru a obține o poziție full-time. Pe baza rezultatelor acestora, mi s-a acceptat oferta și au început căutările pentru o echipă, însă am refuzat această opțiune, deoarece am decis să finalizez masteratul. Google nu va dispărea în 2-3 ani.
Concluzie
Prietenii, sper că am explicat clar și concis cum arată calea de la student la stagiar. (și apoi înapoi...), și acest material își va găsi cititorul, care îi va fi util. După cum puteți vedea, nu este atât de dificil pe cât pare, trebuie doar să depășiți lenea, fricile și să începeți să încercați!
P.S. Mai am aici un pe Telegram, unde poți să arunci o privire.
Sursa: habr.com
