Nema potrebe da gubis samopouzdanje nakon jednog ili nekoliko losih intervjua za posao. Intervju za posao je proces koji sam po sebi ima mnogo mana i kao takav ne garantuje da ce svi kandidati koji zapravo odgovaraju poziciji biti i primljeni. Previse je stvari koje mogu poci naopako. Velike firme iz tog razloga najcesce omogucavaju da se ponovo prijavis posle nekog vremena, jer su i same svesne da je proces pun rupa.
Takodje, u velikim firmama je najcesci slucaj da te o tehnologijama nista nece ni pitati, niti ih zanima da pises u nekom konkretnom jeziku, nego ces dobiti odredjen broj problema koje treba da resis koristeci jezik koji god zelis (moze i pseudokod).
A problemi su upravo tog tipa koji si pomenuo (nizovi, liste, stack, stabla, donekle grafovi, rekurzija).
Problem sa ovim tipom testa je taj sto su ovo nerealni uslovi za rad. Ljudi cesto osecaju pritisak kad im neko sedi iznad glave i ocekuje resenje problema. Zapravo ljudi generalno mogu potpuno da podbace zbog treme u ovakvim situacijama i to kompanije dobro znaju, ali jednostavno do boljeg a jeftinog mehanizma pri zaposljavanju jos nisu dosli (idealno bi bilo zaposliti svakog kandidata na 1-3 meseca pa onda odluciti da li je dovoljno dobar ili ne, ali naravno to je neizvodivo zbog troskova).
Po mom misljenju, nesto bolji proces intervjuisanja od ovog gore je da kandidatu das odredjeno vreme (npr jedan dan) da resi neki problem (u vidu aplikacije) kod kuce i da posalje resenje. Na taj nacin kandidat radi u realnim uslovima, gde ima sve resurse dostupne. Onda ako resenje koje je poslao ima smisla, taj kandidat se pozove na usmeni razgovor gde se detaljno prolazi kroz kod koji je napisao i od njega se trazi da objasni zasto je odabrao bas ta konkretna resenja, a usput mu se postavljaju i razna potpitanja. Mana ovakvog procesa u odnosu na prethodni je sto zahteva vise vremena po kandidatu.
Kod nas u praksi proces intervjua moze da izgleda kao jedan od ova dva gore navedena, ali je mnogo cesce da ti se desi intervju kakav si ti imao - da su izmiksana pitanja iz odredjenih srodnih tehnologija (koja zavise od pozicije na koju se prijavljujes) sa zadacima poput onih koje sam vec pomenuo. Problem sa ovakvim tipovima intervjua moze biti taj sto se od kandidata trazi nerealno mnogo. Covek koji intervjuise sastavi pitanja iz oblasti koje on odlicno poznaje i od problema na koje nailazi na dnevnoj bazi i onda krene da reseta kandidata koji je vrlo verovatno resavao nesto drugacije probleme na dnevnoj bazi i logicno je da im nisu iste stvari sveze u secanju. Kod ovakvog tipa intervjua takodje postoji opasnost da se ispolji kompleks vise vrednosti ispitivaca - da vise vremena provede demonstrirajuci svoje znanje nego ocenjujuci znanje kandidata.
Tako da, kao sto vidis, uopste ne mora biti problem do tebe. Ako nisi prosao neki intervju za posao moze biti mali milion razloga i nema potrebe da zbog toga gubis samopouzdanje. Moj savet ti je da obnovis malo znanje iz osnovnih stvari (nizovi, liste, stabla, grafovi) jer realno moras da znas da objasnis na intervjuu sta je to binarno stablo i osnovne stvari oko njega. Znaci ne treba da znas algoritme (tipa da napises quicksort za sortiranje niza ili da znas napamet algoritme za nalazenje najkraceg puta u grafu - to ako te pitaju onda je problem do njih. Mada konkretno za quicksort bi mozda bilo dobro da ga znas napamet kao i njegove performanse (sto je neko opste znanje), jer to cak i moze da se desi da te pitaju.
), ali moras da znas sta su liste, stack, stabla, grafovi, kako se kroz njih prolazi i generalno osnovne stvari o tome (+ moras da budes spreman da uradis relativno jednostavne zadatke vezane za to). Sa znanjem koje trenutno imas o tehnologijama u kojima radis (pod pretpostavkom da je ovo gore sto si napisao tacno) to bi trebalo da bude i vise nego dovoljno za bilo kakav normalan intervju. A ako od tebe kao juniora budu trazili vise od toga onda znaj da je problem u tome sto oni previse traze, a ne u tebi.