Bez obzira na to jeste li programirali otkad ste u pidžami stajali na nogama ili ste okrenuti niz cijev svog prvog posla nakon školovanja, tehnički razgovor može biti zastrašujuća prepreka između vas i vašeg posla iz snova.
Ali ne bojte se - samo se pripremite za pokazivanje svoje vještine. Ispod ćete naći nekoliko savjeta koji su od pomoći za bilo koji tehnički razgovor.
Prije intervjua
Nabavite knjigu
Što je prije moguće prije vašeg intervjua (iako sam uspio samo dva tjedna), počnite se pripremati. Rad kroz pretpreglednu knjigu ne samo će osvježiti znanje o algoritmima i strukturi podataka, već će vas staviti i na pravi način razmišljanja o rješavanju problema.
Najvažnije je odabrati pravu pripremnu knjigu za svoju razinu i interese. Kreiranje intervjua kodiranja sjajan je resurs, ali ako već niste iskusan programer, to neće nadoknaditi iskustvo. Ako tek počinjete, postoje i druge knjige od kojih ćete dobiti više prijeđenih kilometara, poput programskih intervjua koji su izloženi: Tajne do slijeđenja vašeg sljedećeg posla . A ima i puno više specijaliziranih i naprednih knjiga za one s više iskustva.
Vježbom do savršenstva
Nekoliko stvari pobjeđuje paniku kao što to čini praksa, pa počnite ploči s bordom kad god možete, čak i stvarno mali problemi. Kodiranje knjiga s intervjuima nudi gotovo beskrajne probleme s uzorcima, ali možete koristiti i probleme na kojima već radite. Postavljajte problem sebi (ili zamolite tehnički naklonjenog prijatelja da vam ga postavi, za realnije postavljanje), zacrtajte strategiju i stavite marker na suhu ploču za brisanje. Što vam je ugodnije kod označavanja prazne ploče kod kuće, manje ćete se ustručavati biti na razgovoru.
Ako vam nedostaje vremena i želite brzo prevladati trese, možete dodati pritisak koji u stvarnom intervjuu neće biti tu. Ako sebi date vremensko ograničenje ili imate nekoga koga poštujete u ulozi svog anketara, pravi će se dogovor osjećati kao komad torte.
Ne preopterećujte sebe
Kada zakazujete intervjue, budite sigurni da ostavite najmanje nekoliko sati između svakog. To zvuči kao problem iz prvog svijeta, ali kad god sam imao više intervjua u danu, nisam se tako dobro snašao. Ili sam se brinuo hoće li doći na sljedeći na vrijeme ili sam već ispravio svoju logiku satima prije.
Oh, i naspavaj se. Ovo zvuči kao da bi vam mama rekla, ali malo je stvari koje će vas izbaciti iz igre poput uspavanja. Usporedivo je s prikazivanjem pijanih.
U intervjuu
Budite spremni na sve
Nakon što ga učinite intervjuom, trebali biste se pripremiti za nekoliko različitih vrsta problema. Vaši anketari mogu od vas tražiti da razgovarate o tome kako ćete riješiti problem, oni mogu otvoriti računalo i tražiti da ih vodite kroz stvaranje koda ili će možda morati sami da sami napišete kôd na ploču. Budite spremni na varijacije i nemojte se donositi detalja! Bez obzira na to koju metodu vaši anketari koriste, zaista se testiraju vaše sposobnosti rješavanja problema.
Postavljati pitanja
Kad vam se pojavi problem, razmislite o tome i uvjerite se da u potpunosti razumijete što se od vas traži da vratite. Ne bojte se postavljati pitanja rano ako nešto nije jasno. Na primjer, ako postoje rubni slučajevi, pitajte kako vaši anketari žele s njima postupati. Treba li baciti izuzetak? Pauza?
Obavezno postavite proceduralna pitanja kako biste razumjeli što anketari traže i koja su vaša ograničenja - npr., "Postoji li određeni jezik za koji biste željeli da vam dam svoje rješenje?" Ili "Mogu li pretpostaviti da imam pristup u bilo koju Python biblioteku? "
I nemojte pretpostaviti. Čak i ako ste prilično sigurni da je sigurno, naglas napišite na što mislite tako da vas ispitivači mogu obavijestiti ako nešto nedostajete.
Uzmi si vremena
Jednom kada shvatite pitanje koje vam se postavlja, nemojte se bojati uzeti vremena i razmislite prije nego što počnete rješavati problem. Sve dok vas ne ometaju brza pitanja utemeljena na znanju, pauziranje nakon postavljanja pitanja je dobra stvar. Naravno - pazite da vam ne treba 10 minuta da to riješite u glavi bez ijedne riječi! Poanta je da iskoristite svoje vrijeme unaprijed za strukturiranje svog pristupa, a ne da pokušate zapisati sav kôd u glavu prije nego što dodirnete marker na bijelu ploču.
Misli na veliku sliku
Prvo razmislite o velikoj slici problema. U redu je pseudo-kodiranje cjelokupne strukture, sve dok kažete anketarima da to radite i da se namjeravate vratiti i zapravo to naknadno kodirati. To je dobar način da se isključi problem organiziranja problema, tako da vaš mozak ima više prostora za obradu. To će također pomoći ako vam na kraju ponestane vremena; anketari će barem znati kako ste planirali dovršiti zadatak, čak i ako niste dosli do detalja.
Također, u početku ne brinite oko pronalaženja najučinkovitijeg načina za rješenje problema, osim ako vam to prirodno ne ispadne u glavu. Zakucajte manje učinkovito rješenje, a zatim razgovarajte o tome zašto je manje nego idealno. Zatim, ako imate vremena ili vidite bolji način da se riješite, prijeđite na algoritam prilagođen vremenski ili prostornom vremenu. Iako je sve što imate vremena dovršiti svoju manje učinkovitu verziju i zatim objasniti kako biste to bolje učinili, to nije loš odgovor.
Razgovaraj van
Najvažnije: Razgovor. Povežite svoje anketere zajedno sa sobom u rješavanju problema. To može biti jednostavno poput opisivanja onoga što ćete raditi kada to radite ("Dakle, trebat će mi petlja za ponavljanje svih stavki na ovom popisu") ili postavljanja problema sebi idi ("To znači da će mi trebati bolji način za pristup informacijama; hmm, na to ću se vratiti kasnije").
Razgovor o vašem misaonom procesu daje vašim anketarima prozor kako razmišljate, i u konačnici je poanta intervjua. Čak i ako mislite da je vaše rješenje nevjerojatno, bolje je da znaju kako ste pristupili problemu i dobili svoj odgovor nego da vide cjelovit odgovor i nemaju pojma o tome što vas je tamo dovelo. Anketarima također pruža priliku da vam pomognu ako ste zaglavili ili idete niz ćorsokak.
Donesite svoje ljude, previše
To što samo idete na posao inženjeringa ne znači da možete zaostati za time da budete perspektivni i odgovorni. Čuo sam horor priče fantastičnih programera koji nisu angažirani jer nisu bili kultura ili su imali loš stav. Siguran sam da i vi imate. Nemoj biti ta osoba.
Radoznalost i entuzijazam cijenjeni su u svakom zaposleniku - a programeri se ne razlikuju. Pitajte o inženjerskom timu tvrtke, broju proizvoda i najtežim problemima koji se trebaju riješiti na proizvodu. Naravno, postoji dobra granica između entuzijazma i sikofata, zato držite to iskreno, ali svi vole kandidata koji je zainteresiran za proizvod na kojem će raditi.
Naučite nešto novo
Napokon, jedna stvar koju ispitanici najčešće propuštaju je mogućnost učenja. Nadamo se da ćete u svakom intervjuu naučiti nešto novo - steći ćete novu ideju ili novi alat ili steći neki uvid u zanimljive proizvode i tehnologiju. Što više razmišljate o svojim intervjuima na taj način, to će vam dugoročno biti dragocjenije.