Skip to main content

Întrebări și sfaturi tehnice pentru interviu - muza

Subways Are for Sleeping / Only Johnny Knows / Colloquy 2: A Dissertation on Love (Iunie 2026)

Subways Are for Sleeping / Only Johnny Knows / Colloquy 2: A Dissertation on Love (Iunie 2026)
Anonim

Cu cel de-al doilea boom al tehnologiei Silicon Valley, inginerii au fost într-o cerere incredibil de mare de către startup-uri și giganti tehnici. Pentru cei care au cunoștințe de inginerie sau studiază informatică, lumea este oja ta chiar acum.

Acestea fiind spuse, companiile nu doar dau locuri de muncă. Programatorii mai trebuie să treacă prin procese de interviu specializate - inclusiv pe cel mai temut interviu tehnic.

Pregătirea pentru acestea poate fi încercări confuze. Ar trebui să studiați proiecte tehnice specifice sau, în general, să vă actualizați pe o mulțime de subiecte? Ar trebui să exersezi pe un computer sau cu un prieten?

În calitate de al treilea inginer la Pocket Gems, care are aproximativ 165 de angajați tehnici, am realizat sute de interviuri telefonice și la fața locului. În acest timp, am învățat multe despre cum să mă pregătesc corect pentru unul. Iată care sunt sfaturile de care aveți nevoie pentru a face cuie următorul interviu tehnic.

Concentrați-vă pe Fundamente

Intervievatorii îți vor pune în principal întrebări despre fundamentele tale: structuri de date, analiza complexității algoritmice, designul clasei și altele asemenea. Acestea vor fi întrebări atât direct despre elementele fundamentale (de exemplu, folosiți X pentru a face Y), cât și întrebări pentru care veți folosi elementele fundamentale (mai multe despre cele de mai jos).

Gândiți-vă la elementele fundamentale ca la instrumentele din cutia dvs. de instrumente. Vor rămâne la fel, indiferent de tehnologia nouă. Cu elemente fundamentale puternice, veți fi mai bine pregătiți pentru a face față problemelor deschise - tipurile de probleme pe care noi și multe alte startup-uri le rezolvăm zilnic. Concentrându-se pe elementele fundamentale, intervievatorii pot petrece mai puțin timp în configurarea întrebărilor interviului și mai mult timp văzând cum gândești.

De exemplu, vi se poate cere ceva de genul: vi se oferă un arbore binar și două noduri în copac. Găsiți cel mai mic strămoș comun al celor două noduri date în timpul O (n).

Prin această întrebare, intervievatorul încearcă să vadă cât de bine poți comunica procesul de gândire și soluția ta. Cum gândiți prin problemă, organizați-vă gândurile și comunicați-vă răspunsul este adesea la fel de important ca concluzia dvs. Lucrăm în medii complexe și în continuă schimbare și avem nevoie de oameni care să rezolve probleme dificile și să le comunice eficient coechipierilor lor tehnici și non-tehnici.

Pentru acest domeniu al interviului, ar trebui să discutați despre lucruri precum șiruri, tablouri, sintaxă de bază, tipuri de date, liste legate, arbori, grafice, stive, cozi și tabele hash. Oh, și asigură-te că poți răspunde FizzBuzz fără să te uiți.

Fii pregătit pentru a rezolva lucrurile diferite moduri

Fiecare dintre elementele tale fundamentale are pro și contra și oferă o soluție unică pentru un anumit tip de problemă. După ce intervievatorii îți vor pune o întrebare doar pe baza fundamentelor tale, vor vedea probabil cum le poți folosi în practică. Acest lucru se realizează prin a pune întrebări deschise care pot fi rezolvate într-o varietate de moduri.

O întrebare exemplificativă aici ar fi: Vi se oferă o ecuație aritmetică ca șir. Această ecuație va avea cifre unice 0-9, adunare, scădere, înmulțire și paranteze. Scrieți o funcție care ia această ecuație și calculează răspunsul corect. Exemple de intrări includ „1 + 1” și „2 * (1 + 9) - ((2 + 5) -9”).

Ca și până acum, intervievatorul vrea să vadă cum descompun întrebările deschise și procesul de gândire în alegerea soluției tale. Cel mai important, ei vor să vadă că puteți comunica eficient probleme complexe.

Indiferent care este întrebarea sau ce soluție alegeți, asigurați-vă că gândiți cu voce tare! Dacă aveți diferite modalități de soluționare a problemei, discutați prin opțiuni înainte de a decide care să le utilizați. Îl ajută pe intervievator să vadă și să înțeleagă procesul gândirii tale. De asemenea, intervievatorul poate recomanda o soluție față de celelalte, deoarece știe că celelalte pot avea anumite capcane sau pot fi în afara sferei de interviu.

Nu vă fie frică să puneți întrebări dacă ceva nu este clar sau nu sunt furnizate multe detalii. Acestea arată că te gândești și - și oferă intervievatorului un sentiment de cum ai lucra cu ceilalți. Asigurați-vă că cereți întrebări clarificatoare pentru a înțelege pe deplin întrebarea și că nu măriți domeniul de aplicare al problemei (de exemplu, care sunt unele inputuri de exemplu? Trebuie să îmi fac griji să împărțesc la 0? ora de vară?)

În cele din urmă, asigurați-vă că treceți verbal prin câteva cazuri de testare înainte de a spune că ați terminat. Acest lucru vă permite să verificați atât codul, cât și să arătați intervievatorului că verificați codul dvs. Oricât de ușor ar face interviurile de muncă, din păcate nu vă putem citi mintea.

Așadar, pe măsură ce vă pregătiți, practicați rezolvarea întrebărilor cu diferite instrumente din caseta de instrumente, astfel încât să dezvoltați o intuiție despre aceasta. Știi când să folosești fiecare dintre instrumentele tale, astfel încât să nu te încurajezi în timpul interviului. Și asigurați-vă că practicați descrierea completă a procesului dvs. de gândire - aceasta poate fi cea mai grea parte pentru codificatorii obișnuiți să lucreze izolat.

Practică, practică, practică

Cu cât exersezi mai mult, cu atât vei fi mai pregătit pentru interviul de codificare tehnică. Acest lucru este valabil pentru majoritatea lucrurilor, dar mai ales relevant pentru interviurile tehnice - acestea necesită într-adevăr să vă încălziți creierul.

Iată câteva sfaturi care vă vor ajuta să beneficiați la maxim de timpul de practică:

  • Asigurați-vă că simulați mediul interviului. Dă-ți un termen limită la probleme. Dacă veți face un interviu telefonic, practicați atât pe Stypi, cât și pe Google Docs. (Știu pentru mine, faptul că nu am completat automatul și evidențierea sintaxei m-a declanșat în interviurile telefonice.) Dacă veți face un interviu personal, practicați să faceți probleme pe hârtie sau pe o tablă albă.
  • Solicitați-vă unui prieten non-tehnic să vă întrebe întrebările interviului și să-i parcurgeți răspunsurile. Dacă îi poți explica lui sau ei, sunt sigur că îl poți explica intervievatorului tău tehnic.
  • Nu simți că vrei să înșeli dacă folosești unele dintre instrumentele de preparare care există. Ele oferă adesea o perspectivă excelentă și practică întrebări. Favoritele mele sunt site-urile web precum TopCoder și cărțile Head First . Unele alte cărți care vorbesc mai mult despre procesul de interviu sunt Programarea interviurilor expuse și Cracking the Code Interview .

Interviurile tehnice de codare pot părea destul de descurajante, dar, cu tipurile potrivite de practică concentrată, veți fi gata să le acuzați. Nu uitați să vă concentrați pe pâinea și untul, pe elementele de bază și exersați mult. Urmați sfaturile de mai sus și veți fi pregătiți pentru următorul dvs. interviu tehnic de codare.

Vrei mai multe informații? Am prezentat recent acest subiect la Conferința UC Berkeley in inginerie / tehnică în carieră. Consultați diapozitivele mele din discuția de mai jos pentru mai multe gânduri și resurse!