Interviu dezvăluie modul în care cele mai recente știri abrupte programator de tehnologia informației

Interviu dezvăluie modul în care cele mai recente știri abrupte programator de tehnologia informației
Pe unul dintre interviurile, am întrebat un dezvoltator de firmware foarte experimentat scrie un program simplu care transformă șirul și afișează rezultatul pe ecran. Și el nu a putut.

A fost foarte cool. El ar putea da un morman de fier vechi, și l-ar fi transformat într-un robot care ar fi capabil să se deplaseze în jurul camerei. El a lucrat pe sateliți, care au fost puse în funcțiune și sunt acum pe orbită.

Dar aici, sa întâmplat că el nu a trebuit să afișeze rezultatele pe ecran.

Unii oameni au un real talent pentru a pune întrebările potrivite pentru a ajuta la identificarea abrupte interviu programatori. Alții nu au un astfel de talent: acestea sunt declarate pentru un interviu, pun câteva întrebări, care sunt deduse pe Internet, și apoi să ia o decizie colectivă.

Dar rău recruiter alegere atrage după sine consecințe pe termen lung, în cazul în care numai pentru că programator la „sub medie“, reduce în mod necesar nivelul general al echipei. Pe de altă parte, tăierea nedrept și nechibzuit mare candidat, de asemenea, nu va aduce nimic bun.

Interviu cu programator este format din cel puțin trei părți. În prima parte vom verifica ipotezele lor după citirea rezumatului. În a doua parte, vom defini experiența reală a candidatului. În partea finală vom verifica această experiență cu sarcini mici și întrebări de programare.

PARTEA I: verifica presupunerile

Într-o zi am fost cu un candidat sobesedoval coleg. După interviu, am impresia că solicitantul este destul de bun, deși nu perfect. Colegul meu, dimpotrivă, a fost furios: „A mințit în legătură cu H. cunoașterea tehnologiei El nu a lucrat cu ea. Nu este candidatul nostru. " Aceasta tehnologie este X nici măcar nu este necesar pentru locuri de muncă. „Dar el a mințit. Nu mai cred un cuvânt din CV-ul lui ".

Interviu dezvăluie modul în care cele mai recente știri abrupte programator de tehnologia informației

„Totul este scris în abstract - minciună până la proba contrarie.“

În cazul în care CV-ul este scris: „Expertul într-o anumită tehnologie,“ eu, cred că înseamnă „să cunoască numele acestei tehnologii.“ În cazul în care CV-ul este scris, „El a lucrat la crearea unei platforme multi-threaded de tranzacționare“ pentru mine am observat că este „implicat in alegerea culorii de fundal.“

Poate aș fi crezut rezumatul scris, în cazul în care într-un fel un interviu de angajare, nu am ajuns la un candidat cu 10 ani de experiență, care nu a putut scrie o singură linie de cod.

Este mai bine să nu construiască așteptări, astfel încât să nu fie dezamăgit. Tot ceea ce este scris va trebui să verifice.

Cum? Foarte simplu: cere la interviu întrebări dificile despre fiecare calificare sau proiect specificat.

Am dezvoltat un sistem în timp real ca muncă curs.

Dezvoltat de protocol de transmisie zero audio pentru sistemele de securitate fără fir.

întrebări insidios: Cât de mulți oameni au fost pe echipa? Numai tu? Wow! Și am trecut procesul de testare? Ai folosit RTP?

PARTEA A II-a: determina experiența reală a candidatului

O mare experiență - un bun indicator al programator racoare. Deja un programator cu experiență nasovershal o mulțime de greșeli, și știe unde altundeva se poate merge prost. Ei rulează deja nas la ceea ce schimbă cerințele, și care sunt susceptibile să rămână neschimbate. Ei știu când să se relaxeze și atunci când doriți să fie pedant. Aceasta este experiența reală, care mărește diferența dintre talent și mediocritate.

Dar nu toată lumea este la fel de experiență utilă!

Cineva câștigă experiență vastă pentru un cuplu de ani, lucrează la mai multe proiecte diferite, angajarea scris și rescrierea nenumărate linii de cod, ceea ce face greșeli și corectarea greșelilor. Și câteva decenii implicate în același proiect, efectuarea de modificări pe linie, nu invata nimic nou.

Aflați mai multe despre cariera timpurie

Exista o multime de programatori mari care au început să cod la intrarea intstitut. După eliberarea ei au deja mai mulți ani de experiență. Dar mulți dezvoltatori excelente au început să învețe programare aproape în copilărie. Am prieteni care a început să scrie primul său program, în adolescență. Aceste informații nu indică în rezumat, dar poate fi găsit în cursul interviului:

Cum ai intrat în sfera de dezvoltare software?

Care a fost prima ta limbaj de programare?

Mulți programatori excelent angajat cod la locul de muncă. Acesta este un minunat profesioniști matur, care este într-adevăr în valoare de angajare. Cu toate acestea, prezența proiectelor laterale cu caracter personal este, de asemenea, un bun indicator de racoare. În cazul în care candidatul nu are proiecte personale, densitatea experienței solicitantului poate fi identificat prin următorii parametri:

Lucrul în echipe mici / grupuri;

Lucrând într-un număr mare de proiecte;

Cunoașterea detaliată a diferitelor niveluri ale proiectului;

Experiența de a face principala contribuție la dezvoltarea proiectului.

PARTEA III: confirmă experiența solicitantului

După determinarea experienței reale, este important pentru a confirma competențele existente ale candidatului. Un câteva minute pentru a testa este întotdeauna mic, dar asta e tot ce ne putem permite. Putem determina lățimea și adâncimea de cunoaștere a candidatului, punând întrebări din diferite domenii de dezvoltare software. Desigur, percepția asupra abilităților aplicante vor afecta propria lor experiență. Nu judeca corectitudinea răspunsurilor pe teme care nu sunt familiarizați cu tine personal. De ce atât de puțini intervievatori foarte bune.

Subiectele specifice depind de cerințele postului. Subiecte de conversație pot fi:

Structuri de date și algoritmi;

obiecte și modele de mostenire de dezvoltare;

compilare și execuție a programelor.

Fiecare temă include câteva întrebări de bază (de exemplu, „Ce este un semafor?“). Aceste întrebări trebuie să fie atât de frecvente încât oricine care a lucrat vreodată un pic în acest domeniu va fi în măsură să răspundă. În plus față de întrebări generale care aveți nevoie pentru a pune întrebări detaliate cu privire la mai specifice. Ceva este greșit dacă vă întreb un programator sisteme embedded cu experiență 0h4s traduce în cod binar, și a scris: 4 x 16 + 12.

test de programare

Interviu dezvăluie modul în care cele mai recente știri abrupte programator de tehnologia informației

De obicei, după primele trei etape ale interviului realizez candidat sau nu este adecvat, testul de programare elimină orice îndoială.

Testul trebuie să fie luate în considerare cu atenție înainte de interviu. Dacă este greșit să ceară, un răspuns, orice ar fi fost, ar fi inutil.

În primul rând, testul trebuie să se bazeze pe experiența candidatului și caracteristicile postului vacant. Dacă aveți o sarcină mare, care poate fi rezolvată prin transformarea obiectelor în planurile-intersectându 3D, dar lucrarea curentă nu necesită cunoștințe de 3D-grafica, uita de această sarcină.

În al doilea rând, problema trebuie să fie formulate în mod clar. „Scrieți o funcție pentru pachetul de amestecare de cărți“ - nu este gravă. Oferă o funcție de antet, evita ambiguitatea. Dacă nu avea grijă de acest lucru, candidatul va decide această întrebare, pe care el însuși a inventat, nu cel care te-a întrebat. Pentru a economisi timp, puteți în câteva minute pentru a cere candidatului să-și exprime gândurile lor, pentru a vedea dacă a înțeles corect întrebarea.

Ordinea întrebărilor este importantă

Ordinea în care vă pun întrebări în timpul interviului, are un impact asupra procesului de gândire al solicitantului. De exemplu, eu pun o întrebare despre tabele de dispersie, atunci când cred că candidatul este conștient de ele. Apoi vine la testul, care nu are nimic de-a face cu tabele de dispersie. În cele mai multe cazuri, candidații au început să folosească, în care se ocupă cu tabelul hash. Dacă nu-ți cer despre tabele de dispersie, candidații oferă soluții mai optime.

Pe candidații și alegerea afectează PL de bază. De exemplu, vă spun că, în studiul actual foloseste Java. Fiecare candidat va începe să blesteme și să se jure că este un adevărat expert în Java, și, în general, este limba lui preferată. El va folosi ca Java în toate testele, în ciuda faptului că el nu a putut aminti cum să declare variabile în limba lui preferată.

nu se limitează la o singură limbă

Este tentant pentru a face o alegere în favoarea limbii, care este folosită în compania dumneavoastră. Limitarea limbii alegere, vă lăsați în spatele unui număr de programatori excelent. Nu încerca să determine cât de mult programele candidate în C sau Java. Sarcina ta: pentru a afla cat de cool programe de doctorat într-o limbă pe care el știe cel mai bine.

Schema propusă de interviuri cu o abordare de software nu este întotdeauna și nu pentru toată lumea. Acest sistem se bazează pe determinarea candidatului de experiență, și poate într-adevăr dor de programatori reci, cu puțină experiență, dar cu un mare potențial interior. În acest scop, intervievatorul are de oferit pentru a efectua o activitate care nu are nevoie de cod de scris, dar dezvăluie capacitatea de a rezolva probleme.

Acest sistem presupune construirea de ipoteze și utilizarea intuiției. Ai nevoie pentru a determina ce caracteristici ar trebui să aibă un designer rece. Prin urmare, întrebarea pe care sunteți responsabil pentru sine este: „Care este probabilitatea ca un anumit candidat răspunde la întrebare confirmă faptul că este, de fapt, un programator excelent?“. 100% probabilitate nu va ajunge, dar întrebări bine alese pot ajuta să obțineți mai aproape de adevăr un pic.

Traducere: Lyusya Shirshova. Conform materialelor blogului Steve Hanov.