it-swarm-eu.dev

Python dotaz na rozhovor)

Do dvou týdnů se chystám na pohovor na stáž, která by zahrnovala programování Python).

Může někdo navrhnout, jaké oblasti bych měl vyleštit? Hledám často kladené otázky v rozhovorech pro otevření Python). Kromě skutečnosti, že jazyk už dělám už déle než rok, nedokážu vnímat, na co se mě mohou zeptat.

Stejně jako u rozhovoru C nebo C++, existuje spousta otázek, od reverzace řetězců až po vytváření propojených seznamů, ale pro rozhovor Python) jsem bezradný.

Osobní zkušenosti a/nebo návrhy jsou vítány.

25
Andy

Zde je několik jednoduchých:

  1. Co jsou to dekorátoři Python) a jak byste je použili?
  2. Jak ladíte svůj kód Python)?
  3. Jak byste nastavili mnoho projektů, kde každý z nich používá různé verze Python a knihoven třetích stran?
  4. Sledujete PEP8 při psaní kódu?
8
Thierry Lam

A co něco týkající se Python seznam porozumění ?) Pro mě to byly jeden z velkých prodejních bodů nad C++, když jsem o nich četl v Ponořte se do Python .

Msgstr "Napište seznam s porozuměním, které vytvoří seznam sudých čísel od 1 do 10 (včetně)".
Tam, kde je odpověď něco podobného (všimněte si rozsahu hodnot, vyhněte se chybě oplocení):

foo = [x for x in range(1, 11) if (x % 2) == 0]
print foo
[2, 4, 6, 8, 10]

Pokud tomu tak je, pokud rozumíte všem konceptům uvedeným v Dive to Python, mělo by to zahrnovat většinu důležitých funkcí.

7
Cyclops

Je Python pass podle reference nebo pass by value je také velmi dobrá otázka).

6
ismail

Otázky, které mi byly položeny:

  • Popište dvě metody meta-programování v Pythonu.
  • Co je GIL?
  • Proč je GIL důležitý?
  • Proč existuje alternativní implementace Python s názvem nladen Swallow ?
  • Django, stožáry nebo Zope? Obhajujte svou pozici.
6
Scant Roger

Nemám žádné takové zkušenosti, ale zde jsou některé odhady:

  1. (Im) mutabilita
  2. Prvotřídní funkce/třídy
  3. Uzávěry

To je něco, co by měl programátor python programátor vědět), jinak si na tuto pozici můžete také najmout programátora C.

5
Kugel

Chodil jsem po seznamu v tato odpověď . Pokuste se aktualizovat, co víte, po tomto seznamu, pokud je to možné. Nebojte se, pokud se vám to podaří až do samého konce.

3
Benjamin Bannier

Kromě jiných odkazů, které lidé poskytli. Doporučuji také Skryté funkce Python . Jen pro případ, že na vás hodí nějaké složité otázky.

2
grokus

Jaký je váš smysl, budou se snažit otestovat, zda znáte Python, zda se vám v Pythonu dá dělat, nebo otestovat, zda můžete programovat (v Pythonu)?

To jsou velmi odlišné věci.

Pokud chtějí, abyste ukázali, že znáte Python, mohou vás nutit dělat věci, jako je vytvoření generátoru, pak to udělejte bez použití yield. Vysvětlete, jak třídy fungují. Vysvětlete pořadí rozlišení metody C3. A tak dále.

Pokud chtějí, abyste ukázali, že v Pythonu můžete dělat věci, musíte být kompetentní se základními datovými strukturami a mít seznam knihoven, které byste chtěli použít pro různé druhy úkolů. Takže musíte být spokojeni se slovníky, sadami, poli. Stejně tak potřebujete vědět o věcech jako BeautifulSoup pro analýzu HTML, umět mluvit o rámci, který by mohl být použit pro vývoj webových stránek, atd. Nemusíte nutně vědět, jak tyto věci dobře používat, ale měli byste vědět, kam jít, jak zjistit více, a být schopni je skutečně použít, jakmile vám tazatel dá věci, které jsou zdokumentovány.

Pokud chtějí, abyste ukázali, že můžete programovat (v Pythonu), musíte znát základní datové struktury a znát své algoritmy. To je mnohem blíže k otázkám C/C++, na které byste se měli ptát, kromě toho, že se od vás očekává, že budou používat nativní datové struktury, kde vám usnadní život.

Abyste byli v bezpečí, měli byste se do jisté míry připravit na všechny tři. Například přečtěte si http://docs.python.org/tutorial/ a udělejte si poznámky. Doufejme, že už víte, jak programovat. A pak zkuste některé náhodné úkoly a přinutte se používat knihovny, které vám možná unikly. Tak například přečtěte některé CSV, extrahujte informace programově z webové stránky, vytvořte malý web s rámcem atd.

2
btilly