Které platformy pořádají programovací pohovory a jak se liší?
Autor: Aaron Cao · Aktualizováno
Většina programovacích pohovorů probíhá v živém sdíleném editoru (CoderPad, CodeSignal, HackerRank Interview nebo obyčejný sdílený dokument), jako časově omezený online test (HackerRank, Codility, CodeSignal) nebo prostřednictvím externí služby, například Karat. Hlavní rozdíly spočívají v tom, zda pohovor probíhá živě, nebo asynchronně, zda lze kód spustit a zda je relace monitorována.
S jakými platformami se skutečně setkáte?
Název platformy bývá uveden v e-mailové pozvánce a napoví vám většinu toho, jak bude relace probíhat. Platformy spadají do čtyř skupin.
- Živé sdílené editory. CoderPad, pohovorový režim CodeSignal, HackerRank Interview (dříve CodePair) a podobné editory otevřou dokument, který můžete upravovat vy i tazatel. Většina z nich umí spouštět kód v několika jazycích; někteří zaměstnavatelé spouštění záměrně vypínají, abyste nad řešením uvažovali místo zkoušení metodou pokus–omyl.
- Obyčejné sdílené dokumenty. Některé týmy stále posílají dokument Google nebo prázdný textový editor přes Zoom či Google Meet. Bez zvýraznění syntaxe, tlačítka spuštění a testů; tazatel čte váš kód jako při jeho revizi.
- Časově omezené online testy. HackerRank, Codility a CodeSignal poskytují pevně danou sadu úloh s časomírou a automatickým vyhodnocením. Nikdo s vámi není v hovoru; platforma zaznamenává vaši relaci a hodnotí skryté testovací případy.
- Externí poskytovatelé pohovorů. Karat a srovnatelní poskytovatelé zajistí vyškoleného technika, který vede živý technický pohovor ve vlastním editoru poskytovatele a sepíše zprávu pro zaměstnavatele. Formát je živý, ale člověk na druhé straně hovoru není váš budoucí kolega.
Zaměstnavatelé tyto možnosti kombinují. Typický proces začíná testem, pokračuje jedním nebo dvěma koly v živém editoru a končí rozhovorem o návrhu pomocí digitální tabule nebo obyčejným hovorem. Jednotlivým poskytovatelům se podrobněji věnuje téma prověřování platforem.
Jak se liší v tom, na čem záleží?
Průběh relace určuje pět vlastností, které se mezi platformami liší více než obtížnost úloh.
- Živě, nebo asynchronně. Živý editor znamená rozhovor; můžete se ptát na omezení a získat nápovědu. Test je tichá zkouška; jediným upřesněním je zadání úlohy.
- Spouštění kódu. Editory s tlačítkem spuštění vám umožní ověřit případ, než prohlásíte, že řešení funguje. V obyčejných dokumentech a editorech s vypnutým spouštěním jste interpretem vy, takže popisujete, co dělá každý řádek.
- Viditelnost vašeho psaní. V živém editoru tazatel okamžitě vidí každý stisk klávesy, každou pauzu i smazání. Uvidí i to, že funkci třikrát přepíšete; nemusí to být špatně, problémem je však mlčení během úprav.
- Jazyk a nástroje. Většina editorů podporuje běžné jazyky, ale přístup ke knihovnám, automatické doplňování a ladicí nástroje se liší. Testy vás často omezují na jazyky podporované hodnoticím systémem.
- Nahrávání a monitorování. Živá kola se běžně nahrávají pro následné vyhodnocení. Testovací platformy nabízejí volitelné monitorování, které může zahrnovat snímky z webkamery, záznam přepínání karet prohlížeče nebo označení kopírování a vkládání; o zapnutí rozhoduje zaměstnavatel a pozvánka to málokdy uvádí.
Právě podle poslední vlastnosti byste měli plánovat. Pokud pokyny neříkají jinak, přistupujte ke každému časově omezenému testu, jako by bylo monitorování zapnuté.
Jak se připravit na jednotlivé formáty?
Je pochopitelné mít obavy, že se trénink na jedné platformě nepřenese na jinou. Tato část nabízí přípravu pro každý formát; stručně řečeno, programátorské dovednosti jsou přenosné, ale návyky při relaci nikoli, proto je cíleně nacvičujte.
- Pro živé editory: trénujte v editoru v prohlížeči bez automatického doplňování, při psaní mluvte a před prvním spuštěním ručně napište jeden malý testovací případ. Pokud má editor tlačítko spuštění, použijte je až po vysvětlení svého postupu, nikoli místo něj.
- Pro obyčejné dokumenty: trénujte psaní správného kódu bez kompilátoru. Důsledné odsazení a krátké funkce jsou důležité, protože tazatel kód čte, nikoli spouští.
- Pro časově omezené testy: trénujte s časomírou a myslete na skryté testy: ošetřete prázdný vstup, duplicity a největší povolené velikosti. Nejprve si přečtěte celou sadu a seřaďte úlohy podle očekávané náročnosti.
- Pro pohovory externích poskytovatelů: očekávejte standardizovaná hodnoticí kritéria. Tazatelé od poskytovatelů typu Karat výslovně hodnotí komunikaci a rozklad problému, proto před psaním kódu popište svůj plán.
Backendová vývojářka ucházející se o seniorní pozici v platební společnosti dostane během jednoho týdne tři různé pozvánky: na test CodeSignal, kolo v CoderPad se zapnutým spouštěním a závěrečné kolo ve sdíleném dokumentu. Každý formát si jednou nacvičí a mění mezi nimi pouze míru slovního komentování. Nástroj pro simulovaný pohovor na SubcueAI je praktickým způsobem, jak si hlasité komentování nacvičit.
Může na těchto platformách pomoci AI asistent pro pohovory?
Pouze ve formátech, kde s vámi někdo mluví. Nativní desktopová aplikace SubcueAI pro macOS a Windows zachycuje systémový zvuk i váš mikrofon, takže slyší otázku tazatele přes Zoom, Google Meet nebo Microsoft Teams a zobrazuje návrhy v plovoucím překryvu, který existuje pouze na vaší obrazovce. Její postranní panel v rozšíření prohlížeče dělá totéž u hovorů spuštěných na kartě v Chrome nebo Edge a zachycuje pouze zvuk karty se schůzkou, takže slyší tazatele a nikdy nepřepisuje vás. Žádné z těchto rozhraní se nepřipojuje k hovoru jako bot ani nic nevkládá do stránky schůzky či programovacího editoru; verze rozšíření pro Firefox podporuje pouze cvičné pohovory.
Toto použití má jasné hranice. Časově omezený test neobsahuje žádný rozhovor, takže naslouchající asistent nemá s čím pracovat, a monitorované testy zaznamenávající karty nebo sledující webkameru nespadají do účelu SubcueAI. Při živém editoru by sdílení celé obrazovky zobrazilo překryv ve sdíleném přenosu; sdílejte okno editoru, nebo nic. Nahrávaná kola a zařízení spravovaná zaměstnavatelem jsou rovněž mimo rozsah použití. Aaron Cao, zakladatel SubcueAI, navrhl překryv jako místní okno, nikoli jako účastníka schůzky, právě z tohoto důvodu: nikdy se nemá stát součástí záznamu platformy. Postup nastavení každého rozhraní najdete na stránce s návodem a stránka o zabezpečení vysvětluje, co se zachycuje a co nikoli.