Skip to main content

Technické dotazy a tipy na rozhovor - múza

The Road to 100,000 Original Prusa 3D printers (Červen 2026)

The Road to 100,000 Original Prusa 3D printers (Červen 2026)
Anonim

S druhým velkým technologickým rozmachem Silicon Valley jsou inženýři velmi žádaní jak začínajícími firmami, tak technologickými giganty. Pro ty, kteří mají technické zázemí nebo studují informatiku, svět je právě teď vaše ústřice.

Jak již bylo řečeno, společnosti nejen rozdávají práci. Programátoři stále musí projít specializovanými procesy rozhovorů - včetně někdy obávaného technického rozhovoru.

Příprava na ně může být matoucí utrpení. Měli byste studovat konkrétní technické projekty nebo obecně aktualizovat na spoustu témat? Měli byste cvičit na počítači nebo s kamarádem?

Jako třetí inženýr ve společnosti Pocket Gems, který má asi 165 technických zaměstnanců, jsem provedl stovky telefonních rozhovorů a rozhovorů na místě. Během této doby jsem se toho hodně naučil, jak se na ně správně připravit. Zde jsou tipy, které potřebujete k tomu, abyste při dalším technickém pohovoru přibili

Zaměřte se na základy

Tazatelé se vás hlavně zeptají na vaše základní principy: datové struktury, algoritmická analýza složitosti, návrh třídy a podobně. Budou to otázky přímo o základech (např. Použijte X k provedení Y) a otázkách, pro které budete používat své základy (více k tomu níže).

Základy považujte za nástroje v sadě nástrojů. Zůstanou stejní bez ohledu na to, jaká úžasná nová technologie vyjde. Díky silným základům budete lépe připraveni řešit problémy s otevřeným koncem - druhy problémů, které my a mnoho dalších startupů řešíme každý den. Zaměřením na základy mohou tazatelé strávit méně času přípravou otázek na pohovor a více času vidět, jak si myslíte.

Můžete se například zeptat na něco jako: Dostanete binární strom a dva uzly ve stromu. Najděte nejnižší společný předek dvou daných uzlů za O (n) čas.

Prostřednictvím této otázky tazatel hledá, jak dobře můžete sdělit svůj myšlenkový proces a řešení. Jak myslíte problémem, organizujte své myšlenky a sdělujte svou odpověď, je často stejně důležité jako váš závěr. Pracujeme ve složitých a neustále se měnících prostředích a potřebujeme lidi, kteří dokážou řešit těžké problémy a efektivně je komunikovat se svými technickými i netechnickými spoluhráči.

V této oblasti rozhovoru byste měli pohodlně diskutovat o věcech, jako jsou řetězce, pole, základní syntaxe, typy dat, propojené seznamy, stromy, grafy, hromádky, fronty a hashovací tabulky. Jo, a ujistěte se, že můžete odpovědět FizzBuzz, aniž by odpálil oko.

Buďte připraveni řešit věci různými způsoby

Každý z vašich základů má klady a zápory a nabízí jedinečné řešení pro určitý typ problému. Poté, co se tazatelé zeptají na otázku pouze na vaše základy, pravděpodobně uvidí, jak je můžete použít v praxi. Toho je dosaženo kladením otevřených otázek, které lze vyřešit různými způsoby.

Ukázková otázka by zde byla: Dostali jste aritmetickou rovnici jako řetězec. Tato rovnice bude mít jednociferné 0-9, sčítání, odčítání, násobení a závorky. Napište funkci, která vezme tuto rovnici a vypočítá správnou odpověď. Příklady vstupů zahrnují „1 + 1“ a „2 * (1 + 9) - ((2 + 5) -9“).

Stejně jako dříve, tazatel chce vidět, jak rozebíráte otevřené otázky a váš myšlenkový proces při výběru vašeho řešení. A co je nejdůležitější, chtějí vidět, že dokážete efektivně komunikovat složité problémy.

Nezáleží na tom, jakou otázku nebo jaké řešení zvolíte, nezapomeňte promyšleně nahlas! Pokud máte různé způsoby řešení problému, promluvte si před volbou, které možnosti použijete. Pomáhá tazateli vidět a pochopit váš myšlenkový proces. Tazatel může také doporučit jedno řešení před ostatními, protože ví, že ostatní mohou mít určité úskalí nebo mohou být mimo rozsah rozhovoru.

Nebojte se klást otázky, pokud je něco nejasné nebo není k dispozici mnoho podrobností. Ty ukazují, že také přemýšlíte - a poskytnou tazateli představu o tom, jak budete pracovat s ostatními. Ujistěte se, že píšete objasňující otázky, abyste plně porozuměli otázce a abyste nerozšiřovali rozsah problému (např. Co jsou některé příklady vstupů? Musím si dělat starosti s dělením na 0? Musím se starat o letní úspory?)

Nakonec se ujistěte, že slovně projdete několik testovacích případů, než řeknete, že jste hotovi. To vám umožní zkontrolovat kód a ukázat tazateli, že svůj kód kontrolujete. Tak snadné, jak by to vedlo k přijímacím pohovorům, bohužel nemůžeme přečíst vaši mysl.

Takže, jak se připravujete, procvičujte řešení otázek pomocí různých nástrojů z vaší sady nástrojů, abyste si o tom vytvořili intuici. Vědět, kdy používat každý z vašich nástrojů, abyste se během rozhovoru nezakopali. A ujistěte se, že praktikujete úplný popis vašeho myšlenkového procesu - to může být nejtěžší část pro kodéry, kteří jsou zvyklí na izolaci.

Cvičení, Cvičení, Cvičení

Čím více trénujete, tím lépe budete připraveni na technický kódovací rozhovor. To platí pro většinu věcí, ale zejména pro technické rozhovory - skutečně vyžadují, abyste zahřáli mozek.

Zde je několik tipů, které vám pomohou vytěžit maximum ze svého tréninkového času:

  • Ujistěte se, že simulujete prostředí rozhovoru. Dejte si časový limit na problémy. Pokud se chystáte telefonovat, cvičte na Stypi i na Dokumentech Google. (Vím pro sebe, protože jsem neměl automatické doplňování a zvýrazňování syntaxe mě zakoplo o telefonické rozhovory.) Pokud se chystáte na pohovor osobně, cvičte problémy na papíře nebo na tabuli.
  • Požádejte netechnického přítele, aby vám položil otázky na pohovor a prošel jej svými odpověďmi. Pokud mu to můžete vysvětlit, jsem si jist, že to můžete vysvětlit vašemu technickému tazateli.
  • Nemáte pocit, že podvádíte, pokud používáte některé z přípravných nástrojů, které jsou tam. Často nabízejí skvělé informace a praktické otázky. Moje oblíbené jsou weby jako TopCoder a knihy The First First . Některé další knihy, které hovoří více o procesu pohovoru, jsou Programming Interviews Exposed a Cracking the Code Interview .

Technické rozhovory s kódováním se mohou zdát docela skličující, ale se správnými typy zaměřené praxe budete připraveni na ně. Nezapomeňte se soustředit na svůj chléb a máslo, základy a hodně trénovat. Postupujte podle výše uvedených tipů a budete připraveni na další technický kódovací rozhovor.

Chcete více informací? Nedávno jsem na toto téma přednesl konferenci UC Berkeley Engineering / Tech Career Conference. Podívejte se na moje snímky z diskuse níže pro více myšlenek a zdrojů!