Ať už jste programovali od chvíle, kdy vaše pyžama měla nohy, nebo se díváte dolů po hlavě vašeho prvního zaměstnání po škole, může být technický rozhovor děsivou překážkou mezi vámi a vaší vysněnou prací.
Ale nebojte se - jen se připravte předvést své dovednosti. Níže naleznete několik tipů, které vám pomohou při jakémkoli technickém rozhovoru.
Před pohovorem
Získejte knihu
Co nejdříve před pohovorem (i když jsem zvládl skromný jen dva týdny), začněte se připravovat. Práce s přípravnou knihou nejen obnoví znalosti vašich algoritmů a datových struktur, ale také vás dostane do správného přístupu k řešení problémů.
A co je nejdůležitější, vyberte tu správnou předběžnou knihu pro vaši úroveň a zájmy. Rozbití kódovacího rozhovoru je skvělým zdrojem, ale pokud již nejste dostatečně zkušený programátor, nevyhraje to. Pokud právě začínáte, existují další knihy, z nichž získáte více najetých kilometrů, například Programming Interviews Exposed: Secrets to Landing Your Next Job . A existuje spousta specializovanějších a pokročilejších knih pro ty, kteří mají více zkušeností.
Cvičení dělá mistra
Jen málo věcí porazilo paniku, jako je tomu v praxi, takže začněte s tabulemi, kdykoli je to možné, i když opravdu malé problémy. Knihy s kódováním rozhovorů nabízejí téměř nekonečné problémy se vzorkem, ale můžete použít i problémy, na kterých již pracujete. Pose problém sami (nebo požádejte technicky nakloněného přítele, aby vám ji předložil, pro realističtější nastavení), zmapujte svou strategii a položte značku na suché smazání desky. Čím pohodlnější je, když doma označíte prázdnou tabuli, tím méně váháte, že budete na pohovoru.
Pokud nemáte dostatek času a chcete rychle překonat chvění, můžete zvýšit tlak, který v aktuálním rozhovoru nebude. Pokud si dáte časovou lhůtu nebo si necháte někoho, koho respektujete, hrát roli tazatele, skutečný obchod se bude cítit jako kousek dortu.
Nepřetěžujte se
Když plánujete rozhovory, nezapomeňte mezi nimi nechat alespoň pár hodin. Zní to jako problém z prvního světa, ale pokaždé, když jsem měl denně několik rozhovorů, nevystoupil jsem tak dobře, jak jsem mohl. Buď jsem si dělal starosti, abych se dostal na další čas, nebo už jsem své logické hodiny už maximalizoval.
Jo, a trochu se vyspi. Zní to jako něco, co by vám řekla vaše máma, ale existuje jen málo věcí, které vás zbaví hry, jako je například nedostatek spánku. Je to srovnatelné s opilým.
V rozhovoru
Buďte připraveni na cokoli
Jakmile jste dorazili na pohovor, měli byste být připraveni na několik různých druhů řešení problémů. Vaši tazatelé vás mohou požádat, abyste si promluvili o tom, jak byste problém vyřešili, mohou otevřít počítač a požádat vás, abyste je provedli vytvořením kódu, nebo si vás nechají napsat kód sami na tabuli. Buďte připraveni na změnu a nenechte se zakopnout o detaily! Bez ohledu na to, jakou metodu používají vaši tazatelé, je to vaše schopnost řešit problémy, kterou skutečně testují.
Klást otázky
Až budete mít problém, promyslete si to a ujistěte se, že plně rozumíte tomu, co se od vás požaduje. Nebojte se klást otázky brzy, pokud je něco nejasné. Pokud se například vyskytnou okrajové případy, zeptejte se, jak si s tazateli přejí, aby se s nimi zacházelo. Měli byste hodit výjimku? Přestávka?
Nezapomeňte také položit procedurální otázky, abyste pochopili, co tazatelé hledají a jaká jsou vaše omezení - např .: „Existuje konkrétní jazyk, ve kterém byste mi chtěli dát své řešení?“ Nebo „Mohu předpokládat, že mám přístup do nějaké knihovny Python? “
A nedělejte předpoklady. I když jste si jistí, že je to bezpečné, řekněte nahlas, co si myslíte, aby vás tazatelé mohli vědět, jestli vám něco chybí.
Nepospíchej
Jakmile pochopíte otázku, na kterou jste položeni, nebojte se chvíli přemýšlet a zpracovat, než začnete problém řešit. Dokud nejste obtěžováni rychlými otázkami založenými na znalostech, je pozastavení po položení otázky dobrá věc. Samozřejmě - ujistěte se, že to neberete 10 minut, abyste to vyřešili ve své hlavě, aniž byste řekli slovo! Jde o to, abyste využili svůj čas dopředu ke strukturování vašeho přístupu, nezkoušeli si napsat celý kód do vaší hlavy, než se dotknete značky na tabuli.
Mysli na velký obrázek
Nejprve přemýšlejte o velkém obrazu problému. Je dobré pseudokódovat celkovou strukturu, pokud řeknete tazatelům, že to, co děláte, a že máte v úmyslu se vrátit a skutečně to kódovat později. Je to dobrý způsob, jak odložit organizaci problému, takže váš mozek má více prostoru pro zpracování. To také pomůže, pokud vám nakonec dojde čas; tazatelé budou alespoň vědět, jak jste plánovali dokončit úkol, i když jste se nedostali k podrobnostem.
Znepokojujte se nejprve s hledáním nejefektivnějšího řešení problému, pokud se vám přirozeně nedostane do hlavy. Nail méně efektivní řešení, a pak diskutovat, proč je to méně než ideální. Pak, pokud máte čas nebo vidíte lepší způsob, jak to vyřešit, přejděte k algoritmu více času nebo prostoru. I když vše, co musíte udělat, je dokončit méně efektivní verzi a poté vysvětlit, jak byste to udělali lépe, to není špatná odpověď.
Promluvte si to
A co je nejdůležitější: Mluvte. Přineste své tazatele spolu s vámi do řešení vašeho problému. To může být tak jednoduché, jak nastíníte, co se chystáte dělat, když to děláte („Takže budu potřebovat opakování smyčky pro opakování všech položek v tomto seznamu“) nebo pro sebe, jak vy sami, způsobujete problémy. go („To znamená, že budu potřebovat lepší způsob přístupu k informacím; hmm, k tomu se vrátím později“).
Mluvení skrz váš myšlenkový proces dává vašim tazatelům okno, jak si myslíte, a to je nakonec smysl rozhovoru. I když si myslíte, že vaše řešení je úžasné, je pro ně lepší vědět, jak jste se k problému dostali a dostali k vaší odpovědi, než aby viděli plnohodnotnou odpověď a neměli ponětí o tom, co vás tam vedlo. Také dává tazatelům šanci vám pomoci, pokud jste uvízli nebo jdete po cestě, která je slepá ulička.
Přineste svým lidem dovednosti, příliš
To, že se chystáte na inženýrskou práci, neznamená, že můžete ochabnout, abyste byli přívětiví a odpovědní. Slyšel jsem hororové příběhy o fantastických programátorech, kteří nebyli najati, protože nebyli vhodní pro kulturu nebo měli špatný přístup. Určitě ano. Nebuď ten člověk.
Zvědavost a nadšení jsou ceněny u každého zaměstnance - a vývojáři se neliší. Zeptejte se na technický tým společnosti, její zásobník a nejtěžší problémy, s nimiž se tento produkt potýká. Samozřejmě existuje úzká hranice mezi nadšením a nadšením, takže si to udržujte opravdové, ale každý má ráda kandidáta, který má zájem o produkt, na kterém bude pracovat.
Naučit se něco nového
Konečně jednou z věcí, které dotazované nejčastěji chybí, je příležitost k učení. Doufejme, že se v každém rozhovoru naučíte něco nového - získáte nový nápad nebo nový nástroj, nebo nahlédnete do zajímavých produktů a technologií. Čím více takto přemýšlíte o svých rozhovorech, tím cennější bude ten čas v dlouhodobém horizontu.




