Why is hiring broken? It starts at the whiteboard

Cred că este exemplul ăsta, în care un programator cunoscut este respins la o firmă oarecare (google) pentru că nu știa să inverseze un binary tree pe tablă ar trebui să spună multe:

Sunt curios, pentru cei care au fost la interviuri în utlima vreme, în România se practică astfel de interviuri, la tablă?

Dacă ați avut parte de astfel de interviuri și ați fost angajați la firma respectivă, întrebările din interviu reflectau câtuși de puțin munca ulterioară?

4 Likes

The most common tasks meted out at the whiteboard are recalling algorithms and writing them bug-free on the whiteboard.

Pe de-o parte, inteleg angajatorii, ca vor sa ai idee cat de cat despre acel algoritm, dar nu sunt deacord cu partea cu bug-free. Pe PC ar mai merge sa ceri bug-free, chiar daca nu ii dai voie sa compileze/ruleze codul, fiindca densitatea cod pe suprafata vizuala este mai mare, viteza de scriere, precul si lizibilitatea (nu stiu daca ati observat, dar programatorii tind sa scrie pe/cu o tastatura in majoritatea cazurilor).

In schimb, are mai mult sens sa iti ceara sa explici un algoritm, pe tabla. Spre exemplu, la arbore binar ai nevoie de cateva patratele/cerculete legate cu niste liniute si ii explici in ce moduri se poate scana.

Asta daca vor eficienta (adica sa nu piarda atat timpul lor, cat si al posibililor viitori angajati).

Cred ca articolul s-ar referi mai mult la fatarnicia angajatorilor care te-ar pune sa explici un arbore binar pe tabla in 2016, cand folosim un ‘framework’ third-party pentru a pune zerouri unei cifre. Adica nu prea o sa ai ocazia sa scrii respectivul cod care lucreaza cu arbori binari si o sa refolosesti codul lui X sau al lui Y. (cazul respectiv se referea la Google, cred ca e unul dintre putinele locuri unde chiar ai nevoie sa stii modul de sortare/functionare al unui arbore binar).

2 Likes

2009, yahoo, londra
interviu pe tabla

in locul cretinismelor obisnuite am primir ceva mult mai interesant, care inca imi foloseste: curl_multi
fiind la prima vedere, am discutat putin “ce ar putea fi, bazar pe nume”, apoi am avut voie sa deschid manuaul php sa citesc ce e de fapt, apoi am discutat la ce l-as folosi

am mai facut o analiza arhitecturala a primei pagini yahoo, ce e acolo, o investigatie cu firebug, si cum as imbunatati eu chestii

best interview ever, pacat ca era doar pt inlocuirea unei tanti care mergea in concediu de mamica pt cateva luni si am refuzat

4 Likes

Ma duc prin cluj sa caut ceva loc de munca, o sa scriu ce fel de interviuri sunt pe aici pe diferite pozitii.
Unde e Java e clar teorie OOP + ceva teste de logica, restul abia astept sa vad.

2 Likes

cauti ceva anume? scrie-mi pe privat detalii, pls

1 Like

Cred ca pornesti de la trei premise gresite in acest caz:
1. Daca esti programator cunoscut trebuie sa fii imediat angajat ?
Cunoscut unde sau in ce domeniu ? Este posibil ca “profilul tau sa nu corespunda specificului jobului”, ca de exemplu esti bun pe Java dar nu atat de bun pe Phyton care se cere la job.
2. Google nu este o firma oarecare, asa ca isi permite sa selecteze “varfurile” de care are nevoie. Daca a cerut ceva dificil la tabla si Max asta n-a stiut, nu inseamna ca n-au existat candidati care sa stie.
3. Suntem siguri ca la Google nu se foloseste inversare binary tree in munca ulterioara ? Din cate am inteles din alte raspunsuri chiar se foloseste.

In plus ce a facut Max asta sa se dea persecutat ca a fost respins nu-i face cinste deloc si sigur va avea dificultati la angajare in alte parti. Este ca si cum dupa prima intalnire esti respins discret, dar tu incepi sa bati toba ca respectiva este fitoasa si mofturoasa. :wink:

3 Likes

Well, Max Howell lucreaza la Apple acum, deci sa nu-i plangem de mila.

1 Like

Good point, thanks for the info ! :slight_smile:
Asta confirma ce am spus despre “corespondenta profilului”, softul sau Homebrew este bine cunoscut pe platforma Apple OS X.

1 Like

eu am retinut ca a fost invitat la interviu, nu i-a venit lui ideea sa inceapa procesul; practic a fost facuta o scanare pe baza careia i s-a propus sa “iese la tabla”

sincer, dupa un anumit punct in cariera, interviurile la tabla sunt pointless

Parcurgerea unui arbore binar, sub orice forma, se face in liceu sau facultate cu profil informatica. Probabil daca nu scrii cod pentru implementarea de solutii care folosesc structuri de date complexe, nu o sa te lovesti de asa ceva si poti sa ai o cariera glorioasa in programare.
In plus, algoritmul de parcurgere il gasesti pe Wikipedia, singurul lucru este cum il folosesti. Ceea ce ar fi fost o intrebare mult mai buna, pentru un programator cu experienta.

2 Likes

Nu înțeleg, concret, omul de ce e ofticat?

Ce legătura are faptul ca a scris un software popular cu poziția de la Google?
Poate poziția la Google presupunea alte abilitați și cunoștințe decât cele care au fost necesare pentru implementarea Homebrew.

Orice domeniu are multe specializări, e imposibil sa știi tot. E un lucru bine stiut de oricine care lucreaza de cativa ani in orice domeniu.
Un pictor care vinde o pictura in ulei cu milioane de euro poate fi un grafician mediocru.
Cred ca individului i s-a cam urcat la cap :slight_smile:

Nu știm detaliile interviului, dar nu mi se pare inspirat ce a făcut. Putea sa privească povestea ca o întâmplare funny, de unde are de invatat cum se parcurge un arbore binar :smiley:

Putea cel mult sa scrie ceva la modul:
“Writing a very popular software(Homebrew) which even your interviewer (Google) uses a lot doesn’t help getting the job. I wish I needed to invert a binary tree in Homebrew”

7 Likes

sau putea specula intamplarea pentru a obtine ceva ce isi doreste.
sa creezi un software bun necesita skilluri tehnice bune.
sa creezi un software popular necesita skilluri de networking / /marketing / etc…
inteleg ca tipul e acum angajat de apple, deci eu as spune ca si-a jucat excelent mana.

1 Like

In Romania se practica, intr-o mica masura din experienta mea personala, dar oricum nivelul nu e de google ca dificultate. Ce am vazut mai des pe aici e interviul pe laptop, de live coding.

1 Like