Otázky na pohovoru pro Python
Autor: Aaron Cao · Aktualizováno
Očekávejte tři vrstvy: mechaniku jazyka, jako je mutabilita, generátory a dekorátory; chování za běhu, jako je GIL; a aplikované programování na datových strukturách. Většina zamítnutí pochází z povrchních vysvětlení proč, ne ze špatné syntaxe.
Otázky, které se stále vracejí
Projít si seznam dvou set otázek o Pythonu působí produktivně, ale výsledek pohovoru to mění jen zřídka. Tato sekce zužuje pole na hrstku otázek, které se opakují jak v telefonických screeningech, tak v technických kolech, a ukazuje, co obsahuje silná odpověď. Malý počet vlastností jazyka nese většinu signálu.
- Mutovatelné výchozí argumenty. Proč
def f(x=[])hromadí hodnoty mezi voláními? Výchozí hodnoty se vyhodnocují jednou, když je funkce definována, ne při každém volání. - Generátory versus listy. Kdy je
yieldlepší než sestavování listu? Když je posloupnost velká, nebo když byste mohli přestat číst předčasně. - Dekorátory. Co vlastně dekorátor vrací a proč wrapper potřebuje
functools.wraps? - GIL. Proč se vlákna vázaná na CPU v CPythonu neškálují, a co použijete místo toho?
- Mělká versus hluboká kopie. Co se rozbije, když je vnořená struktura zkopírována pomocí slice?
- Identita versus rovnost. Proč testování
isna malých celých číslech ve shellu dává zavádějící výsledek.
Co odděluje úspěch od neúspěchu
Dva kandidáti mohou uvést stejnou správnou definici GIL a postoupí jen jeden z nich. Rozdíl bývá zpravidla ve druhé větě.
Backendový inženýr, který dělal pohovor na pozici úrovně L5 u velkého poskytovatele veřejného cloudu, dostal otázku, proč se jejich služba při zátěži zpomalovala. Zmínil GIL a pak pokračoval: nejvytíženější cestou bylo parsování JSON, takže vlákna byla špatný nástroj, a přesun této fáze do process poolu obnovil propustnost. Pojmenování omezení přineslo částečné body. Propojení s rozhodnutím vyhrálo kolo.
Sestavte každou odpověď ve třech taktech: co funkce dělá, proč existuje, a kdy byste se jí vyhnuli. Třetí takt je ten, který většina kandidátů vynechává, a je to ten, který ukazuje úsudek. Další stránky o kolech zaměřených na coding, chování a návrh systémů jsou seskupeny pod typy pohovorů.
Jak se připravit bez biflování
Číst odpověď a říkat odpověď jsou různé dovednosti a testuje se jen jedna z nich. Nacvičujte nahlas, na čas, stejnými slovy, jaká byste použili během hovoru.
- Napište si odpověď na každou opakující se otázku jako tři věty, pak ji řekněte, aniž byste se dívali.
- Vyberte dvě funkce, které používáte denně, a připravte pro každou upřímné omezení. Schopnost kritizovat vlastní nástroje působí jako zkušenost.
- Přineste jeden skutečný příběh o ladění, kde vás chování Pythonu překvapilo a vy jste zjistili proč.
- Aplikovanou polovinu procvičujte zvlášť: slovníky, množiny, řazení pomocí key funkce a práce s řetězci pokrývají velkou část screeningů.
Pokud chcete časované kolo proti AI tazateli před tím skutečným, najdete ho na stránce mock interview.
Kde se hodí živý asistent, a kde ne
SubcueAI je nativní desktopová aplikace pro macOS a Windows. Zachycuje obě strany hovoru, přepisuje v reálném čase a zobrazuje kostru odpovědi na plovoucím překryvu, který zůstává lokálně na vašem počítači, takže se k schůzce nepřipojuje jako účastník ani bot. U kola zaměřeného na Python je užitečným výstupem výzva ke struktuře, ne hotová odpověď: podrobnosti musí být vaše vlastní, protože navazující otázka se bude týkat kódu, který jste právě popsali.
Upřímné limity jsou důležitější než schopnosti. Pokud sdílíte obrazovku, sdílí se vše, co je na ní. Pokud kolo probíhá na hlídané hodnoticí platformě, nebo na zařízení spravovaném firmou, je asistent mimo rozsah. Nastavení a oprávnění jsou popsány na stránce tutorial.