Python este cel mai folosit limbaj în companii de top precum Intel, IBM, NASA, Pixar, Netflix, Facebook, JP Morgan Chase, Spotify și multe altele datorită performanței și bibliotecilor sale puternice. Pentru a intra în aceste companii și organizații ca dezvoltator Python, trebuie să stăpâniți unele lucruri importante Întrebări de interviu Python pentru a sparge runda lor de evaluare online Python și runda de interviu Python. Am pregătit o listă cu Top 50 de întrebări la interviu Python împreună cu răspunsurile lor la as în interviuri.
excel elimina primul caracter
Întrebări de interviu Python
Cuprins
- Întrebări de bază pentru interviul Python pentru cei în stare de proaspăt
- 1. Ce este Python? Enumerați câteva aplicații populare ale Python în lumea tehnologiei.
- 2. Care sunt beneficiile utilizării limbajului Python ca instrument în scenariul prezent?
- 3. Este Python un limbaj compilat sau un limbaj interpretat?
- 4. Ce face simbolul „#” în Python?
- 6. Cum sunt transmise argumentele după valoare sau prin referință în Python?
- 7. Care este diferența dintre un set și un dicționar?
- 8. Ce este înțelegerea listelor? Dă un exemplu.
- 9. Ce este o funcție lambda?
- 10. Ce este o trecere în Python?
- 11. Care este diferența dintre / și // în Python?
- 12. Cum se face manipularea excepțională în Python?
- 13. Ce este funcția swapcase în Python?
- 14. Diferența dintre bucla for și bucla while în Python
- 15. Putem trece o funcție ca argument în Python?
- 16. Ce sunt *args și *kwargs?
- 17. Este necesară indentarea în Python?
- 18. Ce este Scope în Python?
- 19. Ce este docstring în Python?
- 20. Ce este un limbaj tip dinamic?
- 21. Ce este o pauză, continuare și trecere în Python?
- 23. Cum crezi un număr în Python?
- Întrebări intermediare pentru interviu Python
- 24. Care este diferența dintre funcțiile xrange și range?
- 25. Ce este înțelegerea dicționarului? Dă un exemplu
- 26. Este Tuple Comprehension? Dacă da, cum și dacă nu de ce?
- 27. Faceți diferența între Listă și Tuple?
- 28. Care este diferența dintre o copie superficială și o copie adâncă?
- 29. Ce tehnică de sortare este folosită de funcțiile sort() și sorted() ale python?
- 30. Ce sunt Decoratorii?
- 31. Cum depanezi un program Python?
- 32. Ce sunt iteratorii în Python?
- 33. Ce sunt generatoarele în Python?
- 34. Python acceptă moștenirea multiplă?
- 35. Ce este polimorfismul în Python?
- 36. Definiți încapsularea în Python?
- 38. Cum se face gestionarea memoriei în Python?
- 39. Cum să ștergeți un fișier folosind Python?
- 40. Ce este tăierea în Python?
- 41. Ce este un spațiu de nume în Python?
- Întrebări și răspunsuri la interviu avansat Python
- 42. Ce este PIP?
- 43. Ce este o funcție zip?
- 44. Ce sunt decaparea și decaparea?
- 45. Ce este plasarea maimuțelor în Python?
- 46. Ce este __init__() în Python?
- 47. Scrieți un cod pentru a afișa ora curentă?
- 48. Ce sunt specificatorii de acces în Python?
- 49. Ce sunt testele unitare în Python?
- 50. Python Global Interpreter Lock (GIL)?
- 51. Ce sunt adnotările de funcții în Python?
- 52. Ce sunt grupurile de excepții în Python?
- 53. Ce este Python Switch Statement
- 54. Ce este Walrus Operator?
Întrebări de bază pentru interviul Python pentru cei în stare de proaspăt
1. Ce este Python? Enumerați câteva aplicații populare ale Python în lumea tehnologiei.
Python este un limbaj de programare de nivel înalt, de uz general, utilizat pe scară largă. A fost creat de Guido van Rossum în 1991 și dezvoltat în continuare de Python Software Foundation. A fost conceput cu accent pe lizibilitatea codului, iar sintaxa sa le permite programatorilor să-și exprime conceptele în mai puține linii de cod.
Este folosit pentru:
- Scripturi de sistem
- Dezvoltare web
- Dezvoltarea jocului
- Dezvoltare de software
- Matematică complexă
2. Care sunt beneficiile utilizării limbajului Python ca instrument în scenariul prezent?
Următoarele sunt beneficiile utilizării limbajului Python:
- Limbajul orientat pe obiecte
- Limbaj la nivel înalt
- Limbaj tastat dinamic
- Biblioteci de suport extins
- Prezența modulelor terțe
- Open source și dezvoltarea comunității
- Portabil și interactiv
- Portabil peste sisteme de operare
3. Este Python un limbaj compilat sau un limbaj interpretat?
De fapt, Python este un limbaj parțial compilat și parțial interpretat. Partea de compilare se face mai întâi atunci când executăm codul nostru și aceasta va genera cod de octet intern, acest cod de octet este convertit de mașina virtuală Python (p.v.m) conform platformei de bază (mașină + sistem de operare).
4. Ce face simbolul „#” în Python?
„#” este folosit pentru a comenta tot ce urmează pe linie.
6. Cum sunt transmise argumentele după valoare sau prin referință în Python?
Totul în Python este un obiect și toate variabilele dețin referințe la obiecte. Valorile de referință sunt conform funcțiilor; ca urmare, nu puteți modifica valoarea referințelor. Cu toate acestea, puteți schimba obiectele dacă este mutabil.
7. Care este diferența dintre un set și un dicționar?
Setul este o colecție neordonată de tipuri de date care este iterabilă, mutabilă și nu are elemente duplicate.
Un dicționar în Python este o colecție ordonată de valori de date, folosită pentru a stoca valorile datelor ca o hartă.
8. Ce este înțelegerea listelor? Dă un exemplu.
Înțelegerea listei este o construcție de sintaxă pentru a ușura crearea unei liste bazate pe iterabile existente.
De exemplu:
my_list = [i for i in range(1, 10)]>
9. Ce este o funcție lambda?
O funcție lambda este o funcție anonimă. Această funcție poate avea orice număr de parametri, dar poate avea o singură instrucțiune. De exemplu:
a = lambda x, y : x*y print(a(7, 19))>
10. Ce este o trecere în Python?
Pass înseamnă a nu efectua nicio operațiune sau, cu alte cuvinte, este un substituent în instrucțiunea compusă, unde ar trebui să rămână un gol și nu trebuie să fie scris nimic acolo.
11. Care este diferența dintre / și // în Python?
/ reprezintă diviziunea precisă (rezultatul este un număr în virgulă mobilă), în timp ce // reprezintă diviziunea etajului (rezultatul este un număr întreg). De exemplu:
5//2 = 2 5/2 = 2.5>
12. Cum se face manipularea excepțională în Python?
Există 3 cuvinte cheie principale, adică încercați, cu excepția și, în sfârșit, care sunt utilizate pentru a detecta excepțiile și a gestiona mecanismul de recuperare în consecință. Try este blocul unui cod care este monitorizat pentru erori. Cu excepția blocului, se execută atunci când apare o eroare.
Frumusețea blocului final este de a executa codul după ce ați încercat o eroare. Acest bloc este executat indiferent dacă a apărut sau nu o eroare. În cele din urmă, blocul este folosit pentru a face activitățile de curățare necesare a obiectelor/variabilelor.
13. Ce este funcția swapcase în Python?
Este o funcție a unui șir care convertește toate caracterele majuscule în litere mici și invers. Este folosit pentru a modifica majusculele existente ale șirului. Această metodă creează o copie a șirului care conține toate caracterele din cazul de schimb. De exemplu:
string = 'techcodeview.com' string.swapcase() --->'geEKSFORgEEKS'>>>14. Diferența dintre bucla for și bucla while în Python
Bucla for este folosită în general pentru a itera elementele diferitelor tipuri de colecție, cum ar fi Listă , Tuplu , A stabilit , și Dicţionar . Dezvoltatorii folosesc o buclă for unde au atât condițiile de început, cât și de sfârșit. În timp ce, bucla while este caracteristica reală de buclă care este utilizată în orice alt limbaj de programare. Programatorii folosesc o buclă Python while unde au doar condițiile de final.
15. Putem trece o funcție ca argument în Python?
Da, mai multe argumente pot fi transmise unei funcții, inclusiv obiecte, variabile (de aceleași tipuri de date sau diferite) și funcții. Funcțiile pot fi transmise ca parametri altor funcții deoarece sunt obiecte. Funcțiile de ordin superior sunt funcții care pot lua alte funcții drept argumente.
Pentru a citi mai multe, consultați articolul: Trecerea funcției ca argument în Python
16. Ce sunt *args și *kwargs?
Pentru a transmite un număr variabil de argumente unei funcții în Python, utilizați sintaxa specială *args și **kwargs în specificația funcției. Este folosit pentru a trece o listă de argumente cu lungime variabilă, fără cuvinte cheie. Folosind *, variabila pe care o asociem cu * devine iterabilă, permițându-vă să faceți operațiuni pe ea, cum ar fi iterarea peste ea și utilizarea operațiunilor de ordin superior, cum ar fi harta și filtrul.
17. Este necesară indentarea în Python?
Da, indentare este necesar în Python. A Piton interpretul poate fi informat că un grup de instrucțiuni aparține unui anumit bloc de cod folosind indentarea Python. Indentările fac codul ușor de citit pentru dezvoltatori în toate limbajele de programare, dar în Python, este foarte important să indentați codul într-o anumită ordine.
18. Ce este Scope în Python?
Locația în care putem găsi o variabilă și, de asemenea, să o accesăm dacă este necesar, se numește domeniul de aplicare al unei variabile.
- Variabila locala Python: Variabilele locale sunt cele care sunt inițializate într-o funcție și sunt unice pentru acea funcție. Nu poate fi accesat în afara funcției.
- Variabile globale Python: Variabilele globale sunt cele care sunt definite și declarate în afara oricărei funcții și nu sunt specificate pentru nicio funcție.
- Domeniul de aplicare la nivel de modul: Se referă la obiectele globale ale modulului curent accesibil în program.
- Domeniul de aplicare cel mai îndepărtat: Se referă la orice nume încorporat pe care programul le poate apela. Numele la care se face referire este situat ultimul dintre obiectele din acest domeniu.
19. Ce este docstring în Python?
Șirurile de documentație Python (sau docstrings) oferă o modalitate convenabilă de a asocia documentația cu modulele, funcțiile, clasele și metodele Python.
- Declararea Docstrings: Docstring-urile sunt declarate folosind „ghilimele simple triple” sau ghilimele duble triple chiar sub declarația clasei, metodei sau funcției. Toate funcțiile ar trebui să aibă un docstring.
- Accesarea Docstrings: Docstring-urile pot fi accesate folosind metoda __doc__ a obiectului sau folosind funcția de ajutor.
20. Ce este un limbaj tip dinamic?
Limbi scrise sunt limbile în care definim tipul de tip de date și va fi cunoscut de către mașină la compilare sau la runtime. Limbile tipizate pot fi clasificate în două categorii:
unde gasesc setarile browserului meu
- Limbi tipizate static: În acest tip de limbaj, tipul de date al unei variabile este cunoscut în momentul compilării, ceea ce înseamnă că programatorul trebuie să specifice tipul de date al unei variabile în momentul declarării acesteia.
- Limbi scrise dinamic: Acestea sunt limbile care nu necesită niciun tip de date predefinit pentru orice variabilă, deoarece este interpretată în timpul rulării de către mașina în sine. În aceste limbi, interpreții atribuie tipul de date unei variabile în timpul rulării, în funcție de valoarea acesteia.
21. Ce este o pauză, continuare și trecere în Python?
The declarație de pauză este folosit pentru a termina bucla sau instrucțiunea în care este prezent. După aceea, controlul va trece la instrucțiunile care sunt prezente după instrucțiunea break, dacă este disponibilă.
Continua este, de asemenea, o instrucțiune de control al buclei, la fel ca instrucțiunea break. Instrucțiunea continue este opusă celei a instrucțiunii break, în loc să încheie bucla, forțează să execute următoarea iterație a buclei.
Trece înseamnă a nu efectua nicio operație sau, cu alte cuvinte, este un substituent în instrucțiunea compusă, unde ar trebui să rămână un gol și nu trebuie să fie scris nimic acolo.
Numeric: Tipul de date numerice în Python reprezintă datele care au o valoare numerică. O valoare numerică poate fi un număr întreg, un număr flotant, un boolean , sau chiar un număr complex.
23. Cum crezi un număr în Python?
Modulul de matematică Python include o metodă care poate fi folosită pentru a calcula podeaua unui număr.
- podea() metoda din Python returnează etajul lui x, adică cel mai mare număr întreg nu mai mare decât x.
- De asemenea, metoda ceil(x) în Python returnează o valoare plafon de x, adică cel mai mic număr întreg mai mare sau egal cu x.
Întrebări intermediare pentru interviu Python
24. Care este diferența dintre funcțiile xrange și range?
range() și xrange() sunt două funcții care ar putea fi folosite pentru a repeta un anumit număr de ori în bucle for în Python. În Python 3, nu există xrange, dar funcția range se comportă ca xrange în Python 2.
- gamă() – Aceasta returnează o listă de numere create folosind funcția range().
- xrange() – Această funcție returnează obiectul generator care poate fi folosit pentru a afișa numere doar prin buclă. Singurul interval special este afișat la cerere și, prin urmare, este apelat evaluare leneșă .
25. Ce este înțelegerea dicționarului? Dă un exemplu
Dicționarul de înțelegere este o construcție de sintaxă pentru a ușura crearea unui dicționar bazat pe iterabilul existent.
De exemplu: my_dict = {i:i+7 pentru i în interval (1, 10)}
26. Este Tuple Comprehension? Dacă da, cum și dacă nu de ce?
27. Faceți diferența între Listă și Tuple?
Să analizăm diferențele dintre Listă și Tuple:
Listă
- Listele sunt tip de date modificabile.
- Listele consumă mai multă memorie
- Lista este mai bună pentru a efectua operațiuni, cum ar fi inserarea și ștergerea.
- Implicația iterațiilor necesită timp
Tuplu
operatori javascript
- Tuplurile sunt tipuri de date imuabile.
- Tuple consumă mai puțină memorie în comparație cu lista
- Un tip de date Tuple este adecvat pentru accesarea elementelor
- Implicația iterațiilor este comparativ mai rapidă
28. Care este diferența dintre o copie superficială și o copie adâncă?
Copia superficială este utilizată atunci când este creat un nou tip de instanță și păstrează valorile care sunt copiate, în timp ce copierea profundă stochează valorile care sunt deja copiate.
O copie superficială are o execuție mai rapidă a programului, în timp ce o copie profundă o face mai lentă.
29. Ce tehnică de sortare este folosită de funcțiile sort() și sorted() ale python?
Python folosește Tim Sort algoritm de sortare. Este o sortare stabilă al cărei caz cel mai rău este O(N log N). Este un algoritm de sortare hibrid, derivat din sortarea prin îmbinare și sortarea prin inserție, conceput pentru a funcționa bine pe multe tipuri de date din lumea reală.
30. Ce sunt Decoratorii?
Decoratorii sunt un instrument foarte puternic și util în Python, deoarece sunt modificarea specifică pe care o facem în sintaxa Python pentru a modifica cu ușurință funcțiile.
31. Cum depanezi un program Python?
Folosind această comandă putem depana un program Python:
$ python -m pdb python-script.py>
32. Ce sunt iteratorii în Python?
În Python, iteratoarele sunt folosite pentru a repeta un grup de elemente, containere ca o listă. Iteratorii sunt colecții de articole și pot fi o listă, tupluri sau un dicționar. Iteratorul Python implementează __itr__ și metoda next() pentru a repeta elementele stocate. În general, folosim bucle pentru a itera colecțiile (listă, tuplu) în Python.
33. Ce sunt generatoarele în Python?
În Python, generatorul este o modalitate care specifică modul de implementare a iteratorilor. Este o funcție normală, cu excepția faptului că dă expresie în funcție. Nu implementează metoda __itr__ și next() și reduce și alte cheltuieli generale.
Dacă o funcție conține cel puțin o declarație yield, ea devine un generator. Cuvântul cheie yield întrerupe execuția curentă prin salvarea stărilor sale și apoi reia de la aceeași când este necesar.
34. Python acceptă moștenirea multiplă?
Python acceptă moșteniri multiple, spre deosebire de Java. Moștenirile multiple înseamnă că o clasă poate fi derivată din mai multe clase părinte.
35. Ce este polimorfismul în Python?
Polimorfismul înseamnă capacitatea de a lua mai multe forme. Deci, de exemplu, dacă clasa părinte are o metodă numită ABC, atunci clasa copil poate avea și o metodă cu același nume ABC, având propriile parametri și variabile. Python permite polimorfismul.
36. Definiți încapsularea în Python?
Încapsularea înseamnă legarea codului și a datelor împreună. O clasă Python este un exemplu de încapsulare.
38. Cum se face gestionarea memoriei în Python?
Python își folosește spațiul heap privat pentru a gestiona memoria. Practic, toate obiectele și structurile de date sunt stocate în spațiul heap privat. Nici măcar programatorul nu poate accesa acest spațiu privat deoarece interpretul are grijă de acest spațiu. Python are, de asemenea, un colector de gunoi încorporat, care reciclează toată memoria nefolosită și eliberează memoria și o face disponibilă pentru spațiul heap.
39. Cum să ștergeți un fișier folosind Python?
Putem șterge un fișier folosind Python prin următoarele abordări:
- os.remove()
- os.unlink()
40. Ce este felierea în Python?
Tăiere Python este o operație cu șir pentru extragerea unei părți a șirului sau a unei părți a unei liste. Cu acest operator, se poate specifica unde să înceapă tăierea, unde să se termine și să specificați pasul. Tăierea listei returnează o nouă listă din lista existentă.
java deschiderea unui fișier
Syntax: Lst[ Initial : End : IndexJump ]>
41. Ce este un spațiu de nume în Python?
Un spațiu de nume este un sistem de denumire utilizat pentru a se asigura că numele sunt unice pentru a evita conflictele de denumire.
Întrebări și răspunsuri la interviu avansat Python
42. Ce este PIP?
PIP este un acronim pentru Python Installer Package care oferă o interfață perfectă pentru a instala diverse module Python. Este un instrument de linie de comandă care poate căuta pachete pe internet și le poate instala fără nicio interacțiune a utilizatorului.
43. Ce este o funcție zip?
Funcția Python zip() returnează un obiect zip, care mapează un index similar al mai multor containere. Este nevoie de un iterabil, îl transformă într-un iterator și agregează elementele pe baza iterabilelor trecute. Returnează un iterator de tupluri.
44. Ce sunt decaparea și decaparea?
Modulul Pickle acceptă orice obiect Python și îl convertește într-o reprezentare șir și îl aruncă într-un fișier folosind funcția de dump, acest proces se numește pickling. În timp ce procesul de recuperare a obiectelor originale Python din reprezentarea șirului stocat se numește unpickling.
depozitul maven
45. Ce este plasarea maimuțelor în Python?
În Python, termenul patch maimuță se referă doar la modificările dinamice ale unei clase sau module în timpul execuției.
# g.py class GeeksClass: def function(self): print 'function()' import m def monkey_function(self): print 'monkey_function()' m.GeeksClass.function = monkey_function obj = m.GeeksClass() obj.function()>
46. Ce este __init__() în Python?
Echivalent cu constructorii în terminologia OOP, __init__ este o metodă rezervată în clasele Python. Metoda __init__ este apelată automat ori de câte ori este inițiat un nou obiect. Această metodă alocă memorie noului obiect imediat ce este creat. Această metodă poate fi folosită și pentru a inițializa variabile.
47. Scrieți un cod pentru a afișa ora curentă?
import time currenttime= time.localtime(time.time()) print (Current time is, currenttime)>
48. Ce sunt specificatorii de acces în Python?
Python folosește simbolul „_” pentru a determina controlul accesului pentru un anumit membru de date sau o funcție membră a unei clase. O clasă în Python are trei tipuri de Modificatori de acces Python :
- Modificator de acces public: Membrii unei clase care sunt declarați publici sunt ușor accesibili din orice parte a programului. Toți membrii de date și funcțiile membre ale unei clase sunt publice în mod implicit.
- Modificator de acces protejat: Membrii unei clase care sunt declarați protejați sunt accesibili numai unei clase derivate din aceasta. Toți membrii de date ai unei clase sunt declarați protejați prin adăugarea unui singur simbol de subliniere „_” înaintea membrilor de date ai acelei clase.
- Modificator de acces privat: Membrii unei clase care sunt declarați privati sunt accesibili numai în cadrul clasei, modificatorul de acces privat este cel mai sigur modificator de acces. Membrii de date ai unei clase sunt declarați privați prin adăugarea unui simbol dublu de subliniere „__” înaintea membrului de date al acelei clase.
49. Ce sunt testele unitare în Python?
Testarea unitară este primul nivel de testare a software-ului în care sunt testate cele mai mici părți testabile ale software-ului. Acesta este utilizat pentru a valida dacă fiecare unitate a software-ului funcționează așa cum a fost proiectat. Cadrul de testare unitară este cadrul stilului xUnit al lui Python. Metoda White Box Testing este utilizată pentru testarea unitară.
50. Python Global Interpreter Lock (GIL)?
Python Global Interpreter Lock (GIL) este un tip de blocare a procesului care este folosit de Python ori de câte ori se ocupă de procese. În general, Python folosește doar un singur fir pentru a executa setul de instrucțiuni scrise. Performanța procesului cu un singur thread și a procesului cu mai multe fire va fi aceeași în Python și acest lucru se datorează GIL în Python. Nu putem realiza multithreading în Python, deoarece avem o blocare globală a interpretului care restricționează firele și funcționează ca un singur fir.
51. Ce sunt adnotările de funcții în Python?
Adnotare funcție este o caracteristică care vă permite să adăugați metadate la parametrii funcției și să returnați valori. În acest fel, puteți specifica tipul de intrare al parametrilor funcției și tipul de returnare al valorii pe care o returnează funcția.
Adnotările de funcții sunt expresii Python arbitrare care sunt asociate cu diferite părți ale funcțiilor. Aceste expresii sunt evaluate în timpul compilării și nu au viață în mediul de rulare al lui Python. Python nu acordă niciun sens acestor adnotări. Ele iau viață atunci când sunt interpretate de biblioteci terțe, de exemplu, mypy.
52. Ce sunt grupurile de excepții în Python?
Cea mai recentă caracteristică a Python 3.11, Grupuri de excepție . ExceptionGroup poate fi gestionat folosind o nouă sintaxă except*. Simbolul * indică faptul că mai multe excepții pot fi gestionate de fiecare clauză except*.
ExceptionGroup este o colecție/grup de diferite tipuri de excepții. Fără a crea excepții multiple, putem grupa diferite excepții pe care ulterior le putem prelua una câte una ori de câte ori este necesar, ordinea în care sunt stocate excepțiile în grupul de excepții nu contează atunci când le apelăm.
Python3 try: raise ExceptionGroup('Example ExceptionGroup', ( TypeError('Example TypeError'), ValueError('Example ValueError'), KeyError('Example KeyError'), AttributeError('Example AttributeError') )) except* TypeError: ... except* ValueError as e: ... except* (KeyError, AttributeError) as e: ...> 53. Ce este Python Switch Statement
De la versiunea 3.10 în sus, Python a implementat o caracteristică de comutare numită potrivire a modelelor structurale. Puteți implementa această funcție cu cuvintele cheie potrivire și majuscule. Rețineți că simbolul de subliniere este ceea ce utilizați pentru a defini un caz implicit pentru instrucțiunea switch în Python.
Notă : Înainte de Python 3.10, Python nu acceptă declarații de potrivire.
Python3 match term: case pattern-1: action-1 case pattern-2: action-2 case pattern-3: action-3 case _: action-default>
54. Ce este Walrus Operator?
Operatorul Morse vă permite să atribuiți o valoare unei variabile în cadrul unei expresii. Acest lucru poate fi util atunci când trebuie să utilizați o valoare de mai multe ori într-o buclă, dar nu doriți să repetați calculul.
Operatorul Walrus este reprezentat de sintaxa `:=` și poate fi folosit într-o varietate de contexte, inclusiv bucle while și instrucțiuni if.
Notă: Versiunile Python înainte de 3.8 nu acceptă Walrus Operator.
Python3 names = ['Jacob', 'Joe', 'Jim'] if (name := input('Enter a name: ')) in names: print(f'Hello, {name}!') else: print('Name not found.')>