Nejčastější dotazy a odpovědi k Python Interview (Stáhnout PDF)

Obsah:

Anonim

Připravili jsme nejčastěji kladené otázky a odpovědi týkající se rozhovorů v Pythonu, které vám pomohou připravit se na otázky týkající se pohovoru v Pythonu, na které se vás tazatel může během rozhovoru zeptat. V tomto seznamu otázek na pohovor se skriptováním v Pythonu jsme pokryli všechny běžně kladené základní a pokročilé otázky programování v Pythonu podrobnými odpověďmi, které vám pomohou snadno vyčistit pracovní pohovor.

Pokryli jsme téměř všechny důležité otázky týkající se pohovoru pro Python pro nováčky a zkušené kandidáty, abychom vám pomohli připravit se na nadcházející pohovor. Tento podrobný průvodce otázkami týkajícími se kódovacích rozhovorů v Pythonu vám pomůže rozbít váš pracovní pohovor pro programování v Pythonu.

Stáhněte si otázky k rozhovoru pro Python ve formátu PDF

Python Basic Interview Dotazy a odpovědi pro nováčky a zkušené

1) Co je to Python? Jaké jsou výhody používání Pythonu?

Python je programovací jazyk s objekty, moduly, vlákny, výjimkami a automatickou správou paměti. Výhodou pythonů je, že je jednoduchý a snadný, přenosný, rozšiřitelný, integrovaná datová struktura a je to otevřený zdroj.

2) Co je PEP 8?

PEP 8 je kódovací konvence, sada doporučení o tom, jak napsat váš kód v Pythonu čitelněji.

3) Co je to moření a nedráždění?

Modul Pickle přijímá jakýkoli objekt Pythonu a převádí jej na řetězcovou reprezentaci a ukládá jej do souboru pomocí funkce dump, tento proces se nazývá moření. Zatímco proces načítání původních objektů Pythonu z uložené řetězcové reprezentace se nazývá unbickling.

4) Jak je Python interpretován?

Jazyk Python je interpretovaný jazyk. Program Python běží přímo ze zdrojového kódu. Převádí zdrojový kód, který programátor píše, do intermediálního jazyka, který je opět přeložen do jazyka stroje, který je třeba provést.

5) Jak je spravována paměť v Pythonu?

  • Paměť Pythonu je spravována soukromým haldy prostoru Pythonu. Všechny objekty a datové struktury Pythonu jsou umístěny v soukromé hromadě. Programátor nemá přístup k této soukromé haldě a o tuto soukromou haldu Pythonu se stará tlumočník.
  • Alokaci haldy prostoru Pythonu pro objekty Pythonu provádí správce paměti Pythonu. Základní API poskytuje programátorovi přístup k některým nástrojům ke kódování.
  • Python má také vestavěný sběrač odpadků, který recykluje veškerou nevyužitou paměť a uvolňuje paměť a zpřístupňuje ji haldě.

6) Jaké jsou nástroje, které pomáhají najít chyby nebo provést statickou analýzu?

PyChecker je nástroj pro statickou analýzu, který detekuje chyby ve zdrojovém kódu Pythonu a varuje před stylem a složitostí chyby. Pylint je další nástroj, který ověřuje, zda modul splňuje standard kódování.

7) Co jsou dekoratéři Pythonu?

Pythonový dekorátor je specifická změna, kterou provádíme v syntaxi Pythonu pro snadnou změnu funkcí.

8) Jaký je rozdíl mezi seznamem a n-ticí?

Rozdíl mezi seznamem a n-ticí je ten, že seznam je měnitelný, zatímco n-tice není. Tuple může být hašován např. Jako klíč pro slovníky.

9) Jak jsou argumenty předávány hodnotou nebo odkazem?

Všechno v Pythonu je objekt a všechny proměnné obsahují odkazy na objekty. Hodnoty referencí jsou podle funkcí; ve výsledku nemůžete změnit hodnotu referencí. Pokud je však objekt proměnlivý, můžete jej změnit.

10) Co jsou chápání diktátu a seznamu?

Jsou to syntaxe, které usnadňují vytváření slovníku nebo seznamu na základě existujících iterací.

11) Jaký je vestavěný typ, který poskytuje python?

Existují proměnlivé a neměnné typy Pythonů zabudovaných v typech Mutabilní vestavěné typy

  • Seznam
  • Sady
  • Slovníky

Nezměnitelné vestavěné typy

  • Struny
  • N-tice
  • Čísla

12) Co je to jmenný prostor v Pythonu?

V Pythonu má každé zavedené jméno místo, kde žije a je možné ho připojit. Toto je známé jako jmenný prostor. Je to jako rámeček, kde je název proměnné namapován na umístěný objekt. Kdykoli je proměnná prohledána, prohledá se toto pole, aby se získal odpovídající objekt.

13) Co je lambda v Pythonu?

Jedná se o anonymní funkci s jediným výrazem, která se často používá jako vložená funkce.

14) Proč formuláře lambda v pythonu nemají příkazy?

Formulář lambda v pythonu nemá příkazy, protože se používá k vytvoření nového funkčního objektu a následnému vrácení za běhu.

15) Co je pass v Pythonu?

Pass znamená, příkaz Python bez operace, nebo jinými slovy je to zástupný znak ve složeném příkazu, kde by mělo zůstat prázdné místo a nemusí tam být nic zapsáno.

16) Co jsou v Pythonu iterátory?

V Pythonu se iterátory používají k iteraci skupiny prvků, kontejnerů, jako je seznam.

17) Co je unittest v Pythonu?

Rámec testování jednotek v Pythonu je známý jako unittest. Podporuje sdílení nastavení, testování automatizace, vypínací kód pro testy, agregaci testů do sbírek atd.

18) Co je v Pythonu krájení?

Mechanismus pro výběr řady položek z typů sekvencí, jako je seznam, n-tice, řetězce atd., Se nazývá krájení.

19) Co jsou generátory v Pythonu?

Způsob implementace iterátorů se označuje jako generátory. Je to normální funkce kromě toho, že poskytuje výraz ve funkci.

20) Co je to docstring v Pythonu?

Řetězec dokumentace Pythonu je známý jako docstring, jedná se o způsob dokumentace funkcí, modulů a tříd Pythonu.

21) Jak můžete kopírovat objekt v Pythonu?

Chcete-li zkopírovat objekt v Pythonu, můžete zkusit copy.copy () nebo copy.deepcopy () pro obecný případ. Nelze kopírovat všechny objekty, ale většinu z nich.

22) Co je negativní index v Pythonu?

Sekvence Pythonu mohou být indexovány v kladných a záporných číslech. U kladného indexu je 0 prvním indexem, 1 je druhým indexem atd. U záporného indexu je (-1) poslední index a (-2) druhý poslední index atd.

23) Jak můžete převést číslo na řetězec?

Chcete-li převést číslo na řetězec, použijte vestavěnou funkci str (). Pokud chcete osmičkové nebo šestnáctkové vyjádření, použijte vestavěnou funkci oct () nebo hex ().

24) Jaký je rozdíl mezi Xrange a range?

Xrange vrací objekt xrange, zatímco range vrací seznam a používá stejnou paměť bez ohledu na velikost rozsahu.

25) Co je modul a balíček v Pythonu?

V Pythonu je modul způsob, jak strukturovat program. Každý programový soubor Pythonu je modul, který importuje další moduly, jako jsou objekty a atributy.

Složka programu Python je balíček modulů. Balíček může obsahovat moduly nebo podsložky.

26) Uveďte, jaká jsou pravidla pro místní a globální proměnné v Pythonu?

Místní proměnné : Pokud je proměnné kdekoli v těle funkce přiřazena nová hodnota, předpokládá se, že je místní.

Globální proměnné : Proměnné, na které se odkazuje pouze uvnitř funkce, jsou implicitně globální.

27) Jak můžete sdílet globální proměnné mezi moduly?

Chcete-li sdílet globální proměnné mezi moduly v rámci jednoho programu, vytvořte speciální modul. Importujte konfigurační modul do všech modulů vaší aplikace. Modul bude k dispozici jako globální proměnná napříč moduly.

28) Vysvětlete, jak můžete vytvořit spustitelný skript Pythonu v systému Unix?

Chcete-li spustit spustitelný skript Pythonu v systému Unix, musíte udělat dvě věci,

  • Režim souboru skriptu musí být spustitelný a
  • první řádek musí začínat # (#! / usr / local / bin / python)

29) Vysvětlete, jak odstranit soubor v Pythonu?

Pomocí příkazu os.remove (název souboru) nebo os.unlink (název souboru)

30) Vysvětlete, jak můžete generovat náhodná čísla v Pythonu?

Chcete-li generovat náhodná čísla v Pythonu, musíte importovat příkaz jako

importovat náhodně

random.random ()

Tím se vrátí náhodné číslo s plovoucí desetinnou čárkou v rozsahu [0,1)

31) Vysvětlete, jak můžete získat přístup k modulu napsanému v Pythonu z jazyka C?

K modulu napsanému v Pythonu můžete přistupovat z C následující metodou,

Modul = = PyImport_ImportModule ("");

32) Uveďte použití // operátoru v Pythonu?

Jedná se o operátor podlahového dělení, který se používá k rozdělení dvou operandů s výsledkem jako kvocient zobrazující pouze číslice před desetinnou čárkou. Například 10 // 5 = 2 a 10,0 // 5,0 = 2,0.

33) Uveďte pět výhod používání Pythonu?

  • Python zahrnuje obrovskou standardní knihovnu pro většinu internetových platforem, jako je e-mail, HTML atd.
  • Python nevyžaduje explicitní správu paměti, protože sám tlumočník přiděluje paměť novým proměnným a automaticky je uvolňuje
  • Zajistěte snadnou čitelnost díky použití hranatých závorek
  • Snadno se učí pro začátečníky
  • Integrované datové typy šetří programovací čas a úsilí při deklarování proměnných

34) Uveďte použití funkce split v Pythonu ?

Použití funkce split v Pythonu spočívá v tom, že pomocí definovaného oddělovače rozdělí řetězec na kratší řetězce. Poskytuje seznam všech slov přítomných v řetězci.

35) Vysvětlete, co je Baňka a její výhody ?

Flask je webový mikro rámec pro Python založený na licenci BSD „Werkzeug, Jinja 2 a dobré úmysly“. Werkzeug a jingja jsou dvě jeho závislosti.

Baňka je součástí mikrorámce. Což znamená, že nebude mít téměř žádné závislosti na externích knihovnách. Díky tomu je rámec lehký, zatímco existuje malá závislost na aktualizaci a méně bezpečnostních chyb.

36) Uveďte, jaký je rozdíl mezi Django, Pyramid a Flask?

Flask je „microframework“ primárně vytvořený pro malou aplikaci s jednoduššími požadavky. V baňce nemusíte používat externí knihovny. Baňka je připravena k použití.

Pyramidy jsou postaveny pro větší aplikace. Poskytuje flexibilitu a umožňuje vývojářům používat ty správné nástroje pro svůj projekt. Vývojář si může vybrat databázi, strukturu URL, styl šablony a další. Pyramida je těžko konfigurovatelná.

Stejně jako Pyramid lze Django použít i pro větší aplikace. Zahrnuje ORM.

37) Uveďte, co je Flask-WTF a jaké jsou jejich vlastnosti?

Flask-WTF nabízí jednoduchou integraci s WTForms. Mezi funkce patří pro Flask WTF jsou

  • Integrace s wtforms
  • Zabezpečte formulář pomocí tokenu CSRF
  • Globální ochrana CSRF
  • Integrace internacionalizace
  • Podpora Recaptcha
  • Nahrávání souborů, které funguje s nahráním do baňky

38) Vysvětlete, jaký je běžný způsob fungování skriptu Flask?

Běžný způsob fungování baňkového skriptu je

  • Buď by to měla být cesta importu pro vaši aplikaci
  • Nebo cesta k souboru Pythonu

39) Vysvětlete, jak máte přístup k relacím v baňce?

Relace vám v podstatě umožňuje zapamatovat si informace z jednoho požadavku na druhý. V baňce používá podepsaný soubor cookie, aby si uživatel mohl prohlédnout obsah relace a upravit ji. Uživatel může relaci upravit, pokud má pouze tajný klíč Flask.secret_key.

40) Je Flask model MVC a pokud ano, uveďte příklad ukazující vzor MVC pro vaši aplikaci?

Flask je v zásadě minimalistický rámec, který se chová stejně jako rámec MVC. Takže MVC se perfektně hodí pro Flask a vzor pro MVC zvážíme pro následující příklad

z baňky na dovoz baňky

aplikace = baňka (_name_)

@ app.route ("/")

Def ahoj ():

zpět "Hello World"

app.run (debug = True)

V tomto kódu vaše,

  • Konfigurační část bude

z baňky na dovoz baňky

aplikace = baňka (_name_)

  • Zobrazit část bude

@ app.route ("/")

Def ahoj ():

zpět "Hello World"

  • Zatímco modelujete nebo hlavní část bude

app.run (debug = True)

41) Vysvětlete připojení k databázi v Python Flask?

Flask podporuje aplikaci poháněnou databází (RDBS). Takový systém vyžaduje vytvoření schématu, které vyžaduje pipetování souboru shema.sql do příkazu sqlite3. Musíte tedy nainstalovat příkaz sqlite3, abyste mohli vytvořit nebo inicializovat databázi v baňce.

Baňka umožňuje požádat o databázi třemi způsoby

  • before_request (): Jsou volány před požadavkem a nepředávají žádné argumenty
  • after_request (): Jsou volány po žádosti a předávají odpověď, která bude odeslána klientovi
  • teardown_request (): Jsou volány v situaci, kdy je vyvolána výjimka a odpověď není zaručena. Jsou volány po sestavení odpovědi. Nemají povoleno upravovat požadavek a jejich hodnoty jsou ignorovány.

42) Máte více serverů Memcache spuštěných v Pythonu, kde jeden ze serverů Memcacher selže a má vaše data, pokusí se někdy získat klíčová data z tohoto jednoho serveru, který selhal?

Data na serveru, který selhal, nebudou odstraněna, ale existuje ustanovení pro automatické selhání, které můžete nakonfigurovat pro více uzlů. Fail-over může být spuštěn během jakéhokoli druhu chyby na úrovni soketu nebo Memcached serveru a ne během běžných chyb klienta, jako je přidání existujícího klíče atd.

43) Vysvětlete, jak můžete minimalizovat výpadky serveru Memcached ve vašem vývoji Pythonu?

  • Když jedna instance selže, několik z nich selže, to způsobí větší zatížení databázového serveru, když se ztracená data znovu načtou, když klient provede požadavek. Abyste tomu zabránili, pokud byl váš kód napsán, aby se minimalizovaly razítka mezipaměti, zanechá to minimální dopad
  • Dalším způsobem je vyvolat instanci Memcached na novém počítači pomocí IP adresy ztracených strojů
  • Kód je další možností, jak minimalizovat výpadky serveru, protože vám dává svobodu změnit seznam serverů Memcached s minimální prací
  • Nastavení hodnoty časového limitu je další možnost, kterou někteří klienti Memcached implementují pro výpadek serveru Memcached. Když váš server Memcached selže, klient se bude i nadále pokoušet odeslat požadavek, dokud nebude dosaženo limitu časového limitu

44) Vysvětlete, co je Dogpile efekt? Jak můžete tomuto efektu zabránit?

Efekt Dogpile je odkazován na událost, když vyprší platnost mezipaměti, a na webové stránky narazí několik požadavků ze strany klienta současně. Tomuto efektu lze zabránit použitím zámku semaforu. Když v tomto systému vyprší hodnota, první proces získá zámek a začne generovat novou hodnotu.

45) Vysvětlete, jak by se Memcached neměl používat ve vašem projektu Pythonu?

  • Memcached common misuse is to use it as a data store, and not as a cache
  • Memcached nikdy nepoužívejte jako jediný zdroj informací, které potřebujete ke spuštění aplikace. Data by měla být vždy k dispozici také z jiného zdroje
  • Memcached je pouze úložiště klíčů nebo hodnot a nemůže provádět dotaz nad daty ani iterovat nad obsahem za účelem získání informací
  • Memcached nenabízí žádnou formu zabezpečení ani při šifrování, ani při ověřování