Diferente pentru blog/sfaturi-pentru-interviuri intre reviziile #48 si #37

Nu exista diferente intre titluri.

Diferente intre continut:

Postul 'cum sa scrii un CV':blog/cum-sa-scrii-un-cv a trezit interes si continui pe tema asta. Ca inginer la Google am trecut deja prin cam 100 de interviuri, asa că m-am gândit  continui si cu niste sfaturi despre interviuri în sine.
Postul 'cum sa scrii un CV':blog/cum-sa-scrii-un-cv a trezit interes si continui pe tema asta. La Google o parte a jobului oricarui inginer e sa intervieveze cativa candidati pe saptamana si sa recomande programatori buni, astfel in ultimii ani dat peste de 100 de interviuri. Am cateva idei adunate de-a lungul timpului si e cazul sa le pun si in scris.
*In primul rand, este foarte util sa fi incalzit.*  În US se recrutează mult în campus asa că studentii au experienta interviurilor de la mai multe companii. În Romania nu există luxul ăsta, desi anul trecut au fost Facebook si Google la recrutari in Bucuresti.
Pe vremea mea cand ma uitam dupa Google Interview Questions nu gaseam nimic pe net, dar voi nu aveti nici o scuza sa fiti nepregatiti in fata unui interviu :P.
Luati interviurile tehnice in serios pregatiti-va cateva saptamani intens pentru ele. Da cautati Google Interview Questions” se găsesc suficiente resurse pe net, intrebari deja banate dar care sunt un exemplu excelent de încălzire.
Studentii din state de la universitati bune pe langa faptul ca au profesori tari au si avantajul recrutarilor direct din campusul universitar. In sezonul de recrutari dau 5 - 10 serii de interviuri si sunt in forma. Romanii nu au luxul asta, desi anul trecut au fost Facebook si Google la recrutari in Bucuresti. Sfatul meu e sa luati interviurile tehnice in serios si sa va pregatiti cateva saptamani intens pentru ele.
 
*In faza de interviuri* ajungi foarte probabil daca ai una sau mai multe dintre urmatoarele:
Nuantez putin ce am zis despre *continutul unui CV*. Ai sanse bune sa ajungi in faza de interviuri daca ai una sau mai multe dintre urmatoarele:
* facultate de profil si note mari
* concursuri de info sau de mate si ai facut bine la nivel national
* multe proiecte personale
* internshipuri
O *recomandare interna* iti asigura un interviu aproape sigur, chiar daca CVul nu e foarte bine facut.
 
*In Bay Area interviurile tehnice sunt standardizate.* Facebook, Google, Microsoft, Twitter, Quora, Palantir, toate au interviuri similare.
Alta chestie importanta e sa fi recomandat de cineva din firma, chiar daca ai un CV care nu arata extraordinar, o *recomandare interna* aproape sigur iti asigura un interviu.
Un interviu dureaza 45 de minute si contine intrebari de coding care trebuie rezolvate pe tabla, intrebari de algoritmica sau intrebari de system design. Pentru studenti sau proaspat absolventi se insista pe algoritmica si coding, pentru ca ei nu au multa experienta practica.
In Bay Area interviurile tehnice sunt standardizate. Cele la Facebook, Google, Microsoft, Twitter, Quora, Palantir sunt similare. Ele dureaza 45 de minute si contin intrebari de coding care trebuie rezolvate pe tabla, intrebari de algoritmica sau intrebari de system design. Pentru studenti se insista pe algoritmica si coding, pentru ca inca nu au asa multa experienta practica.
In general poti coda in ce limbaj iti place daca pe fisa postului pe care aplici nu se specifica un anumit limbaj.
*Algoritmica*
Ca inginer e important sa ai o intelegere o intelegere clara a algoritmilor, a structurilor de date si a complexitatii lor.
Oricarui inginer ii e util sa aiba o intelegere mai clara a algoritmilor, a structurilor de date si a complexitatii lor. Sfatul e bun si pentru cei ce nu sunt interesati de interviuri.
Din pacate cursurile din facultate nu sunt de ajuns ca sa te simti confortabil in nici un domeniu, chiar daca ai luat 10 la examen. Asa că ai două variante.
Dar un curs in facultate nu e de ajuns ca sa te simti confortabil in nici un domeniu, chiar daca ai luat 10 la examen. Aici cei care au facut la viata lor concursuri de programare au un avantaj clar. Dar pentru un om pasionat, care nu a avut interes sau contacte cu olimpiada, putin antrenament ajuta foarte mult.
Unu: concursurile de programare. Da ai trecut prin olimpiade ai deja un avantaj. Multe din problemele de la olimpiade sunt pe acelasi stil (si mult mai grele :-) ).
Un intervievator se asteapta sa stii pe loc complexitatile operatiilor unui hash table, unui binary search tree, unui heap sau cum functioneaza o cautare in latime. Nu sunt grele dar trebuie exersate putin.
Doi: antrenamentul ajuta foarte mult. Treci prin o carte de algoritmica cu multe probleme: 'Problems on algorithms':http://larc.unt.edu/ian/books/free/poa.pdf E gratis si e mult mai scurta decat Cormen. Scopul tau este să ajungi la un nivel la care poti analiza pe loc complexitatile la operatiile unui hash table, unui binary search tree, unui heap sau cum functioneaza o cautare in latime. Citeste chestiile de baza. Cauta pe cineva cu care sa discuti. Verifica daca intelegi si poti aplica notiunile invatate pe probleme noi.
Recomand sa treci prin o carte de algoritmica cu multe probleme: 'Problems on algorithms':http://larc.unt.edu/ian/books/free/poa.pdf E gratis si e mult mai scurta decat Cormen.
*Coding*
Orice inginer trebuie sa demonstreze in interviu ca stie coda. Totusi asta e locul cel mai frecvent unde apar probleme.
 
Intrebarile de coding nu sunt dificile. Ele trebuie terminate in 10-20 de minute de un programator decent. Dar sub presiunea interviului si ingineri seniori sau olimpici internationali fac greseli.
Aici apar probleme in majoritatea interviurilor. Problemele de coding din interviu nu sunt foarte grele pentru ca trebuie terminate in 10-20 de minute de un programator decent. Chiar daca problemele par abordabile e diferenta mare intre avea o idee si a o aborda corect sub presiune. Fie el olimpic international, sau programator senior fara putina incalzire sunt sanse bune sa busheasca.
Fa 20 de concursuri de divizia 2 pe 'Topcoder':http://topcoder.com/tc Problemele de acolo sunt apropiate ca dificultate de cele din interviuri. Cand incepi sa rezolvi problemele consistent esti pregatit.
Eu le recomand prietenilor sa intre pe 'Topcoder':http://topcoder.com/tc si sa faca 20 de concursuri in practice room, concursuri de divizia a 2-a. Problemele de acolo sunt foarte apropiate ca dificultate ca problemele de coding de la companiile din state. Cand incepi sa rezolvi problemele consistent esti aproape de nivelul bun pentru interviuri.
Nu se dau puzzleuri cum ar fi 'cate mingi de golf ar umple un autobuz' desi apar prin ziare, deci nu va pierdeti vremea cu asa ceva.
* Ea are si un video care simuleaza experienta unei bucati din un interviu
==YoutubeVideo(id="2cf9xo1S134" width="420" height="315")==
* Cum abordezi problemele in interviu.
* Cum e sezon de recrutare, Palantir, un startup tare din zona a publicat recent doua articole foarte bune despre coding si algoritmica in interviuri
'Interviul de algoritmi':http://blog.palantir.com/2011/09/26/how-to-rock-an-algorithms-interview/
'Interviul de coding':http://blog.palantir.com/2011/10/03/the-coding-interview/#more-1925
Sfaturile lor sunt utile chiar in timpul interviului. Dar nivelul interviurilor la ei e dur si toate sfaturile astea nu te ajuta prea mult daca la chestiile fundamentale de care ziceam mai sus nu esti in forma.
* 'Guerilla guide to interviewing':http://www.joelonsoftware.com/articles/GuerrillaInterviewing3.html Joel(unul din fondatorii stackoverflow, fost Product Manager pe Excel, fondator a fogcreek si blogger cunoscut) scrie articolul de capatai al interviurilor tehnice, probabil inspirat din structura interviurilor Microsoft. Concluzia articolului este ca, daca esti angajator vrei sa te prinzi daca intervievatul e destept si productiv.
* 'Reteta pentru angajare la Google':http://1-800-magic.blogspot.com/2007/12/recipe-for-getting-employed-by-google.html un manager care a lucrat la Microsoft si la Google crede ca a gasit reteta pentru a fi angajat la cele doua companii.
* 'Hiring process':http://dondodge.typepad.com/the_next_big_thing/2010/09/how-to-get-a-job-at-google-interview-questions-hiring-process.html Don Dodge, angajat Google explica procesul de angajare pentru full time.
* 'Hiring process':http://dondodge.typepad.com/the_next_big_thing/2010/09/how-to-get-a-job-at-google-interview-questions-hiring-process.htmlDon Dodge, angajat Google explica procesul de angajare pentru full time.
Sfaturile astea merg in practica. Asa ca spor la munca si bafta mare!
Am vazut ca sfaturile astea merg in practica, mai ales cel cu concursurile pe topcoder. Asa ca spor la munca si bafta mare!
Daca aveti intrebari va raspund in comentarii.

Diferente intre securitate:

protected
public

Topicul de forum nu a fost schimbat.