Acestea sunt notițele pe care le-am tot corectat cât timp mă pregăteam pentru interviul de inginer software la Google, adică acel circuit în stil LeetCode, la capătul căruia te așteaptă comisia de angajare. Am trecut prin tot traseul, discuția telefonică, rundele de programare, system design și interviul comportamental, așa că notițele nu cuprind doar întrebările, ci și felul în care decurge procesul.
Interviurile Google stârnesc reacții amestecate. Unii apără procesul, alții îl detestă. Eu am privit lucrurile destul de simplu: poți să te plângi că totul e o loterie sau poți să tragi de tine și să înțelegi cum funcționează mecanismul.
Există un lucru care desparte Google de un interviu obișnuit. Recrutorul mi-a spus chiar la prima noastră convorbire că ai trei încercări în cinci ani, iar după aceea nu te mai acceptă. Trei încercări pentru o carieră întreagă. Când i-am povestit unui fost coleg, a tăcut cam cinci secunde. Eu am tradus tăcerea lui prin „să nu cumva s-o dai în bară”.
Mi-am împărțit notițele în câteva părți:
- Discuția telefonică
- Programare
- System design
- Googleyness și Leadership
- Comisia de angajare
- Interviuri simulate și instrumentele folosite de mine
- Alegerea echipei
Discuția telefonică
La Google, discuția tehnică de la telefon se ține într-un Google Doc comun. Nu într-un IDE, ci într-un document text simplu, fără evidențierea sintaxei și fără completare automată. Scrii cod adevărat acolo timp de patruzeci și cinci de minute, în timp ce cineva te urmărește cum tastezi. Eu am primit o problemă cu sliding window și o variantă de binary search, ambele de dificultate medie.
Ready to ace your next interview?
InterviewMan gives you real-time AI answers during live interviews — undetectable on Zoom, Meet, and Teams.
Try InterviewMan FreeCând programez în mod normal, încerc multe variante și repar pe parcurs. Metoda asta nu merge când ai patruzeci și cinci de minute, un Google Doc gol și o pereche de ochi ațintită asupra tastaturii tale. Mi-ar fi prins bine să-mi spună cineva despre Doc înainte de discuție.
Mai există un amănunt de procedură, aflat de mine abia după aceea. Dacă persoana care te evaluează nu s-a hotărât, primești încă o discuție telefonică, nu un refuz. Cunosc două persoane care au trecut prin asta, una dintre ele de pe un Discord pentru cursanții unui bootcamp de programare, iar amândouă au mers mai departe după a doua discuție.
Programare
Înainte de circuit am rezolvat pe brânci 200 de probleme LeetCode. M-au ajutat mai puțin decât ar fi trebuit, și nu fiindcă problemele de la interviu ar fi fost prea grele.
La întrebările Google, cel mai greu este să descoperi care e, de fapt, întrebarea. Intervievatorii încarcă intenționat enunțurile cu context în plus și piste false. Un fost coleg mă avertizase exact despre asta, iar eu nu l-am ascultat. Odată m-am repezit la un tipar, doar ca să-mi dau seama după opt minute că rezolvam altă problemă și trebuia să revin la început.
Enunțul semăna perfect cu o problemă sliding window pe care o exersasem cu o seară înainte. Numai că nu era. Intervievatorul a rămas complet tăcut în toate cele opt minute și doar s-a uitat la mine. L-am sunat pe fostul coleg din parcare, după rundă. Mi-a răspuns atât: da, ți-am spus.
Ce am înțeles eu:
- Gândește cu voce tare în fiecare secundă
- Exersează probleme care combină mai multe tehnici
- Nu te încrede în recunoașterea tiparului văzut cu o seară înainte
Nu pot sublinia destul partea cu gânditul cu voce tare. Comisia citește ce a scris intervievatorul, iar intervievatorul scrie ce ai spus tu. La o problemă cu grafuri am tăcut, iar în feedback apărea că raționamentul meu nu fusese clar. Eu știam ce fac. Nimeni altcineva nu știa, pentru că nu am rostit nimic. Fostul coleg a citit mai târziu dosarul și mi-a spus: ai rezolvat problema, dar ei au scris despre tine de parcă ai fi ghicit.
Cât despre problemele combinate, într-o rundă Google mi-a dat grafuri împreună cu programare dinamică, iar în alta un arbore cu hashmap. Un binary search pur ori un BFS pur aproape că nu apare niciodată singur. Cinci sute de probleme medii izolate ajută mai puțin decât cincizeci de probleme combinate. Am irosit trei weekenduri tocind subiectele separat până să pricep asta.
System design
Pentru system design există o singură rundă, iar toată runda poate depinde de o alegere de proiectare. Antrenorul cu care m-am pregătit îi spune ideea de sprijin. Mi s-a părut cam teatrală formularea, dar avea dreptate. La mine a fost invalidarea cache-ului într-un sistem distribuit și am fost la treizeci de secunde de a nu o observa. Dacă o ratezi, discuția nu trece niciodată de nivelul diagramei și una dintre cele trei încercări se duce degeaba.
Googleyness și Leadership
Googleyness și Leadership sună misterios. În realitate, este un interviu comportamental despre conflicte în echipă, eșecuri de proiect și situații în care ți-ai asumat răspunderea. Un intervievator mi-a spus că unii membri ai comisiei abia citesc această parte a dosarului. Pregătește-o oricum, fiindcă nu tu îți alegi comisia.
Comisia de angajare
Interviul la Google este o loterie, iar comisia are grijă să rămână așa. Patru sau cinci ingineri care nu mă întâlniseră niciodată mi-au decis soarta din dosarele scrise de oamenii care mă intervievaseră. Necunoscuți citind însemnările altor necunoscuți despre mine. Fostul meu coleg cunoștea pe cineva care trecuse de două ori prin procesul Google, de fiecare dată cu alți membri în comisie. Rezultatele au fost complet diferite, deși prestația fusese aproape aceeași.
Interviuri simulate
Interviurile simulate te învață mărunțișurile procesului mai bine decât orice listă de întrebări. Eu l-am rugat pe fostul coleg să joace rolul intervievatorului și am făcut runde complete prin Google Meet.
Aici am trișat. Lucrez la InterviewMan, așa că în timpul simulărilor am pornit instrumentul nostru exact cum l-ar folosi un candidat adevărat. Preia problema din sunet și afișează sugestii de abordare într-un overlay pe care numai tu îl vezi. Fostul coleg a petrecut cinci minute încercând să-l găsească. S-a uitat în ecranul partajat, în dock-ul meu și într-o înregistrare a sesiunii, dar nu a văzut nimic.
În simularea rundei Googleyness, instrumentul a scos din conversație o poveste despre un conflict pe care eu o uitasem cu totul, tocmai genul de poveste despre care se spune că membrii comisiei abia o citesc, dar care tot trebuie să ajungă în dosar. La simularea de system design mi-a semnalat o idee legată de caching, iar aceea s-a dovedit ideea de sprijin pentru problema respectivă.
În privința instrumentelor, în general, cele care se ocupă doar de programare, precum Interview Coder, costă două sute nouăzeci și nouă pe lună. Acoperă trei dintre cele cinci runde, apoi te lasă singur la system design și la interviul comportamental. InterviewMan le acoperă pe toate cinci pentru doisprezece dolari pe lună cu planul anual. Trei luni de pregătire m-au costat treizeci și șase de dolari, mai puțin decât o săptămână de Interview Coder.
Am ajuns la cincizeci și șapte de mii de utilizatori și avem peste douăzeci de funcții stealth, iar din câte îmi dau seama nu a fost prins nimeni.
Alegerea echipei
Un „da” din partea comisiei nu înseamnă că ai primit oferta. Urmează alegerea echipei, etapă în care trebuie să fiți de acord și tu, și managerul care angajează, iar aprobarea rămâne valabilă aproximativ un an. Prin urmare, nu e nicio grabă. Cel mai bun sfat pe care l-am primit în tot procesul, deși pare puțin contraintuitiv, a fost să aștept o echipă pentru care chiar vreau să mă trezesc dimineața.
Ready to Ace Your Next Interview?
Join 57,000+ professionals using InterviewMan to get real-time AI assistance during their interviews.

