Python er det mest brukte språket i toppselskaper som Intel, IBM, NASA, Pixar, Netflix, Facebook, JP Morgan Chase, Spotify og mange flere på grunn av ytelsen og de kraftige bibliotekene. For å komme inn i disse selskapene og organisasjonene som Python-utvikler, må du mestre noe viktig Python-intervjuspørsmål å knekke deres Python Online Assessment Round og Python Intervju Round. Vi har utarbeidet en liste over Topp 50 Python-intervjuspørsmål sammen med deres svar på ess i intervjuer.
Python-intervjuspørsmål
Innholdsfortegnelse
- Grunnleggende Python-intervjuspørsmål for ferskinger
- 1. Hva er Python? Liste over noen populære applikasjoner av Python i teknologiens verden.
- 2. Hva er fordelene med å bruke Python-språket som et verktøy i dette scenariet?
- 3. Er Python et kompilert språk eller et tolket språk?
- 4. Hva gjør '#'-symbolet i Python?
- 6. Hvordan sendes argumenter med verdi eller referanse i Python?
- 7. Hva er forskjellen mellom et sett og en ordbok?
- 8. Hva er listeforståelse? Gi et eksempel.
- 9. Hva er en lambdafunksjon?
- 10. Hva er et pass i Python?
- 11. Hva er forskjellen mellom / og // i Python?
- 12. Hvordan gjøres eksepsjonell håndtering i Python?
- 13. Hva er swapcase-funksjon i Python?
- 14. Forskjellen mellom for loop og while loop i Python
- 15. Kan vi sende en funksjon som et argument i Python?
- 16. Hva er *args og *kwargs?
- 17. Er det nødvendig med innrykk i Python?
- 18. Hva er Scope i Python?
- 19. Hva er docstring i Python?
- 20. Hva er et dynamisk skrevet språk?
- 21. Hva er pause, fortsett og pasning i Python?
- 23. Hvordan gulvet et nummer i Python?
- Intermediate Python-intervjuspørsmål
- 24. Hva er forskjellen mellom xrange- og range-funksjoner?
- 25. Hva er ordbokforståelse? Gi et eksempel
- 26. Er Tuple Comprehension? Hvis ja, hvordan, og hvis ikke hvorfor?
- 27. Skille mellom List og Tuple?
- 28. Hva er forskjellen mellom en grunn kopi og en dyp kopi?
- 29. Hvilken sorteringsteknikk brukes av funksjonene sort() og sorted() til python?
- 30. Hva er dekoratører?
- 31. Hvordan feilsøker du et Python-program?
- 32. Hva er iteratorer i Python?
- 33. Hva er generatorer i Python?
- 34. Støtter Python multippel arv?
- 35. Hva er polymorfisme i Python?
- 36. Definer innkapsling i Python?
- 38. Hvordan gjøres minnebehandling i Python?
- 39. Hvordan sletter jeg en fil med Python?
- 40. Hva er slicing i Python?
- 41. Hva er et navneområde i Python?
- Avanserte Python-intervjuspørsmål og svar
- 42. Hva er PIP?
- 43. Hva er en zip-funksjon?
- 44. Hva er beising og avbeising?
- 45. Hva er monkey patching i Python?
- 46. Hva er __init__() i Python?
- 47. Skrive en kode for å vise gjeldende tid?
- 48. Hva er tilgangsspesifikasjoner i Python?
- 49. Hva er enhetstester i Python?
- 50. Python Global Interpreter Lock (GIL)?
- 51. Hva er funksjonsanmerkninger i Python?
- 52. Hva er unntaksgrupper i Python?
- 53. Hva er Python Switch Statement
- 54. Hva er Walrus Operator?
Grunnleggende Python-intervjuspørsmål for ferskinger
1. Hva er Python? Liste over noen populære applikasjoner av Python i teknologiens verden.
Python er et mye brukt generellt programmeringsspråk på høyt nivå. Den ble opprettet av Guido van Rossum i 1991 og videreutviklet av Python Software Foundation. Den ble designet med vekt på kodelesbarhet, og syntaksen lar programmerere uttrykke konseptene sine i færre linjer med kode.
Den brukes til:
- Systemskripting
- Webutvikling
- Spillutvikling
- Programvare utvikling
- Kompleks matematikk
2. Hva er fordelene med å bruke Python-språket som et verktøy i dette scenariet?
Følgende er fordelene ved å bruke Python-språket:
- Objektorientert språk
- Språk på høyt nivå
- Dynamisk skrevet språk
- Omfattende støtte biblioteker
- Tilstedeværelse av tredjepartsmoduler
- Åpen kildekode og samfunnsutvikling
- Bærbar og interaktiv
- Bærbar på tvers av operativsystemer
3. Er Python et kompilert språk eller et tolket språk?
Egentlig er Python et delvis kompilert språk og delvis tolket språk. Kompileringsdelen gjøres først når vi kjører koden vår, og dette vil generere bytekode internt. Denne bytekoden blir konvertert av den virtuelle Python-maskinen (p.v.m) i henhold til den underliggende plattformen (maskin+operativsystem).
4. Hva gjør '#'-symbolet i Python?
'#' brukes til å kommentere alt som kommer etter på linjen.
6. Hvordan sendes argumenter med verdi eller referanse i Python?
Alt i Python er et objekt og alle variabler har referanser til objektene. Referanseverdiene er i henhold til funksjonene; som et resultat kan du ikke endre verdien på referansene. Du kan imidlertid endre objektene hvis de kan endres.
7. Hva er forskjellen mellom et sett og en ordbok?
Settet er en uordnet samling av datatyper som er iterable, mutable og har ingen dupliserte elementer.
En ordbok i Python er en ordnet samling av dataverdier, brukt til å lagre dataverdier som et kart.
8. Hva er listeforståelse? Gi et eksempel.
Listeforståelse er en syntakskonstruksjon for å lette opprettelsen av en liste basert på eksisterende iterable.
For eksempel:
my_list = [i for i in range(1, 10)]>
9. Hva er en lambdafunksjon?
En lambdafunksjon er en anonym funksjon. Denne funksjonen kan ha et hvilket som helst antall parametere, men kan bare ha én setning. For eksempel:
a = lambda x, y : x*y print(a(7, 19))>
10. Hva er et pass i Python?
Pass betyr at du ikke utfører noen operasjon eller med andre ord, det er en plassholder i den sammensatte setningen, der det skal være et tomt igjen og ingenting må skrives der.
11. Hva er forskjellen mellom / og // i Python?
/ representerer presis divisjon (resultatet er et flyttall), mens // representerer etasjedeling (resultatet er et heltall). For eksempel:
5//2 = 2 5/2 = 2.5>
12. Hvordan gjøres eksepsjonell håndtering i Python?
Det er 3 hovednøkkelord, dvs. prøv, unntatt, og til slutt som brukes til å fange opp unntak og håndtere gjenopprettingsmekanismen deretter. Try er blokken av en kode som overvåkes for feil. Unntatt blokk blir utført når en feil oppstår.
Det fine med den siste blokken er å kjøre koden etter å ha prøvd en feil. Denne blokken blir utført uavhengig av om det har oppstått en feil eller ikke. Til slutt brukes blokk til å utføre de nødvendige oppryddingsaktivitetene til objekter/variabler.
13. Hva er swapcase-funksjon i Python?
Det er en strengs funksjon som konverterer alle store bokstaver til små bokstaver og omvendt. Den brukes til å endre det eksisterende tilfellet av strengen. Denne metoden lager en kopi av strengen som inneholder alle tegnene i byttesaken. For eksempel:
string = 'techcodeview.com' string.swapcase() --->'gEEKSFORgEEKS'>
14. Forskjellen mellom for loop og while loop i Python
For Loop brukes vanligvis til å iterere gjennom elementene i ulike samlingstyper som f.eks Liste , Tuppel , Sett , og Ordbok . Utviklere bruker en for-løkke der de har både betingelsene start og slutt. Mens while-løkken er den faktiske looping-funksjonen som brukes i et hvilket som helst annet programmeringsspråk. Programmerere bruker en Python while-løkke der de bare har sluttbetingelsene.
15. Kan vi sende en funksjon som et argument i Python?
Ja, flere argumenter kan sendes til en funksjon, inkludert objekter, variabler (av samme eller forskjellige datatyper) og funksjoner. Funksjoner kan overføres som parametere til andre funksjoner fordi de er objekter. Funksjoner av høyere orden er funksjoner som kan ta andre funksjoner som argumenter.
For å lese mer, se artikkelen: Sender funksjon som argument i Python
16. Hva er *args og *kwargs?
For å sende et variabelt antall argumenter til en funksjon i Python, bruk den spesielle syntaksen *args og **kwargs i funksjonsspesifikasjonen. Den brukes til å sende en søkeordfri argumentliste med variabel lengde. Ved å bruke *, blir variabelen vi assosierer med * itererbar, slik at du kan utføre operasjoner på den som å iterere over den og bruke høyere ordens operasjoner som kart og filter.
17. Er det nødvendig med innrykk i Python?
Ja, innrykk kreves i Python. EN Python tolk kan informeres om at en gruppe setninger tilhører en spesifikk kodeblokk ved å bruke Python-innrykk. Innrykk gjør koden lett å lese for utviklere på alle programmeringsspråk, men i Python er det veldig viktig å rykke inn koden i en bestemt rekkefølge.
18. Hva er Scope i Python?
Plasseringen der vi kan finne en variabel og også få tilgang til den om nødvendig kalles omfanget av en variabel.
- Python Local variabel: Lokale variabler er de som initialiseres i en funksjon og er unike for denne funksjonen. Den kan ikke nås utenfor funksjonen.
- Python globale variabler: Globale variabler er de som er definert og erklært utenfor en hvilken som helst funksjon og er ikke spesifisert til noen funksjon.
- Omfang på modulnivå: Det refererer til de globale objektene til den gjeldende modulen som er tilgjengelig i programmet.
- Ytterste omfang: Det refererer til alle innebygde navn som programmet kan kalle. Navnet det refereres til, er plassert sist blant objektene i dette omfanget.
19. Hva er docstring i Python?
Python-dokumentasjonsstrenger (eller docstrings) gir en praktisk måte å knytte dokumentasjon til Python-moduler, funksjoner, klasser og metoder.
- Erklære Docstrings: Dokstringene er deklarert ved å bruke 'trippel enkle anførselstegn' eller trippel doble anførselstegn rett under klasse-, metode- eller funksjonserklæringen. Alle funksjoner bør ha en docstring.
- Tilgang til Docstrings: Du kan få tilgang til docstringene ved å bruke __doc__-metoden til objektet eller ved hjelp av hjelpefunksjonen.
20. Hva er et dynamisk skrevet språk?
Innskrevne språk er språkene som vi definerer typen datatype på, og den vil bli kjent av maskinen på kompileringstidspunktet eller under kjøringen. Innskrevne språk kan klassifiseres i to kategorier:
- Statisk skrevet språk: På denne typen språk er datatypen til en variabel kjent på kompileringstidspunktet, noe som betyr at programmereren må spesifisere datatypen til en variabel på tidspunktet for erklæringen.
- Dynamisk skrevet språk: Dette er språkene som ikke krever noen forhåndsdefinert datatype for noen variabel, ettersom den tolkes under kjøring av maskinen selv. På disse språkene tildeler tolker datatypen til en variabel under kjøring avhengig av verdien.
21. Hva er pause, fortsett og pasning i Python?
De bryte uttalelse brukes til å avslutte loopen eller setningen der den er til stede. Deretter vil kontrollen gå over til de uttalelsene som er tilstede etter pauseoppgaven, hvis tilgjengelig.
Fortsette er også en sløyfekontrollsetning akkurat som break-setningen. continue-setningen er motsatt av break-setningen, i stedet for å avslutte loopen, tvinger den til å utføre neste iterasjon av loopen.
Sende betyr at du ikke utfører noen operasjon eller med andre ord, det er en plassholder i den sammensatte setningen, der det skal være et tomt igjen og ingenting må skrives der.
Numerisk: Den numeriske datatypen i Python representerer dataene som har en numerisk verdi. En numerisk verdi kan være et heltall, et flytende tall, en boolsk verdi , eller til og med et komplekst tall.
23. Hvordan gulvet et nummer i Python?
Python matematikkmodulen inkluderer en metode som kan brukes til å beregne gulvet til et tall.
- gulv() metoden i Python returnerer gulvet til x, dvs. det største heltall som ikke er større enn x.
- Metoden ceil(x) i Python returnerer også en takverdi på x, dvs. det minste heltall større enn eller lik x.
Intermediate Python-intervjuspørsmål
24. Hva er forskjellen mellom xrange- og range-funksjoner?
range() og xrange() er to funksjoner som kan brukes til å iterere et visst antall ganger for løkker i Python. I Python 3 er det ingen xrange, men range-funksjonen oppfører seg som xrange i Python 2.
- område() – Dette returnerer en liste over tall opprettet ved hjelp av range()-funksjonen.
- xrange() – Denne funksjonen returnerer generatorobjektet som kan brukes til å vise tall bare ved sløyfe. Det eneste bestemte området vises på forespørsel og kalles derfor opp lat evaluering .
25. Hva er ordbokforståelse? Gi et eksempel
Ordbokforståelse er en syntakskonstruksjon for å lette opprettelsen av en ordbok basert på eksisterende iterable.
For eksempel: my_dict = {i:i+7 for i in range(1, 10)}
26. Er Tuple Comprehension? Hvis ja, hvordan, og hvis ikke hvorfor?
(i for i in (1, 2, 3))>
Tuppelforståelse er ikke mulig i Python fordi det vil ende opp i en generator, ikke en tuppelforståelse.
27. Skille mellom List og Tuple?
La oss analysere forskjellene mellom List og Tuple:
Liste
- Lister er Mulig datatype.
- Lister bruker mer minne
- Listen er bedre for å utføre operasjoner, for eksempel innsetting og sletting.
- Implikasjonen av iterasjoner er tidkrevende
Tuppel
- Tuples er uforanderlig datatype.
- Tuple bruker mindre minne sammenlignet med listen
- En Tuple-datatype er passende for å få tilgang til elementene
- Implikasjonen av iterasjoner er relativt raskere
28. Hva er forskjellen mellom en grunn kopi og en dyp kopi?
Grunn kopi brukes når en ny forekomsttype blir opprettet, og den beholder verdier som er kopiert, mens dyp kopi lagrer verdier som allerede er kopiert.
En grunn kopi har raskere programkjøring, mens en dyp kopi gjør den treg.
29. Hvilken sorteringsteknikk brukes av funksjonene sort() og sorted() til python?
Python bruker Tim Sort algoritme for sortering. Det er en stabil sortering hvis verste tilfelle er O(N log N). Det er en hybrid sorteringsalgoritme, avledet fra sammenslåingssortering og innsettingssortering, designet for å fungere godt på mange typer virkelige data.
30. Hva er dekoratører?
Dekoratorer er et veldig kraftig og nyttig verktøy i Python, da de er den spesifikke endringen vi gjør i Python-syntaksen for å enkelt endre funksjoner.
31. Hvordan feilsøker du et Python-program?
Ved å bruke denne kommandoen kan vi feilsøke et Python-program:
$ python -m pdb python-script.py>
32. Hva er iteratorer i Python?
I Python brukes iteratorer til å iterere en gruppe elementer, containere som en liste. Iteratorer er samlinger av elementer, og de kan være en liste, tupler eller en ordbok. Python iterator implementerer __itr__ og next()-metoden for å iterere de lagrede elementene. Vi bruker vanligvis looper for å iterere over samlingene (liste, tuppel) i Python.
33. Hva er generatorer i Python?
I Python er generatoren en måte som spesifiserer hvordan iteratorer skal implementeres. Det er en normal funksjon bortsett fra at den gir uttrykk i funksjonen. Den implementerer ikke metoden __itr__ og next() og reduserer også andre faste kostnader.
Hvis en funksjon inneholder minst en yield-setning, blir den en generator. Yield-nøkkelordet setter den gjeldende kjøringen på pause ved å lagre dens tilstander og fortsetter deretter fra samme når det er nødvendig.
34. Støtter Python multippel arv?
Python støtter flere arv, i motsetning til Java. Flere arv betyr at en klasse kan avledes fra mer enn én overordnet klasse.
35. Hva er polymorfisme i Python?
Polymorfisme betyr evnen til å ta flere former. Så, for eksempel, hvis den overordnede klassen har en metode som heter ABC, kan barneklassen også ha en metode med samme navn ABC som har sine egne parametere og variabler. Python tillater polymorfisme.
36. Definer innkapsling i Python?
Innkapsling betyr å binde koden og dataene sammen. En Python-klasse er et eksempel på innkapsling.
38. Hvordan gjøres minnebehandling i Python?
Python bruker sin private haugplass til å administrere minnet. I utgangspunktet er alle objektene og datastrukturene lagret i det private haugområdet. Selv programmereren kan ikke få tilgang til dette private rommet da tolken tar seg av denne plassen. Python har også en innebygd søppeloppsamler, som resirkulerer alt ubrukt minne og frigjør minnet og gjør det tilgjengelig for haugen.
39. Hvordan sletter jeg en fil med Python?
Vi kan slette en fil ved hjelp av Python ved å følge fremgangsmåten:
- os.remove()
- os.unlink()
40. Hva er slicing i Python?
Python-skjæring er en strengoperasjon for å trekke ut en del av strengen, eller en del av en liste. Med denne operatøren kan man spesifisere hvor man skal starte skjæringen, hvor man skal slutte, og spesifisere trinnet. Listesnitt returnerer en ny liste fra den eksisterende listen.
Syntax: Lst[ Initial : End : IndexJump ]>
41. Hva er et navneområde i Python?
Et navneområde er et navnesystem som brukes for å sikre at navn er unike for å unngå navnekonflikter.
Avanserte Python-intervjuspørsmål og svar
42. Hva er PIP?
PIP er et akronym for Python Installer Package som gir et sømløst grensesnitt for å installere ulike Python-moduler. Det er et kommandolinjeverktøy som kan søke etter pakker over internett og installere dem uten brukerinteraksjon.
43. Hva er en zip-funksjon?
Python zip()-funksjonen returnerer et zip-objekt, som kartlegger en lignende indeks av flere beholdere. Den tar en iterabel, konverterer den til en iterator og samler elementene basert på bestått iterable. Den returnerer en iterator av tupler.
44. Hva er beising og avbeising?
Pickle-modulen godtar et hvilket som helst Python-objekt og konverterer det til en strengrepresentasjon og dumper det inn i en fil ved å bruke dump-funksjonen, denne prosessen kalles pickling. Mens prosessen med å hente originale Python-objekter fra den lagrede strengrepresentasjonen kalles unpickling.
45. Hva er monkey patching i Python?
I Python refererer begrepet monkey patch bare til dynamiske modifikasjoner av en klasse eller modul under kjøring.
# 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. Hva er __init__() i Python?
Tilsvarer konstruktører i OOP-terminologi, __init__ er en reservert metode i Python-klasser. __init__-metoden kalles automatisk når et nytt objekt startes. Denne metoden tildeler minne til det nye objektet så snart det er opprettet. Denne metoden kan også brukes til å initialisere variabler.
47. Skrive en kode for å vise gjeldende tid?
import time currenttime= time.localtime(time.time()) print (Current time is, currenttime)>
48. Hva er tilgangsspesifikasjoner i Python?
Python bruker '_'-symbolet for å bestemme tilgangskontrollen for et spesifikt datamedlem eller en medlemsfunksjon i en klasse. En klasse i Python har tre typer Python-tilgangsmodifikatorer :
- Modifikator for offentlig tilgang: Medlemmene av en klasse som er erklært offentlige er lett tilgjengelige fra alle deler av programmet. Alle datamedlemmer og medlemsfunksjoner i en klasse er offentlige som standard.
- Modifikator for beskyttet tilgang: Medlemmene av en klasse som er erklært beskyttet er bare tilgjengelige for en klasse som er avledet fra den. Alle datamedlemmer i en klasse erklæres beskyttet ved å legge til et enkelt understrek «_»-symbol før datamedlemmene i den klassen.
- Modifikator for privat tilgang: Medlemmene av en klasse som er erklært private er kun tilgjengelige innenfor klassen, den private tilgangsmodifikatoren er den sikreste tilgangsmodifikatoren. Datamedlemmer i en klasse erklæres private ved å legge til et dobbelt understrek «__»-symbol før datamedlemmet i den klassen.
49. Hva er enhetstester i Python?
Unit Testing er det første nivået av programvaretesting der de minste testbare delene av programvaren testes. Dette brukes til å validere at hver enhet i programvaren fungerer slik den er designet. Enhetstestrammeverket er Pythons xUnit-stilrammeverk. White Box Testing-metoden brukes til enhetstesting.
50. Python Global Interpreter Lock (GIL)?
Python Global Tolkelås (GIL) er en type prosesslås som brukes av Python når den omhandler prosesser. Vanligvis bruker Python bare én tråd for å utføre settet med skriftlige uttalelser. Ytelsen til den entrådede prosessen og den flertrådede prosessen vil være den samme i Python, og dette er på grunn av GIL i Python. Vi kan ikke oppnå multithreading i Python fordi vi har en global tolkelås som begrenser trådene og fungerer som en enkelt tråd.
51. Hva er funksjonsanmerkninger i Python?
Funksjonsanmerkning er en funksjon som lar deg legge til metadata til funksjonsparametere og returverdier. På denne måten kan du spesifisere inngangstypen til funksjonsparametrene og returtypen til verdien funksjonen returnerer.
Funksjonsannoteringer er vilkårlige Python-uttrykk som er assosiert med ulike deler av funksjoner. Disse uttrykkene blir evaluert på kompileringstidspunktet og har ikke noe liv i Pythons kjøretidsmiljø. Python legger ingen mening til disse merknadene. De tar liv når de tolkes av tredjepartsbiblioteker, for eksempel mypy.
52. Hva er unntaksgrupper i Python?
Den siste funksjonen i Python 3.11, Unntaksgrupper . Unntaksgruppen kan håndteres med en ny unntatt*-syntaks. *-symbolet indikerer at flere unntak kan håndteres av hver unntatt*-klausul.
ExceptionGroup er en samling/gruppe av forskjellige typer unntak. Uten å opprette flere unntak kan vi gruppere ulike unntak som vi senere kan hente ett etter ett når det er nødvendig, rekkefølgen som unntakene er lagret i unntaksgruppen spiller ingen rolle når du kaller dem.
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. Hva er Python Switch Statement
Fra versjon 3.10 og oppover har Python implementert en bryterhusfunksjon kalt strukturell mønstertilpasning. Du kan implementere denne funksjonen med søkeordene for samsvar og store bokstaver. Merk at understrekingssymbolet er det du bruker til å definere et standard tilfelle for switch-setningen i Python.
Merk : Før Python 3.10 støtter ikke Python samsvarsuttalelser.
Python3 match term: case pattern-1: action-1 case pattern-2: action-2 case pattern-3: action-3 case _: action-default>
54. Hva er Walrus Operator?
Hvalrossoperatøren lar deg tilordne en verdi til en variabel i et uttrykk. Dette kan være nyttig når du trenger å bruke en verdi flere ganger i en løkke, men ikke vil gjenta beregningen.
Walrus-operatøren er representert av `:=`-syntaksen og kan brukes i en rekke sammenhenger, inkludert while-løkker og if-setninger.
Merk: Python-versjoner før 3.8 støtter ikke Walrus Operator.
Python3 names = ['Jacob', 'Joe', 'Jim'] if (name := input('Enter a name: ')) in names: print(f'Hello, {name}!') else: print('Name not found.')>