Cum în interviul pentru a face distincția între un specialist abrupt și nebunul de răufăcători? Metode de intervievare foarte mult: temele, programarea într-un notebook, probleme de testare, spune-ne despre tine mă distrați în 2 minute, astfel că te-am dus la muncă, dar în aproape toate firmele unde am fost la interviu, într-o formă sau alta, i-am cerut sarcinile luate cu Quizful. Vom vorbi despre ei azi!
- Ce model vedeți în acest cod?
"Eu văd doar sânge!" Sânge!
- Ok, să încercăm următoarea întrebare
De ce angajăm deloc oameni? De exemplu, avem un vopsitoriu și orice candidat care poate distinge o matrice de la un logger va aduce compania + 500 $ pe zi. Sau suntem o companie serioasă și avem nevoie de el pentru a trece prin controlul față (software-ul este scris de oameni în costume). Și poate că le căutăm pe aceștia. un lider care poate arăta trucuri cu cod.
Dar să spunem că căutăm un dezvoltator Java care să scrie software real (bine, real-real, care funcționează și cineva are nevoie de el). Vrem să vedem dacă se rezolvă problemele reale povsednevnevnye, precum și pentru a evita situația, atunci când pentru a apela un instalator a răspuns imediat, care, în conformitate cu presiune GOST în conducta de 3/4“, iar apoi a scos pasatizhi lui ruginite și deșurubat robinet, apa va fi capabil să blocheze uitarea.
Unele probleme vor fi rezolvate de specificul limbajului - tastarea puternică, automatizarea a tot ce poate fi testat. De la fiecare în funcție de abilitățile sale: computerul face ceea ce face mai bine decât persoana și persoana - totul (ceaiuri, cafea, rock'n'roll).
Cu toate acestea, deseori interviurile au loc în stilul "Kasparov vs Deep Blue". Luați în considerare câteva exemple ale acestei lupte inegale.
Este dat. 120 de întrebări din testul quizic "Bazele Java".
Scop. Determinați cine va rezolva aceste probleme în viața reală.
Răspunsuri posibile:
- Un compilator și / sau IDE - atunci când IDE este sfătui nu-i rău, iar compilatorul vă permite să profitați la maximum de dactilografiere puternice și pentru a găsi toate erorile înainte de a fi avut timp pentru a porni creier
- Refactoring - când codul este mai ușor de rescris decât să înțelegi cum funcționează
- Testul unității - când codul a fost deja rescris, dar nimic nu este clar și se bazează pe metoda de a privi intenționat
- O persoană - dacă nimic nu a ajutat sau, dimpotrivă, fragmente sunt atât de simple încât chiar și o persoană poate vedea imediat răspunsul corect
Pentru fiecare întrebare, sunt posibile mai multe opțiuni de clasificare.
Să jucăm în compilator
U pentru Refactoring
Ce văd. Am zburat două cămile - una roșie, cealaltă spre stânga. Cât costă un kilogram de asfalt, dacă ariciul are 24 de ani?
În epoca noastră, schizofasia poate fi găsită în:
- spitalul psihiatric
- cerințe funcționale
- întrebări la interviu
- codul vechi
În acest din urmă caz, refactorizarea și testele ajută.
Să presupunem că un exemplu de mai sus nu numai că arată sinistru, dar funcționează incorect. De exemplu, a trebuit să scrie "578". Sincer, preferați ca colegul dvs. să o repare după cum urmează:
Cum a fost efectuată clasificarea:
Luăm întrebarea și analizăm modul în care vom rezolva problema în viața reală: să scrieți un test, să rescrieți codul, să vă bazați pe sugestiile IDE sau să vedeți problema singură.
Drept urmare, întrebarea a fost clasificată ca:
- Pentru a răspunde, aveți nevoie de o persoană - dacă alte opțiuni nu funcționează. Practic, s-au dovedit întrebări precum "ce sunt modificatorii de acces". Da, puteți scrie un test, dar în viață se presupune că răspunsul trebuie dat imediat.
- Pentru răspuns, o persoană nu este deosebit de necesară - când puteți scrie un test sau un refactor, dar puteți vedea și problema cu ochii (de exemplu, fragmente de tip simplu
sau o teorie exotică, cum ar fi metodele cu suma supraîncărcată (Număr) și suma (Integer)). - Pentru a răspunde nu au nevoie de un om atunci când codul este deja suficient de zamorochennye, ERR - timp de o bucată de tort, și în viață, atunci când producția este în joc, ne-ar cheltuit cel puțin sincer de depanare.
Popularitatea testelor este ușor de explicat prin simplitatea verificării rezultatului, dar dacă ne interesează un "rezultat" puțin diferit, atunci aș sugera să găsesc o aplicație mai bună pentru fragmente.
De exemplu, puteți solicita candidatului să scrie teste pentru o anumită bucată de cod și să vadă ce cazuri limită va verifica. Sau dați un refactor o clasă sau o metodă. În caz contrar mâine, candidatul dvs. va merge la muncă și va spune "Ce este acolo pentru refactor?" Codul normal. Întotdeauna scriu așa.