Příprava na pohovor do Microsoftu s LeetCode
Autor: Aaron Cao · Aktualizováno

LeetCode pokryje mechaniku programátorských kol v Microsoftu, ale ne samotné kolo. Úlohy spadají většinou do středně těžké úrovně a pohovor hodnotí, jak nahlas popisujete postup, jak vstřebáváte doplňující omezení a jak se přizpůsobujete – nic z toho samostatné drilování nenacvičí.
Připraví vás drilování LeetCode opravdu?
Pravděpodobně jste narazili na radu vyřešit před podáním přihlášky několik set úloh a chcete vědět, jestli to číslo něco znamená. Tato část odděluje to, co LeetCode skutečně trénuje, od toho, co nechává stranou, abyste čas investovali tam, kde se vyplatí. Zkráceně: buduje si potřebnou rutinu, ale vynechává výkon, za který jste na pohovoru hodnoceni.
To, co trénuje dobře, je reálné. Rozpoznat, jakou datovou strukturu úloha vyžaduje, napsat správný kód bez kompilátoru před sebou a znát složitost toho, co jste právě napsali – to všechno je nutné, a opakování je způsob, jak se to stane automatickým.
Co vynechává, je všechno sociální. Nikdo nepřeruší vaše řešení otázkou, proč jste zvolili hashovací mapu. Nikdo v polovině nepřidá omezení a nesleduje, jak zareagujete. Nikdy nemusíte nahlas vyslovit špatný nápad a pak ho opravit, zatímco vás poslouchá cizí člověk. Přesně tohle má kolo pohovoru v Microsoftu za úkol sledovat.
Jaké vzory se objevují v programátorských kolech Microsoftu?
Na pokrytí záleží víc než na objemu a opakující se vzory tvoří krátký seznam:
- Dva ukazatele a posuvné okno. U polí a řetězců, často s požadavkem na řešení na místě (in-place).
- Hashovací mapy. Obtížnost spočívá ve výběru klíče, ne ve vyhledávání samotném.
- Průchod stromem. Do hloubky i do šířky, součty na cestě, nejnižší společný předek.
- Prohledávání grafu. Úlohy s mřížkou, souvislé komponenty, nejkratší cesta v neohodnoceném grafu.
- Spojové seznamy. Obrácení pořadí, sloučení a detekce cyklu.
- Přístupné dynamické programování. Jednorozměrný stav, rodina úloh typu výměna mincí a schody.
Užitečný test, kdy přestat: náhodně vyberte vyřešenou úlohu a nahlas vysvětlete, proč se daný vzor hodí a co by pokazilo alternativní řešení. Pokud to zvládnete napříč celým výše uvedeným seznamem, další objem už moc nepřidá. Kola pohovorů v jiných firmách jsou rozebraná v centru témat o pohovorech ve firmách.
Čím se pohovor liší od sezení s LeetCode?
Čtyři rozdíly mění to, jak byste měli trénovat. Mluvíte dřív, než píšete, protože tazatelé očekávají popis postupu a odhad složitosti ještě předtím, než se objeví kód. Omezení přicházejí v polovině úlohy a doplňující otázka je tou skutečnou. Neexistuje tlačítko pro odeslání, takže o krajních případech uvažujete sami, místo abyste četli chybové hlášení. A celé se to odehrává na Microsoft Teams, obvykle ve sdíleném editoru, zatímco vás někdo sleduje.
Uchazeč připravující se na pozici střední úrovně měl za sebou přes dvě stě vyřešených úloh, a přesto v kole selhával. Nahrávka tréninkového sezení ukázala příčinu: jedenáct minut ticha před prvním řádkem kódu. Řešením nebylo víc úloh, ale vyřešit tři z těch, které už měl za sebou, a přitom nahlas komentovat každé rozhodnutí.
Takový časovaný nácvik mluveného projevu proti AI tazateli funguje na stránce nácvičného pohovoru.
Jak zmenšit propast mezi řešením a vysvětlováním
Poslední úsek přípravy proměňte v nácvik výkonu. Znovu řešte známé úlohy nahlas na čas, popište postup ještě před psaním a přinuťte se uvést složitost bez vyzvání. Nahrajte si sezení a poslouchejte ticha – to je totiž to, co zažívá tazatel.
SubcueAI je navržený pro mluvená kola pohovoru, nikoli pro programátorské kolo. Nativní aplikace pro macOS a Windows zachytává zvuk systému i váš mikrofon a zobrazuje návrhy v plovoucím lokálním překrytí; postranní panel rozšíření prohlížeče poskytuje živou asistenci pro kartu se schůzkou v prohlížečích na bázi Chromium a zachytává zvuk pouze z této karty. Do hovoru nevstupuje žádný meeting bot a do stránky schůzky se nic nevkládá.
Stojí za to jasně říct, kde je hranice. Programátorské kolo v Microsoftu obvykle znamená sdílení obrazovky a cokoliv je na vaší obrazovce, je součástí tohoto sdílení. Asistent se hodí na rozhovor s náborářem, behaviorální kola a diskusi o návrhu. Co v těchto kolech zachytává a ukládá, najdete na stránce zabezpečení.