42 Spørsmål og svar på Python-intervju i sanntid [2022]

Forbereder du deg til Python-intervjuer? Eller bare nysgjerrig på hvor mye Python du kan? Ikke noe problem. Her dekker vi dine problemer med spørsmål og svar.

Artikkelen vil hjelpe deg å forstå hva slags spørsmål du kan møte i intervjuer. Eller hjelper deg med å evaluere Python-ferdighetene dine. Sørg for at du svarer på spørsmålene før du ser svarene for å vurdere deg selv nøyaktig. Uten videre, la oss dykke ned i spørsmålene.

Spørsmålene er delt inn i ulike seksjoner basert på type emner. Hver seksjon har spørsmål sammen med kuraterte svar. Du kan endre svaret med ditt eget språk med samme betydning. Så intervjueren vil ikke føle at du leser noe.

Innholdsfortegnelse

Python språk

#1. Hva er Python?

Python er et tolket høynivå, generell programmeringsspråk. Vi kan bygge nesten alle typer applikasjoner ved hjelp av Python med tredjeparts biblioteker og rammeverk. Python er et av de mest populære programmeringsspråkene innen avanserte teknologier som AI, Data Science, etc.

#2. Hva er hovedforskjellen mellom en tolk og en kompilator?

Tolken oversetter én setning om gangen til maskinkode, mens kompilatoren oversetter hele koden om gangen til maskinkode.

#3. Er Python statisk eller dynamisk skrevet språk?

Python er et dynamisk skrevet språk.

#4. Hva mener du med dynamisk skrevet språk?

Dynamisk skrevet språk kontrollerer variabler under kjøring. Noen dynamisk skrevet språk er Python, JavaScript, Ruby, etc.

Bonus: Statisk skrevet språk kontrollerer typene variabler ved kompilering. Noen statisk skrevet språk er C++, C, Java, etc..,

#5. Gi noen applikasjoner av Python.

Python har enklere og lett å lære syntaks. Det kan se ut som engelsk. Fellesskapet av utviklere for Python er enormt. Vi kan finne mange tredjepartspakker for å jobbe med ulike typer applikasjonsutvikling. Når det gjelder utvikling, kan vi lage webapplikasjoner, GUI-applikasjoner, CLI-applikasjoner, etc..,

En av de mest populære applikasjonene til Python er automatisering. Vi kan enkelt lage skript i Python for å automatisere oppgaver som å rense disk, sende e-post, hente data om produktpriser osv.,

Python er et av de mest populære språkene å bruke innen datavitenskap.

#6. Hvilke applikasjoner bygde du med Python?

Jeg har skrevet flere automatiseringsskript for å eliminere repeterende og kjedelige oppgaver. Og skript for å få informasjon om produktpriser, tilgjengelighet osv.

Jeg har også jobbet med rammeverk som Django, Flask for å bygge webapplikasjoner. Og bygg noen nettapplikasjoner med både Django og Flask.

Merk: Svaret ovenfor er et eksempel. Svaret ditt kan være helt annerledes enn det ovenfor. Prøv å forklare ulike områder du har jobbet med ved bruk av Python. Vis applikasjonene hvis de er tilgjengelige.

  Hvordan fikse Hulu Error 94 på en hvilken som helst enhet

Datatyper

#7. Hva er de innebygde datatypene i Python?

Det er flere innebygde datatyper i Python. De er int, float, kompleks, bool, list, tuple, set, dict, str.

Merk: Du trenger ikke fortelle alle datatypene som finnes i Python. Nevn noen av dem du bruker mest. Intervjueren kan stille spørsmål basert på svaret ditt.

#8. Hva er forskjellen mellom liste og tuppel?

Både liste og tuppel brukes til å lagre samlingen av gjenstander. Hovedforskjellen mellom listen og tuppel er «listen er foranderlig objekt mens tuppel er et uforanderlig objekt».

#9. Hva er foranderlige og uforanderlige datatyper?

Foranderlige datatyper kan endres etter å ha opprettet dem. Noen av de foranderlige objektene i Python er list, set, dict.

Uforanderlige datatyper kan ikke endres etter å ha opprettet dem. Noen av de uforanderlige objektene i Python er str, tuple.

#10. Forklar noen metoder i listen.

1. append – metoden brukes til å legge til et element i listen. Den legger til elementet på slutten av listen.

>>> a = [1, 2]
>>> a.append(3)
>>> a
[1, 2, 3]

2. pop – metoden brukes til å fjerne et element fra listen. Det vil fjerne det siste elementet hvis vi ikke oppgir noen indeks som et argument eller fjerne elementet ved indeksen hvis vi gir et argument.

>>> a = [1, 2, 3, 4, 5]
>>> a.pop()
5
>>> a
[1, 2, 3, 4]
>>> a.pop(1)
2
>>> a
[1, 3, 4]

3. remove – metoden brukes til å fjerne et element fra listen. Vi må oppgi elementet som et argument som vi ønsker å fjerne fra listen. Den fjerner den første forekomsten av elementet fra listen.

>>> a = [1, 2, 2, 3, 4]
>>> a = [1, 2, 3, 2, 4]
>>> a.remove(1)
>>> a
[2, 3, 2, 4]
>>> a.remove(2)
>>> a
[3, 2, 4]

4. sorter – metoden som brukes til å sortere listen i stigende eller synkende rekkefølge.

>>> a = [3, 2, 4, 1]
>>> a.sort()
>>> a
[1, 2, 3, 4]
>>> a.sort(reverse=True)
>>> a
[4, 3, 2, 1]

5. reversere – metoden brukes til å reversere listeelementene.

>>> a = [3, 2, 4, 1]
>>> a.reverse()
>>> a
[1, 4, 2, 3]

Merk: Det finnes andre metoder som clear, insert, count, etc… Du trenger ikke å forklare hver metode på listen for intervjueren. Bare forklar to eller tre metoder du for det meste bruker.

#11. Forklar noen metoder for streng

1. splitt – metoden brukes til å dele strengen på ønskede punkter. Den returnerer listen som et resultat. Som standard deler den strengen med mellomrom. Vi kan gi skilletegnet som argument for metoden.

>>> a = "This is tipsbilk.net"
>>> a.split()
['This', 'is', 'Geekflare']
>>> a = "1, 2, 3, 4, 5, 6"
>>> a.split(", ")
['1', '2', '3', '4', '5', '6']

2. join – metoden brukes til å kombinere listen over strengobjekter. Den kombinerer strengobjektene med skilletegnet vi tilbyr.

>>> a = ['This', 'is', 'Geekflare']
>>> ' '.join(a)
'This is tipsbilk.net'
>>> ', '.join(a)
'This, is, tipsbilk.net'

Merk: Noen andre metoder for strenger er: store bokstaver, isalnum, isalpha, isdigit, nedre, øvre, senter osv.,

#12. Hva er den negative indekseringen i lister?

Indeksen brukes for å få tilgang til elementet fra listene. Normal indeksering av listen starter fra 0.

I likhet med vanlig indeksering, brukes også negativ indeksering for å få tilgang til elementene fra listene. Men negativ indeksering lar oss få tilgang til indeksen fra slutten av listen. Starten på den negative indekseringen er -1. Og den fortsetter å øke som -2, -3, -4, osv.., til lengden på listen.

>>> a = [1, 2, 3, 4, 5]
>>> a[-1]
5
>>> a[-3]
3
>>> a[-5]
1

#1. 3. Forklar noen metoder for dict

1. elementer – metoden returnerer nøkkel: verdipar av ordbøker som en liste over tupler.

>>> a = {1: 'tipsbilk.net', 2: 'tipsbilk.net Tools', 3: 'tipsbilk.net Online Compiler'}
>>> a.items()
dict_items([(1, 'Geekflare'), (2, 'Geekflare Tools'), (3, 'Geekflare Online Compiler')])

2. pop – metoden brukes til å fjerne nøkkelen: verdiparet fra ordboken. Den godtar nøkkelen som et argument og fjerner den fra ordboken.

>>> a = {1: 2, 2: 3}
>>> a.pop(2)
3
>>> a
{1: 2}

Merk: Noen andre metoder for dict er: get, keys, values, clear, etc.

#14. Hva er slicing i Python?

Slicing brukes for å få tilgang til undergruppen fra en sekvensdatatype. Den returnerer data fra sekvensdatatypen basert på argumentene vi gir. Den returnerer samme datatype som kildedatatypen.

Slicing aksepterer tre argumenter. De er startindeksen, sluttindeksen og inkrementtrinnet. Syntaksen for skjæring er variabel[start:end:step]. Argumenter er ikke obligatoriske for skjæring. Du kan spesifisere et tomt kolon (:) som returnerer hele dataen som resultat.

>>> a = [1, 2, 3, 4, 5]
>>> a[:]
[1, 2, 3, 4, 5]
>>> a[:3]
[1, 2, 3]
>>> a[3:]
[4, 5]
>>> a[0:5:2]
[1, 3, 5]

#15. Hvilke datatyper tillater skjæring?

Vi kan bruke skjæring på datatyper liste, tuple og str.

  8 Pålitelig telefonnummervaliderings-API for ditt neste produkt

#16. Hva er utpakkingsoperatører i Python? Hvordan bruke dem?

Operatorene * og ** pakker ut operatører i Python.

* Utpakkingsoperatøren brukes til å tilordne flere verdier til forskjellige verdier om gangen fra sekvensdatatyper.

>>> items = [1, 2, 3]
>>> a, b, c = items
>>> a
1
>>> b
2
>>> c
3
>>> a, *b = items
>>> a
1
>>> b
[2, 3]

Utpakkingsoperatøren ** brukes med dict-datatyper. Utpakking i ordbøker fungerer ikke som å pakke ut med sekvensdatatyper.

Utpakkingen i ordbøker brukes mest til å kopiere nøkkel: verdielementer fra en ordbok til en annen.

>>> a = {1:2, 3:4}
>>> b = {**a}
>>> b
{1: 2, 3: 4}
>>> c = {3:5, 5:6}
>>> b = {**a, **c}
>>> b
{1: 2, 3: 5, 5: 6}

Merk: Du kan se denne artikkelen for mer informasjon om disse operatørene.

Forhold og løkker

#17. Har Python switch-setninger?

Nei, Python har ikke switch-setninger.

#18. Hvordan implementerer du funksjonaliteten til switch-setninger i Python?

Vi kan implementere funksjonaliteten til switch-setninger ved å bruke if og elif-setninger.

>>> if a == 1:
...     print(...)
... elif a == 2:
...     print(....)

#19. Hva er pause og fortsett uttalelser?

break – break-setningen brukes til å avslutte den løpende sløyfen. Utførelsen av koden vil hoppe til utsiden av break-løkken.

>>> for i in range(5):
...     if i == 3:
...             break
...     print(i)
...
0
1
2

continue – continu-setningen brukes til å hoppe over kjøringen av den gjenværende koden. Koden etter continue-setningen kjøres ikke i gjeldende iterasjon, og utførelsen går til neste iterasjon.

>>> for i in range(5):
...     if i == 3:
...             continue
...     print(i)
...
0
1
2
4

#20. Når kjøres koden ellers med while og for loops?

Koden inne i else-blokken med while og for loops utføres etter å ha utført alle iterasjoner. Og koden inne i else-blokken kjøres ikke når vi bryter løkkene.

#21. Hva er liste- og ordbokforståelse?

Liste- og ordbokforståelser er syntaktisk sukker for for-løkkene.

>>> a = [i for i in range(10)]
>>> a
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> a = {i: i + 1 for i in range(10)}
>>> a
{0: 1, 1: 2, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}
>>>

#22. Hvordan fungerer rekkeviddefunksjonen?

Områdefunksjonen returnerer tallsekvensen mellom start og stopp med en trinnvis økning. Syntaksen til rekkeviddefunksjonen er range(start, stopp[, step]).

Stopp-argumentet er obligatorisk. Argumentene start og trinn er valgfrie. Standardverdien for start og trinn er henholdsvis 0 og 1.

>>> list(range(10))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> list(range(1, 10))
[1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> list(range(1, 10, 2))
[1, 3, 5, 7, 9]
>>>

Funksjoner

#23. Hva er parametrene og argumentene?

Parametre er navnene som er oppført i funksjonsdefinisjonen.

Argumenter er verdiene som sendes til funksjonen mens den påkalles.

#24. Hva er de forskjellige typene argumenter i Python?

Det er hovedsakelig fire typer argumenter. De er posisjonsargumenter, standardargumenter, nøkkelordargumenter og vilkårlige argumenter.

Posisjonelle argumenter: de normale argumentene som vi definerer i brukerdefinerte funksjoner kalles posisjonsargumenter. Alle posisjonsargumenter kreves når funksjonen påkalles.

>>> def add(a, b):
...     return a + b
...
>>> add(1, 2)
3
>>> add(1)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: add() missing 1 required positional argument: 'b'
>>>

Standardargumenter: vi kan gi verdien til argumentene i selve funksjonsdefinisjonen som standardverdi. Når brukeren ikke bestod verdien, vil funksjonen vurdere standardverdien.

>>> def add(a, b=3):
...     return a + b
...
>>> add(1, 2)
3
>>> add(1)
4

Nøkkelordargumenter: vi kan spesifisere navnet på argumentene mens vi påkaller funksjonen og tilordne verdier til dem. Nøkkelordargumentene hjelper oss å unngå rekkefølge som er obligatorisk i posisjonsargumenter.

>>> def add(a, b):
...     print("a ", a)
...     print("b ", b)
...     return a + b
...
>>> add(b=4, a=2)
a  2
b  4
6

Vilkårlige argumenter: vi bruker vilkårlige argumenter for å samle en haug med verdier på et tidspunkt da vi ikke vet hvor mange argumenter funksjonen vil få. Vi * og ** operatorer i funksjonsdefinisjonen for å samle argumentene.

>>> def add(*args):
...     return sum(args)
...
>>> add(1, 2, 3, 4, 5)
15
>>> def dict_args(**kwargs):
...     print(kwargs)
...
>>> dict_args(a="tipsbilk.net", b='tipsbilk.net Tools', c="tipsbilk.net Online Compiler")
{'a': 'tipsbilk.net', 'b': 'tipsbilk.net Tools', 'c': 'tipsbilk.net Online Compiler'}

#25. Hva er lambdafunksjonen?

Lambda-funksjoner er små anonyme funksjoner i Python. Den har enkeltuttrykk og aksepterer flere argumenter.

>>> add = lambda a, b: a + b
>>> add(1, 3)
4

#26. Hva er forskjellen mellom normal funksjon og lambdafunksjon?

Funksjonaliteten til både normale funksjoner og lambda-funksjoner er like. Men vi må skrive litt ekstra kode i normale funksjoner sammenlignet med lambda-funksjoner for samme funksjonalitet.

  Hvordan lage en komposter i Minecraft

Lambdafunksjoner kommer godt med når det er ett enkelt uttrykk.

#27. Hva brukes pass-søkeordet til?

Pass nøkkelordet brukes til å nevne en tom blokk i koden. Python tillater oss ikke å forlate blokkene uten noen kode. Så passerklæringen lar oss definere tomme blokker (når vi bestemmer oss for å fylle ut koden senere).

>>> def add(*args):
...
...
  File "<stdin>", line 3

    ^
IndentationError: expected an indented block
>>> def add(*args):
...     pass
...
>>>

#28. Hva er en rekursiv funksjon?

Funksjonen som kaller seg selv kalles en rekursiv funksjon.

Hva er pakkeoperatører i Python? Hvordan bruke dem?

Pakningsoperatørene brukes til å samle flere argumenter i funksjoner. De er kjent som vilkårlige argumenter.

Merk: du kan se denne artikkelen for mer informasjon om pakkeoperatører i Python.

#29. OOPs i Python

Hvilket nøkkelord brukes til å lage klasser i Python?

Klassenøkkelordet brukes til å lage klasser i Python. Vi bør følge Pascal-saken for å navngi klassene i Python som en bransjestandardpraksis.

>>> class Car:
...     pass
...

#30. Hvordan instansierer jeg en klasse i Python?

Vi kan lage en forekomst av en klasse i Python ved ganske enkelt å kalle den like function. Vi kan sende de nødvendige attributtene for objektet på samme måte som vi gjør for funksjonsargumenter.

>>> class Car:
...     def __init__(self, color):
...             self.color = color
...
>>> red_car = Car('red')
>>> red_car.color
'red'
>>> green_car = Car('green')
>>> green_car.color
'green'
>>>

#31. Hva er selv i Python?

Selvet representerer klassens objekt. Den brukes til å få tilgang til objektattributtene og metodene inne i klassen for det bestemte objektet.

#32. Hva er __init__-metoden?

__init__ er konstruktørmetoden som ligner på konstruktørene i andre OOP-språk. Den kjøres umiddelbart når vi lager et objekt for klassen. Den brukes til å initialisere de første dataene for forekomsten.

#33. Hva er docstring i Python?

Dokumentasjonsstrengene eller docstringene brukes til å dokumentere en kodeblokk. De brukes også som flerlinjekommentarer.

Disse docstringene brukes i metodene til en klasse for å beskrive hva en bestemt metode gjør. Og vi kan se metoden docstring ved å bruke hjelpemetoden.

>>> class Car:
...     def __init__(self, color):
...             self.color = color
...
...     def change_color(self, updated_color):
...             """This method changes the color of the car"""
...             self.color = updated_color
...
>>> car = Car('red')
>>> help(car.change_color)
Help on method change_color in module __main__:

change_color(updated_color) method of __main__.Car instance
    This method changes the color of the car

>>>

#34. Hva er dunder eller magiske metoder?

Metodene som har to prefiks- og suffiks-understrekinger kalles dunder eller magiske metoder. De brukes hovedsakelig til å overstyre metodene. Noen av metodene som vi kan overstyre i klasser er __str__, __len__, __setitem__, __getitem__, etc..,

>>> class Car:
...     def __str__(self):
...             return "This is a Car class"
...
>>> car = Car()
>>> print(car)
This is a Car class
>>>

Merk: Det er mange andre metoder du kan overstyre. De kommer godt med når du ønsker å tilpasse koden i dybden. Utforsk dokumentasjonen for mer informasjon.

#35. Hvordan implementerer du arv i Python?

Vi kan sende foreldreklassen til barneklassen som et argument. Og vi kan påkalle init-metoden foreldreklassen i barneklassen.

>>> class Animal:
...     def __init__(self, name):
...             self.name = name
...
>>> class Animal:             e):
...     def __init__(self, name):
...             self.name = name
...
...     def display(self):
...             print(self.name)
>>> class Dog(Animal):        e):ame)
...     def __init__(self, name):
...             super().__init__(name)
...
>>> doggy = Dog('Tommy')
>>> doggy.display()
Tommy
>>>

#36. Hvordan få tilgang til foreldreklassen i barneklassen i Python?

Vi kan bruke super() som refererer til foreldreklassen inne i barneklassen. Og vi kan få tilgang til attributter og metoder med den.

Diverse

#37. Hvordan bruke enkeltlinje- og flerlinjekommentarer i Python?

Vi bruker hash (#) for enkeltlinjekommentarer. Og trippel enkle anførselstegn (««kommentar»«) eller trippel doble anførselstegn («»»kommentar»») for kommentarer med flere linjer.

#38. Hva er et objekt i Python?

Alt i Python er et objekt. Alle datatyper, funksjoner og klasser er objekter.

#39. Hva er forskjellen mellom is og ==?

Operatoren == brukes til å sjekke om to objekter har samme verdi eller ikke. Operatoren is brukes til å sjekke om to objekter refererer til samme minneplassering eller ikke.

>>> a = []
>>> b = []
>>> c = a
>>> a == b
True
>>> a is b
False
>>> a is c
True
>>>

#40. Hva er grunn og dyp kopi?

Grunn kopi: Den lager den nøyaktige kopien som originalen uten å endre referanser til objektene. Nå refererer både kopierte og originale objekter til de samme objektreferansene. Så endring av ett objekt vil påvirke det andre.

Kopimetoden fra kopimodulen brukes for den grunne kopien.

>>> from copy import copy
>>> a = [1, [2, 3]]
>>> b = copy(a)
>>> a[1].append(4)
>>> a
[1, [2, 3, 4]]
>>> b
[1, [2, 3, 4]]

Deep Copy: den kopierer verdiene til det originale objektet rekursivt inn i det nye objektet. Vi må bruke slicing- eller deepcopy-funksjonen fra kopimodulen for dypkopieringen.

>>> from copy import deepcopy
>>> a = [1, [2, 3]]
>>> b = deepcopy(a)
>>> a[1].append(4)
>>> a
[1, [2, 3, 4]]
>>> b
[1, [2, 3]]
>>> b[1].append(5)
>>> a
[1, [2, 3, 4]]
>>> b
[1, [2, 3, 5]]
>>>

#41. Hva er iteratorer?

Iteratorer er objekter i Python som husker deres iterasjonstilstand. Den initialiserer dataene med __iter__-metoden og returnerer neste element ved hjelp av __next__-metoden.

Vi må kalle neste(iterator) for å få det neste elementet fra iteratoren. Og vi kan konvertere en sekvensdatatype til en iterator ved å bruke iters innebygde metode.

>>> a = [1, 2]
>>> iterator = iter(a)
>>> next(iterator)
1
>>> next(iterator)
2
>>> next(iterator)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
StopIteration
>>>

#42. Hva er generatorer?

Generatorer er funksjonene som returnerer en iterator som et generatorobjekt. Den bruker avkastningen til å generere dataene.

>>> def numbers(n):
...     for i in range(1, n + 1):
...             yield i
...
>>> _10 = numbers(10)
>>> next(_10)
1
>>> next(_10)
2
>>> next(_10)
3
>>> next(_10)
4

Konklusjon 👨‍💻

Spørsmål er ikke begrenset, som vi ser i denne artikkelen. Denne artikkelen viser hvordan ulike typer spørsmål kan stilles fra ulike emner i Python. Men det er ikke begrenset til settet med spørsmål som vi har diskutert i denne artikkelen.

En måte å være forberedt på mens du lærer er å spørre deg selv om forskjellige emner. Prøv å lage ulike typer spørsmål fra et konsept. Og svar på dem selv. På denne måten vil du sannsynligvis ikke overraske over spørsmålene i intervjuet. Du kan også sjekke ut den elektroniske Python-kompilatoren for å øve på koden.

Alt godt for ditt kommende Python-intervju! 👍