Cum de a câștiga la interviu

Cum de a câștiga la interviu

Să fim sinceri, cei mai mulți programatori nu le place să scrie cod într-un interviu. Unii chiar a amenințat să părăsească profesia din acest motiv. Dar, în viitorul apropiat nu se va schimba nimic. Deci, dacă într-adevăr doriți să obțineți un loc de muncă, trebuie să înțelegeți modul în care poate fi de succes în aceste interviuri. Te voi ajuta. Vom studia acest proces, și voi explica ce vreau să realizeze de la interviu, astfel încât veți obține o idee destul de clară despre cum să-l treacă.

Înainte de a începe, vreau doar să spun că în cazul în care societatea mobiraetsya angaja un dezvoltator numai și exclusiv pe baza unui fragment de cod, pe care a scris în timpul interviului, atunci probabil că nu doriți să lucreze într-o astfel de companie.

Cum de a câștiga la interviu

Ești mai mult decât o mașină pentru codificare

Partea 1: Placa de programare

Cine în această lume, la toate programele de pe bord? De fapt, serios. Cu toate acestea, vă rog să o fac. Nu-ți face griji, nu am înnebunit. Știu despre Google și placa se descurcă prost cu autocompletare. Nu-mi pasă. Nu am verifica cât de frumos cod, scrie pe tablă, și altceva.

Atunci când primiți un loc de muncă, nu va trebui să fie programate pe bord. Dar vă garantez că va veni un timp când noi toți va puzzle peste o problemă chiar înainte de termenul limită atunci când sunt epuizate, la marginea de noi toți furios, iar în joc este de locuri de muncă și reputația noastră. Când vine un astfel de moment, vom merge la sala de ședință, pilonul în apropierea scândurile și va da seama ce să fac. Repede.

„Eu nu verifica cât de frumos cod, scrie pe tablă“

Deși nu am nevoie de un programator care scrie cod frumos pe bord, dar am nevoie de cineva care este capabil să gândească rapid în mișcare, sub presiune, în aceeași cameră cu cealaltă. Problema este că, dacă nu înțelegi exact ce am totul verifica greșit. Vei dovedi că ești un ninja adevărat în consiliul de programare. Aceasta este o prostie. Nimeni nu vrea un ninja în consiliul de programare. Iată cum să mă bată:

1. verbalizată ipotezele lor și să încerce să confirme lor

3. Nu vă fie teamă de a cere ajutor

Dacă rămâneți blocat sau ceva ce nu știu, întreabă-mă. Nu vă puteți imagina cât de scumpe, costurile extraordinar de un dezvoltator care refuză să ceară ajutor atunci când blocat undeva. Nu am timp pentru un programator care nu dă rezultate, deoarece pretinde că are totul sub control, și el naufragiază neputincios singur.

4. arată Sincer abilitățile și experiența lor

Partea 2. Programare PC

Cum de a câștiga la interviu

Spre deosebire de bord, dacă vă invit să ceară calculator și să scrie cod, am verifica cât de bine vă programați. Mai precis, am verifica capacitatea dumneavoastră de a respecta regulile.

Cel mai bine este să înțelegem acest lucru, dacă ne uităm la un exemplu real. Una dintre întrebările mele preferate este:

Palindrome - un număr care combinație de litere, cuvinte sau un text, se arată la fel în ambele direcții. ajustări cu majuscule, semne de punctuație și spații permise. Câteva exemple în limba engleză: „! Un om, un plan, un canal, Panama“, „Amor, Roma“, „masina de curse“, „pisici stiva“, „pas pe nici o casă“, „Taco pisică“, „pune-l up „“ a fost o mașină sau o pisică am văzut? «și» Nu «x» în Nixon“.

Scrieți funcția cea mai eficientă, care poate fi găsit în scopul de a determina dacă un anumit șir de caractere este un palindrom.

Funcția dumneavoastră trebuie să ia un șir ca parametru și returnează o valoare boolean (true. Dacă șirul este un palindrom, și fals. Dacă nu este).

Să presupunem că acest cod va fi livrat în sistem real pe serverul de producție, și scrie în consecință, să-l.

Când am sugerează că o astfel de sarcină într-un interviu, primul lucru pe care mă uit la, eu nu pun o întrebare sau. Așa cum am mai spus, cei mai buni programatori să înțeleagă ce ipoteze - aceasta este ceea ce ucide în această afacere. Sfatul meu pentru oricine care a primit instrucțiuni pentru a scrie cod - pentru a întrerupe și ia în considerare ipotezele ce ar trebui să fie făcute în scopul de a îndeplini sarcina (acestea sunt întotdeauna), și să găsească o modalitate de a confirma sau de a clarifica aceste ipoteze. Am înțeles că în timpul executării sarcinilor de oameni merg la „modul de testare“, și cred că este interzis să vorbească. Vă sugerez să începeți prin a cere intervievatorului: „Eu am voie să vă întreb una sau două întrebări pentru a clarifica anumite ipoteze?“ (Mereu am răspuns „da“), și apoi veți obține un avantaj imens.

întrebări bune pentru această problemă specială:

În continuare, mă uit la cât de bine să urmați instrucțiunile. De exemplu, am definit un șir de caractere ca parametru și o valoare boolean, ca rezultat. Aceasta este ceea ce dă programul?

Apoi vreau să văd cum să interpretați expresia „se presupune că codul va fi plasat într-un sistem real pe serverul de producție, și de a scrie în mod corespunzător acest lucru.“ Dacă ați dezvoltat de lucru software-ul, știi ce înseamnă această frază de mai multe lucruri:

Apoi, am fost curios să văd cum ați înțeles cuvântul „eficient“, în legătură cu „sistem de producție“. Dacă aveți experiență, știți că noțiunea de „eficace“ pentru programul în modul de producție înseamnă trei lucruri:

  1. Rapid.
  2. Ea nu ocupă memorie atunci când aceasta este că nu are nevoie.
  3. Stabil și ușor de întreținut.

Ar trebui să înțeleagă că numărul articolului 3 înseamnă, uneori, unele daune la elemente numărul 1 și numărul 2.

Despre testele Vreau să văd că contempla o mulțime de teste, dar ele vor verifica validitatea diferitelor scenarii. Verificarea „mama“, „tata“ și „racecar“ este redundantă, este tot același test. De asemenea, mă aștept să văd că includ teste de rezistență (teste de impact); teste pe care liniile care nu sunt palindromes. Gândiți-vă la cazuri limită, zero sau verificați numărul. Verificați șirul gol sau un set de caractere speciale.

Am pune această provocare pentru dezvoltatorii de toate nivelurile, dar mai mulți profesioniști cu experiență, criterii mai stricte.

Dacă Junior oferă o soluție viabilă și suficient de simplu, și orice altceva interviul merge bine, este suficient pentru a începe și de a îmbunătăți abilitățile lor.

Evident, există și alte modalități de a scrie programul corect, dar oferă o idee despre ce vorbesc despre.

Dacă aș da lucrarea la casa, așteptările sunt chiar mai mari.

Partea 3: Algoritmi

Unii operatori vor cere să scrie punerea în aplicare specifică a algoritmului. Personal, cred că acest lucru este o pierdere uriașă de timp. Mult mai important pentru mine ca să înțelegeți ce algoritm de a utiliza în ce scop. Implementarea poate fi întotdeauna găsite pe Google.

Cu toate acestea, din moment ce intervievatorii cere el, este mai bine pentru a actualiza cunoașterea memoriei înainte de interviu. La Academia Khan are un curs gratuit excelent.

Partea 4: Nu renunța fără luptă

Dacă nu puteți rezolva problema propusă, există întotdeauna unele lucruri pe care le puteți face pentru a menține șansele de a obține postul.

1. Nu renunța prea ușor

Asigurați-vă că am observat eforturile tale. Dacă sunteți unul dintre cei care renunta, atunci când este dificil, nu voi pierde timpul pe tine.

2. pseudo

3. Care sunt cunoscute necunoscutele

Partea 5. Practică, practică, practică

Poate cel mai important lucru pentru o programare interviu de succes - o bună pregătire. Este cea mai bună practică la întrebări standard, din nou și din nou, până când le-au învățat pe de rost. Daca te antrenezi din greu, va fi capabil să răspundă la întrebări pe care nu am mai întâlnit. Vei avea încredere și va fi capabil de a lega orice problemă cu altceva care sa întâlnit înainte.

articole similare