Najlepšie otázky a odpovede týkajúce sa rozhovorov v Pythone (stiahnuť PDF)

Obsah:

Anonim

Pripravili sme najčastejšie kladené otázky a odpovede spojené s pohovorom v jazyku Python, ktoré vám pomôžu pripraviť sa na otázky spojené s pohovorom v jazyku Python, na ktoré by sa vás anketár počas rozhovoru mohol opýtať. V tomto zozname otázok týkajúcich sa pohovorov týkajúcich sa skriptovania v jazyku Python sme podrobne odpovedali na všetky bežne kladené otázky týkajúce sa základného a pokročilého programovania v jazyku Python s podrobnými odpoveďami, ktoré vám pomôžu ľahko vyčistiť pracovný pohovor.

Prebrali sme takmer všetky dôležité otázky týkajúce sa pohovorov pre Python pre nováčikov a skúsených kandidátov, aby sme vám pomohli pripraviť sa na nadchádzajúci pohovor. Táto podrobná príručka o otázkach týkajúcich sa programovania v Pythone vám pomôže prelomiť váš pracovný pohovor pre programovanie v Pythone.

Stiahnite si otázky z rozhovoru pre Python PDF

Python - základné otázky a odpovede pre čerstvých a skúsených

1) Čo je to Python? Aké sú výhody používania Pythonu?

Python je programovací jazyk s objektmi, modulmi, vláknami, výnimkami a automatickou správou pamäte. Výhodou pythonov je, že je jednoduchý a ľahký, prenosný, rozšíriteľný, má zabudovanú dátovú štruktúru a je otvoreným zdrojom.

2) Čo je PEP 8?

PEP 8 je konvencia kódovania, sada odporúčaní o tom, ako napísať váš kód v jazyku Python tak, aby bol čitateľnejší.

3) Čo je to morenie a odoberanie?

Pickle modul prijíma akýkoľvek objekt Pythonu a prevádza ho na reťazcovú reprezentáciu a ukladá ho do súboru pomocou funkcie dump, tento proces sa nazýva morenie. Zatiaľ čo proces získavania originálnych objektov Pythonu z uloženej reťazcovej reprezentácie sa nazýva nevyzdvihnutie.

4) Ako sa interpretuje Python?

Jazyk Python je interpretovaný jazyk. Program Python beží priamo zo zdrojového kódu. Prevedie zdrojový kód napísaný programátorom do intermediálneho jazyka, ktorý je opäť preložený do strojového jazyka, ktorý je potrebné vykonať.

5) Ako sa správa pamäť v Pythone?

  • Pamäť Pythonu je spravovaná súkromným priestorom haldy Pythonu. Všetky objekty a dátové štruktúry Pythonu sú umiestnené v súkromnej hromade. Programátor nemá prístup k tejto súkromnej halde a tlmočník sa stará o túto súkromnú haldu Pythonu.
  • Alokáciu haldy priestoru Pythonu pre objekty Pythonu vykonáva správca pamäte Python. Základné API poskytuje programátorovi prístup k niektorým nástrojom na kódovanie.
  • Python má tiež zabudovaný zberač odpadu, ktorý recykluje všetku nevyužitú pamäť a uvoľňuje pamäť a sprístupňuje ju halde.

6) Aké sú nástroje, ktoré pomáhajú nájsť chyby alebo vykonať statickú analýzu?

PyChecker je nástroj na statickú analýzu, ktorý zisťuje chyby v zdrojovom kóde Pythonu a varuje pred štýlom a zložitosťou chyby. Pylint je ďalší nástroj, ktorý overuje, či modul spĺňa štandard kódovania.

7) Čo sú dekoratéri Pythonu?

Pythonový dekorátor je špecifická zmena, ktorú robíme v syntaxe Pythonu, aby sme mohli ľahko meniť funkcie.

8) Aký je rozdiel medzi zoznamom a n-tíc?

Rozdiel medzi zoznamom a n-ticou je ten, že zoznam je premenlivý, zatiaľ čo n-tica nie. Tuple je možné hašovať napríklad ako kľúč pre slovníky.

9) Ako sa argumenty odovzdávajú podľa hodnoty alebo referencie?

Všetko v Pythone je objekt a všetky premenné obsahujú odkazy na objekty. Referenčné hodnoty sú podľa funkcií; vo výsledku nemôžete zmeniť hodnotu referencií. Ak je to však premenlivé, môžete ich meniť.

10) Čo sú chápania diktátu a zoznamu?

Sú to syntaxové konštrukcie, ktoré uľahčujú vytváranie slovníka alebo zoznamu na základe existujúcich iterácií.

11) Aký je zabudovaný typ, ktorý poskytuje python?

Existujú premenlivé a nemenné typy Pytónov zabudovaných v typoch Premenlivé zabudované typy

  • Zoznam
  • Sady
  • Slovníky

Nezmeniteľné vstavané typy

  • Struny
  • Tice
  • Čísla

12) Čo je to menný priestor v Pythone?

V Pythone má každé zavedené meno miesto, kde žije a je možné ho vyhľadať. Toto je známe ako menný priestor. Je to ako rámček, v ktorom je na premenný objekt namapovaný názov premennej. Pri každom vyhľadaní premennej sa vyhľadá toto pole, aby sa získal zodpovedajúci objekt.

13) Čo je lambda v Pythone?

Je to anonymná funkcia s jedným výrazom, ktorá sa často používa ako inline funkcia.

14) Prečo formy lambda v pythone nemá vyhlásenia?

Formulár lambda v pythone nemá príkazy, pretože sa používa na vytvorenie nového funkčného objektu a potom ich za behu vráti.

15) Čo je pass v Pythone?

Pass znamená, príkaz Python bez operácie, alebo inými slovami, je to zástupný znak v zloženom príkaze, kde by malo zostať prázdne miesto a nič tam nemusí byť napísané.

16) Čo sú v Pythone iterátory?

V Pythone sa iterátory používajú na iteráciu skupiny prvkov, kontajnerov ako zoznam.

17) Čo je unittest v Pythone?

Rámec testovania jednotiek v Pythone je známy ako unittest. Podporuje zdieľanie nastavení, testovanie automatizácie, vypínací kód pre testy, agregáciu testov do zbierok atď.

18) Čo je v Pythone krájanie?

Mechanizmus na výber rozsahu položiek z typov sekvencií, ako sú zoznam, n-tica, reťazce atď., Je známy ako krájanie.

19) Čo sú generátory v Pythone?

Spôsob implementácie iterátorov je známy ako generátory. Je to normálna funkcia okrem toho, že poskytuje výraz vo funkcii.

20) Čo je to docstring v Pythone?

Reťazec dokumentácie v Pythone je známy ako docstring, je to spôsob dokumentovania funkcií, modulov a tried Pythonu.

21) Ako môžete kopírovať objekt v Pythone?

Ak chcete skopírovať objekt v Pythone, môžete vyskúšať copy.copy () alebo copy.deepcopy () pre všeobecný prípad. Nemôžete kopírovať všetky objekty, okrem väčšiny z nich.

22) Čo je negatívny index v Pythone?

Sekvencie Pythonu môžu byť indexované v kladných a záporných číslach. Pre pozitívny index je 0 prvý index, 1 je druhý index atď. Pre záporný index je (-1) posledný index a (-2) druhý posledný index atď.

23) Ako môžete previesť číslo na reťazec?

Ak chcete číslo previesť na reťazec, použite vstavanú funkciu str (). Ak chcete osmičkové alebo hexadecimálne vyjadrenie, použite vstavanú funkciu oct () alebo hex ().

24) Aký je rozdiel medzi Xrange a range?

Xrange vráti objekt xrange, zatiaľ čo range vráti zoznam a použije rovnakú pamäť bez ohľadu na veľkosť rozsahu.

25) Čo je modul a balík v Pythone?

V Pythone je modul cesta k štruktúre programu. Každý programový súbor Pythonu je modul, ktorý importuje ďalšie moduly, ako sú objekty a atribúty.

Priečinok programu Python je balík modulov. Balík môže obsahovať moduly alebo podpriečinky.

26) Uveďte, aké sú pravidlá pre miestne a globálne premenné v Pythone?

Lokálne premenné : Ak je premennej kdekoľvek v tele funkcie priradená nová hodnota, predpokladá sa, že je lokálna.

Globálne premenné : Premenné, na ktoré sa odkazuje iba vo vnútri funkcie, sú implicitne globálne.

27) Ako môžete zdieľať globálne premenné medzi modulmi?

Ak chcete zdieľať globálne premenné medzi modulmi v rámci jedného programu, vytvorte špeciálny modul. Importujte konfiguračný modul do všetkých modulov svojej aplikácie. Modul bude k dispozícii ako globálna premenná medzi modulmi.

28) Vysvetlite, ako môžete vytvoriť spustiteľný skript Python v systéme Unix?

Ak chcete, aby bol skript Python Script spustiteľný v systéme Unix, musíte urobiť dve veci,

  • Režim súboru skriptu musí byť spustiteľný a
  • prvý riadok musí začínať znakom # (#! / usr / local / bin / python)

29) Vysvetlite, ako odstrániť súbor v Pythone?

Použitím príkazu os.remove (názov súboru) alebo os.unlink (názov súboru)

30) Vysvetlite, ako môžete generovať náhodné čísla v Pythone?

Ak chcete generovať náhodné čísla v Pythone, musíte importovať príkaz ako

import náhodne

random.random ()

Týmto sa vráti náhodné číslo s pohyblivou rádovou čiarkou v rozsahu [0,1)

31) Vysvetlite, ako máte prístup k modulu napísanému v jazyku Python z jazyka C?

K modulu napísanému v Pythone môžete získať prístup z jazyka C nasledujúcou metódou,

Modul = = PyImport_ImportModule ("");

32) Spomeňte použitie operátora // v Pythone?

Jedná sa o operátor podlahového delenia, ktorý sa používa na rozdelenie dvoch operandov s výsledkom ako kvocient zobrazujúcim iba číslice pred desatinnou čiarkou. Napríklad 10 // 5 = 2 a 10,0 // 5,0 = 2,0.

33) Uveďte päť výhod používania Pythonu?

  • Python pozostáva z obrovskej štandardnej knižnice pre väčšinu internetových platforiem, ako je e-mail, HTML atď.
  • Python nevyžaduje explicitnú správu pamäte, pretože tlmočník sám prideľuje pamäť novým premenným a automaticky ich uvoľňuje
  • Poskytujú ľahkú čitateľnosť vďaka použitiu hranatých zátvoriek
  • Ľahko naučiteľné pre začiatočníkov
  • Zabudované dátové typy šetria programovací čas a námahu pri deklarovaní premenných

34) Uveďte použitie funkcie split v Pythone ?

Funkcia split v Pythone sa používa na to, aby pomocou definovaného oddeľovača rozbila reťazec na kratšie reťazce. Poskytuje zoznam všetkých slov nachádzajúcich sa v reťazci.

35) Vysvetlite, čo je banka a jej výhody ?

Flask je webový mikro rámec pre Python založený na licencii BSD „Werkzeug, Jinja 2 a dobré úmysly“. Werkzeug a jingja sú dve jeho závislosti.

Banka je súčasťou mikrorámca. Čo znamená, že nebude mať takmer žiadne závislosti od externých knižníc. Uľahčuje rámec, zatiaľ čo existuje malá závislosť od aktualizácií a menej bezpečnostných chýb.

36) Uveďte, aký je rozdiel medzi Django, Pyramid a Flask?

Flask je „mikrorámik“ primárne zostavený pre malú aplikáciu s jednoduchšími požiadavkami. V banke nemusíte používať externé knižnice. Banka je pripravená na použitie.

Pyramídy sú určené pre väčšie aplikácie. Poskytuje flexibilitu a umožňuje vývojárom používať pre svoj projekt správne nástroje. Vývojár si môže zvoliť databázu, štruktúru URL, štýl šablón a ďalšie. Pyramída je ťažko konfigurovateľná.

Rovnako ako Pyramid, aj Django sa dá použiť pre väčšie aplikácie. Zahŕňa ORM.

37) Uveďte, čo je Flask-WTF a aké sú ich vlastnosti?

Flask-WTF ponúka jednoduchú integráciu s WTForms. Medzi vlastnosti, ktoré obsahuje Flask WTF, patria

  • Integrácia s formátmi wtforms
  • Zabezpečte formulár tokenom CSRF
  • Globálna ochrana CSRF
  • Integrácia internacionalizácie
  • Podpora firmy Recaptcha
  • Nahrávanie súborov, ktoré funguje pri nahrávaní z banky

38) Vysvetlite, aký je obvyklý spôsob fungovania skriptu Flask?

Bežný spôsob, ako funguje skript banky, je

  • Buď by to mala byť cesta importu vašej aplikácie
  • Alebo cesta k súboru Python

39) Vysvetlite, ako máte prístup k reláciám v banke?

Relácia vám v zásade umožňuje zapamätať si informácie z jednej žiadosti na druhú. V banke používa podpísaný súbor cookie, aby si používateľ mohol prezrieť obsah relácie a upraviť ju. Užívateľ môže reláciu upraviť, iba ak má tajný kľúč Flask.secret_key.

40) Je Flask model MVC a ak áno, uveďte príklad zobrazujúci vzor MVC pre vašu aplikáciu?

Flask je v podstate minimalistický rámec, ktorý sa chová rovnako ako rámec MVC. Takže MVC sa perfektne hodí pre Flask a vzor pre MVC zvážime pre nasledujúci príklad

z banky na dovoz baniek

aplikácia = banka (_name_)

@ app.route ("/")

Def ahoj ():

návrat "Hello World"

app.run (debug = True)

V tomto kóde

  • Konfiguračná časť bude

z banky na dovoz baniek

aplikácia = banka (_name_)

  • Zobraziť časť bude

@ app.route ("/")

Def ahoj ():

návrat "Hello World"

  • Zatiaľ čo vy model alebo hlavná časť bude

app.run (debug = True)

41) Vysvetlite pripojenie k databáze v Python Flask?

Banka podporuje aplikáciu napájanú z databázy (RDBS). Takýto systém vyžaduje vytvorenie schémy, ktorá vyžaduje pipetovanie súboru shema.sql do príkazu sqlite3. Musíte teda nainštalovať príkaz sqlite3, aby ste mohli vytvoriť alebo inicializovať databázu v banke.

Banka umožňuje požiadať o databázu tromi spôsobmi

  • before_request (): Zavolajú sa pred požiadavkou a nebudú odovzdávať žiadne argumenty
  • after_request (): Zavolajú sa po žiadosti a odovzdajú odpoveď, ktorá sa odošle klientovi
  • teardown_request (): Vyvolávajú sa v situácii, keď je vyvolaná výnimka a odpoveď nie je zaručená. Volajú sa po zostavení odpovede. Nemajú povolenie upravovať požiadavku a ich hodnoty sú ignorované.

42) Máte spustených viac serverov Memcache Python, v ktorých jeden zo serverov memcacher zlyhá a má vaše údaje, pokúsi sa niekedy získať kľúčové údaje z tohto jedného servera, ktorý zlyhal?

Údaje zo servera, ktorý zlyhal, sa neodstránia, ale existuje ustanovenie pre automatické zlyhanie, ktoré môžete nakonfigurovať pre viac uzlov. Zlyhanie je možné spustiť pri akomkoľvek druhu chyby na úrovni soketu alebo servera Memcached, a nie pri bežných chybách klienta, ako je pridanie existujúceho kľúča atď.

43) Vysvetlite, ako môžete minimalizovať výpadky servera Memcached vo vašom vývoji Pythonu?

  • Ak jedna inštancia zlyhá, niekoľko z nich zlyhá, čo spôsobí väčšie načítanie databázového servera, keď sa stratené údaje načítajú znova, keď klient požiada. Ak sa tomu chcete vyhnúť, ak bol váš kód napísaný tak, aby sa minimalizovali pečiatky cache, zanechá to minimálny dopad
  • Ďalším spôsobom je vyvolať inštanciu Memcached na novom počítači pomocou adresy IP stratených strojov
  • Kód je ďalšou možnosťou na minimalizáciu výpadkov servera, pretože vám dáva slobodu meniť zoznam serverov Memcached s minimálnou prácou
  • Nastavenie hodnoty časového limitu je ďalšou možnosťou, ktorú niektorí klienti Memcached implementujú pre výpadok servera Memcached. Keď váš server Memcached zlyhá, klient sa bude stále pokúšať odoslať požiadavku, kým sa nedosiahne limit časového limitu

44) Vysvetlite, čo je Dogpileov efekt? Ako môžete zabrániť tomuto účinku?

Efekt Dogpile sa odkazuje na udalosť, keď vyprší platnosť medzipamäte, a na webové stránky narazia viaceré požiadavky klienta naraz. Tomuto efektu je možné zabrániť použitím semaforového zámku. Keď v tomto systéme uplynie hodnota, prvý proces získa zámok a začne generovať novú hodnotu.

45) Vysvetlite, ako by sa Memcached nemal používať vo vašom projekte Python?

  • Memcached common misuse is to use it as a data store, and not as a cache
  • Memcached nikdy nepoužívajte ako jediný zdroj informácií, ktoré potrebujete na spustenie svojej aplikácie. Údaje by mali byť vždy dostupné aj z iného zdroja
  • Memcached je iba úložisko kľúčov alebo hodnôt a nemôže vykonávať dopytovanie údajov alebo opakovanie obsahu na extrahovanie informácií
  • Memcached neponúka žiadnu formu zabezpečenia ani pri šifrovaní, ani pri autentifikácii