Olemme laatineet yleisimmin kysytyt Python-haastattelukysymykset ja vastaukset, jotka auttavat sinua valmistautumaan Pythonin haastattelukysymyksiin, joita haastattelija saattaa kysyä haastattelusi aikana. Tässä luettelossa Python Scripting -haastattelukysymyksiä olemme käsitelleet kaikki yleisesti kysytyt Python-ohjelmointikysymykset ja edistyneet ohjelmakysymykset yksityiskohtaisilla vastauksilla, joiden avulla voit helposti puhdistaa työhaastattelun.
Olemme käsitelleet melkein kaikki tärkeät Python-haastattelukysymykset aloittelijoille ja kokeneille ehdokkaille auttamaan sinua valmistautumaan tulevaan haastatteluun. Tämä yksityiskohtainen opas Python-koodauksen haastattelukysymyksistä auttaa sinua purkamaan työhaastattelusi Python-ohjelmointia varten.
Lataa Python-haastattelukysymykset PDF
Pythonin perushaastattelukysymykset ja vastaukset aloittelijoille ja kokeneille
1) Mikä on Python? Mitkä ovat Pythonin käytön edut?
Python on ohjelmointikieli, joka sisältää objekteja, moduuleja, säikeitä, poikkeuksia ja automaattisen muistinhallinnan. Pythonien etuna on, että se on yksinkertainen ja helppo, kannettava, laajennettavissa, sisäänrakennettu tietorakenne ja se on avoin lähdekoodi.
2) Mikä on PEP 8?
PEP 8 on koodauskäytäntö, joukko suosituksia Python-koodin kirjoittamisesta helpommin luettavaksi.
3) Mitä on peittaus ja peittaus?
Pickle-moduuli hyväksyy minkä tahansa Python-objektin ja muuntaa sen merkkijonoesitykseksi ja kaataa sen tiedostoon dump-toimintoa käyttämällä, tätä prosessia kutsutaan peittaukseksi. Vaikka alkuperäisten Python-objektien hakemista tallennetusta merkkijonon esityksestä kutsutaan poimimattomaksi.
4) Kuinka Pythonia tulkitaan?
Python-kieli on tulkittu kieli. Python-ohjelma toimii suoraan lähdekoodista. Se muuntaa ohjelmoijan kirjoittaman lähdekoodin välikieleksi, joka käännetään jälleen suoritettavaksi konekieleksi.
5) Kuinka muistia hallitaan Pythonissa?
- Python-muistia hallinnoi Pythonin yksityinen kasatila. Kaikki Python-objektit ja tietorakenteet sijaitsevat yksityisessä kasassa. Ohjelmoijalla ei ole pääsyä tähän yksityiseen kasaan, ja tulkki huolehtii tästä Pythonin yksityisestä kasasta.
- Python-kasa-alueen varaaminen Python-objekteille tapahtuu Python-muistinhallinnan avulla. Ydinsovellusliittymä antaa pääsyn joihinkin työkaluihin ohjelmoijalle koodata.
- Pythonilla on myös sisäänrakennettu roskien keräilijä, joka kierrättää kaiken käyttämättömän muistin ja vapauttaa muistin ja asettaa sen kasaan.
6) Mitkä ovat työkalut, jotka auttavat löytämään vikoja tai suorittamaan staattisen analyysin?
PyChecker on staattinen analyysityökalu, joka tunnistaa virheet Python-lähdekoodissa ja varoittaa virheen tyylistä ja monimutkaisuudesta. Pylint on toinen työkalu, joka tarkistaa, täyttääkö moduuli koodausstandardin.
7) Mitä ovat Python-sisustajat?
Python-sisustaja on erityinen muutos, jonka teemme Python-syntaksissa muuttaaksemme toimintoja helposti.
8) Mikä on ero luettelon ja kaksinkertaisen välillä?
Ero luettelon ja tuplan välillä on se, että luettelo on muutettavissa, kun taas dupleksi ei ole. Tuple voidaan hajauttaa esimerkiksi avainsanana sanakirjoille.
9) Kuinka argumentit välitetään arvojen tai viitteiden mukaan?
Kaikki Pythonissa on objekti, ja kaikki muuttujat sisältävät viittauksia kohteisiin. Referenssiarvot ovat funktioiden mukaisia; tämän seurauksena et voi muuttaa viitteiden arvoa. Voit kuitenkin muuttaa objekteja, jos ne ovat muutettavissa.
10) Mikä on Dict- ja List-ymmärtäminen?
Ne ovat syntaksirakenteita sanakirjan tai luettelon luomisen helpottamiseksi olemassa olevan iteroitavan perusteella.
11) Mitä sisäänrakennettua tyyppiä python tarjoaa?
On muunneltavia ja muuttamattomia Python-tyyppejä, jotka ovat sisäänrakennettuja tyyppejä
- Lista
- Sarjat
- Sanakirjat
Muuttamattomat sisäänrakennetut tyypit
- Jouset
- Tuples
- Numerot
12) Mikä on nimitila Pythonissa?
Pythonissa jokaisella käyttöönotetulla nimellä on paikka, jossa se elää ja johon voi tarttua. Tätä kutsutaan nimitilaksi. Se on kuin laatikko, jossa muuttujan nimi yhdistetään sijoitettuun objektiin. Aina kun muuttujaa haetaan, tätä ruutua etsitään vastaavan objektin saamiseksi.
13) Mikä on lambda Pythonissa?
Se on yksittäinen lauseke anonyymi toiminto, jota käytetään usein sisäisenä funktiona.
14) Miksi pythonin lambda-muodoilla ei ole lauseita?
Pythonissa olevassa lambda-muodossa ei ole käskyjä, koska sitä käytetään uuden funktio-objektin luomiseen ja sitten palauttamiseen ajon aikana.
15) Mitä pass on Pythonissa?
Pass tarkoittaa, ei-toiminta-Python-käskyä, tai toisin sanoen se on paikanhaltija yhdistetyssä lausekkeessa, jossa pitäisi olla tyhjä jäljellä eikä siihen tarvitse kirjoittaa mitään.
16) Mitkä ovat iteraattorit Pythonissa?
Pythonissa iteraattoreita käytetään iteroimaan joukko elementtejä, kontteja, kuten luettelo.
17) Mikä on Pythonissa unittestia?
Yksikkötestauskehys Pythonissa tunnetaan unittest. Se tukee asetusten jakamista, automaatiotestausta, testien sammutuskoodia, testien yhdistämistä kokoelmiin jne.
18) Mitä viipalointi Pythonissa on?
Mekanismia kohteiden alueen valitsemiseksi sekvenssityypeistä, kuten luettelo, sekoitus, merkkijonot jne., Kutsutaan viipaloinniksi.
19) Mitä generaattorit ovat Pythonissa?
Tapa iteraattoreiden toteuttamiseksi tunnetaan generaattoreina. Se on normaali funktio paitsi että se tuottaa lausekkeen funktiossa.
20) Mikä on docstring Pythonissa?
Python-dokumentointijono tunnetaan nimellä docstring, se on tapa dokumentoida Python-funktiot, moduulit ja luokat.
21) Kuinka voit kopioida objektin Pythonissa?
Voit kopioida objektin Pythonissa kokeilemalla copy.copy () tai copy.deepcopy () yleistapauksessa. Et voi kopioida kaikkia esineitä, mutta suurinta osaa niistä.
22) Mikä on negatiivinen indeksi Pythonissa?
Python-sekvenssit voivat olla positiivisten ja negatiivisten lukujen indeksi. Positiivisen indeksin osalta 0 on ensimmäinen indeksi, 1 on toinen indeksi ja niin edelleen. Negatiivisen indeksin osalta (-1) on viimeinen indeksi ja (-2) on toinen viimeinen indeksi ja niin edelleen.
23) Kuinka voit muuntaa numeron merkkijonoksi?
Muunna numero merkkijonoksi käyttämällä sisäänrakennettua funktiota str (). Jos haluat oktaali- tai heksadesimaalin esityksen, käytä sisäänrakennettua funktiota okt () tai heksadesimaalia ().
24) Mikä on ero Xrange-arvon ja alueen välillä?
Xrange palauttaa xrange-objektin, kun range palauttaa luettelon, ja käyttää samaa muistia riippumatta alueen koosta.
25) Mikä moduuli ja paketti ovat Pythonissa?
Pythonissa moduuli on tapa rakentaa ohjelma. Jokainen Python-ohjelmatiedosto on moduuli, joka tuo muita moduuleja, kuten esineitä ja määritteitä.
Python-ohjelman kansio on moduulipaketti. Paketissa voi olla moduuleja tai alikansioita.
26) Mainitse mitkä ovat paikallisten ja globaalien muuttujien säännöt Pythonissa?
Paikalliset muuttujat : Jos muuttujalle annetaan uusi arvo missä tahansa funktion rungossa, sen oletetaan olevan paikallinen.
Globaalit muuttujat : Muuttujat, joihin viitataan vain funktion sisällä, ovat implisiittisesti globaaleja.
27) Kuinka voit jakaa globaaleja muuttujia moduulien välillä?
Jos haluat jakaa globaalit muuttujat moduulien välillä yhdessä ohjelmassa, luo erityinen moduuli. Tuo määritysmoduuli sovelluksen kaikkiin moduuleihin. Moduuli on saatavana globaalina muuttujana kaikissa moduuleissa.
28) Selitä, miten voit tehdä Python-komentosarjan suoritettavaksi Unixiin?
Jotta Python Script voidaan suorittaa suoritettavaksi Unixissa, sinun on tehtävä kaksi asiaa,
- Komentosarjatiedoston tilan on oltava suoritettava ja
- ensimmäisen rivin on aloitettava numerolla # (#! / usr / local / bin / python)
29) Selitä kuinka poistaa tiedosto Pythonissa?
Käyttämällä komentoa os.remove (tiedostonimi) tai os.unlink (tiedostonimi)
30) Selitä, miten voit luoda satunnaislukuja Pythonissa?
Satunnaislukujen luomiseksi Pythonissa sinun on tuotava komento nimellä
tuoda satunnaisesti
random.random ()
Tämä palauttaa satunnaisen liukuluvun alueella [0,1).
31) Selitä, miten pääset Pythonissa kirjoitettuun moduuliin C: ltä?
Voit käyttää Pythonissa kirjoitettua moduulia C: stä seuraavalla tavalla,
Moduuli = = PyImport_ImportModule ("
32) Mainitse // -operaattorin käyttö Pythonissa?
Se on Floor Divisionoperator, jota käytetään jakamaan kaksi operandia tuloksena osamääränä, joka näyttää vain numerot ennen desimaalipistettä. Esimerkiksi 10 // 5 = 2 ja 10,0 // 5,0 = 2,0.
33) Mainitseko viisi etua Pythonin käytöstä?
- Python koostuu valtavasta vakiokirjastosta useimmille Internet-alustoille, kuten sähköposti, HTML jne.
- Python ei vaadi nimenomaista muistinhallintaa, koska tulkki varaa itse muistin uusille muuttujille ja vapauttaa ne automaattisesti
- Tarjoa helpon luettavuuden hakasulkeiden käytön ansiosta
- Helppo oppia aloittelijoille
- Sisäänrakennettu tietotyyppi säästää ohjelmointiaikaa ja vaivaa muuttujien ilmoittamisesta
34) Mainitse split-toiminnon käyttö Pythonissa ?
Jakotoiminnon käyttö Pythonissa on, että se hajottaa merkkijonon lyhyemmiksi merkkijonoiksi määritetyn erottimen avulla. Se antaa luettelon kaikista merkkijonossa olevista sanoista.
35) Selitä, mikä on pullo ja sen edut ?
Pullo on web-mikrokehys Pythonille, joka perustuu "Werkzeug, Jinja 2 ja hyviin aikomuksiin" BSD-lisenssiin. Werkzeug ja jingja ovat kaksi sen riippuvuuksia.
Pullo on osa mikrokehystä. Tämä tarkoittaa, että sillä on vain vähän tai ei lainkaan riippuvuuksia ulkoisista kirjastoista. Se tekee kehyksestä kevyen, vaikka päivitysriippuvuus on pieni ja tietoturvavirheitä vähemmän.
36) Mainitse, mikä on ero Djangon, Pyramidin ja Pullon välillä?
Pullo on "mikrokehys", joka on rakennettu ensisijaisesti pieneen sovellukseen, jonka vaatimukset ovat yksinkertaisemmat. Pullossa ei tarvitse käyttää ulkoisia kirjastoja. Pullo on käyttövalmis.
Pyramid on rakennettu suurempiin sovelluksiin. Se tarjoaa joustavuutta ja antaa kehittäjän käyttää oikeita työkaluja projektissaan. Kehittäjä voi valita tietokannan, URL-rakenteen, mallityylin ja paljon muuta. Pyramidi on raskas konfiguroitavissa.
Pyramidin tavoin Djangoa voidaan käyttää myös suurempiin sovelluksiin. Se sisältää ORM: n.
37) Mainitse mikä on Flask-WTF ja mitkä ovat niiden ominaisuudet?
Flask-WTF tarjoaa yksinkertaisen integroinnin WTFormien kanssa. Flask WTF: n ominaisuuksia ovat
- Integrointi wt-muotoihin
- Suojattu muoto csrf-tunnuksella
- Globaali csrf-suojaus
- Kansainvälistymisen integraatio
- Recaptcha-tuki
- Tiedostolataus, joka toimii pulloiden latausten kanssa
38) Selitä, mikä on yleinen tapa, jolla Flask-komentosarja toimii?
Pullokoodin yleinen tapa toimia on
- Joko sen pitäisi olla sovelluksesi tuontipolku
- Tai polku Python-tiedostoon
39) Selitä, miten voit käyttää istuntoja pullossa?
Istunnon avulla voit periaatteessa muistaa tietoja pyynnöstä toiseen. Pullossa se käyttää allekirjoitettua evästettä, jotta käyttäjä voi tarkastella istunnon sisältöä ja muokata sitä. Käyttäjä voi muokata istuntoa, jos vain sillä on salainen avain Flask.secret_key.
40) Onko pullo MVC-malli ja jos kyllä, anna esimerkki MVC-mallista sovelluksellesi?
Pohjimmiltaan pullo on minimalistinen kehys, joka käyttäytyy samalla tavalla kuin MVC-kehys. Joten MVC sopii täydellisesti pulloon, ja MVC: n mallia tarkastelemme seuraavassa esimerkissä
pullosta tuontipullo app = pullo (_nimi_) @ app.route ("/") Hei hei (): palauta "Hello World" app.run (debug = True) |
Tässä koodissa
pullosta tuontipullo app = pullo (_nimi_)
@ app.route ("/") Hei hei (): palauta "Hello World"
app.run (debug = True) |
41) Selitä tietokantayhteys Python-pullossa?
Pullo tukee tietokantakäyttöisiä sovelluksia (RDBS). Tällainen järjestelmä edellyttää skeeman luomista, joka vaatii shema.sql-tiedoston piippaamisen sqlite3-komentoon. Joten sinun on asennettava sqlite3-komento tietokannan luomiseksi tai aloittamiseksi pullossa.
Pullon avulla voidaan pyytää tietokantaa kolmella tavalla
- before_request (): Heille soitetaan ennen pyyntöä, eivätkä ne anna argumentteja
- after_request (): Heidät kutsutaan pyynnön jälkeen ja välitetään vastaus, joka lähetetään asiakkaalle
- teardown_request (): Heidät kutsutaan tilanteessa, kun poikkeus nostetaan, eikä vastausta taata. Heidät kutsutaan vastauksen muodostamisen jälkeen. He eivät saa muokata pyyntöä, ja niiden arvot ohitetaan.
42) Sinulla on useita Memcache-palvelimia, joissa on Python, jossa yksi memcacher-palvelimista epäonnistuu ja sillä on tietosi, yrittääkö se koskaan saada avaintietoja yhdestä epäonnistuneesta palvelimesta?
Epäonnistuneen palvelimen tietoja ei poisteta, mutta automaattisen vian varalta on säännös, jonka voit määrittää useille solmuille. Epäonnistuminen voidaan laukaista minkä tahansa pistorasian tai Memcached-palvelintason virheiden aikana eikä tavallisten asiakasvirheiden aikana, kuten olemassa olevan avaimen lisääminen jne.
43) Selitä, kuinka voit minimoida Memcached-palvelinkatkokset Python-kehityksessäsi?
- Kun yksi esiintymä epäonnistuu, useat niistä menevät alas, tämä lisää tietokantapalvelimelle suurempaa kuormaa, kun kadonneet tiedot ladataan uudelleen, kun asiakas pyytää. Tämän välttämiseksi, jos koodisi on kirjoitettu välimuistileimojen minimoimiseksi, se jättää vähäisen vaikutuksen
- Toinen tapa on tuoda Memcached-ilmentymä uudelle koneelle käyttämällä kadonneiden koneiden IP-osoitetta
- Koodi on toinen vaihtoehto palvelinkatkosten minimoimiseksi, koska se antaa sinulle vapauden muuttaa Memcached-palvelinluetteloa mahdollisimman vähän työtä
- Aikakatkaisuarvon asettaminen on toinen vaihtoehto, jonka jotkut Memcached-asiakkaat käyttävät Memcached-palvelimen seisokkeja varten. Kun Memcached-palvelimesi menee alas, asiakas yrittää lähettää pyyntöä, kunnes aikakatkaisuraja on saavutettu
44) Selitä, mikä on Dogpile-vaikutus? Kuinka voit estää tämän vaikutuksen?
Dogpile-efektillä tarkoitetaan tapahtumaa, kun välimuisti vanhenee, ja verkkosivustoihin kohdistuu asiakkaan samanaikaisesti tekemiä useita pyyntöjä. Tämä vaikutus voidaan estää käyttämällä semaforilukkoa. Tässä järjestelmässä, kun arvo vanhenee, ensimmäinen prosessi hankkii lukituksen ja alkaa tuottaa uutta arvoa.
45) Selitä, kuinka Memcachedia ei tule käyttää Python-projektissasi?
- Muistiin tallennettu yleinen väärinkäyttö on käyttää sitä tietovarastona eikä välimuistina
- Älä koskaan käytä Memcachedia ainoana tietolähteenä, jota tarvitset sovelluksesi suorittamiseen. Tietojen tulisi aina olla saatavilla myös toisesta lähteestä
- Memcached on vain avain- tai arvosäilö, eikä se voi suorittaa tietojen kyselyä tai toistaa sisältöä tietojen purkamiseksi
- Memcached ei tarjoa minkäänlaista suojausta salauksessa tai todennuksessa