Pythonintervjufrågor
Av Aaron Cao · Uppdaterad
Förvänta dig tre lager: språkmekanik som mutability, generators och decorators; runtime-beteende som GIL; och tillämpad kodning på datastrukturer. De flesta avslag beror på tunna förklaringar av varför, inte på fel syntax.
Frågorna som fortsätter att komma tillbaka
Att gå igenom en lista med tvåhundra Pythonfrågor känns produktivt men ändrar sällan utfallet av en intervju. Det här avsnittet begränsar fältet till den handfull som återkommer i telefonscreeningar och tekniska rundor, och visar vad ett starkt svar innehåller. Ett litet antal språkfunktioner bär det mesta av signalen.
- Muterbara standardargument. Varför ackumulerar
def f(x=[])värden mellan anrop? Standardvärden beräknas en gång, när funktionen definieras, inte vid varje anrop. - Generators kontra lists. När slår
yieldatt bygga en list? När sekvensen är stor, eller när du kan sluta läsa tidigt. - Decorators. Vad returnerar en decorator egentligen, och varför behöver wrappern
functools.wraps? - GIL. Varför skalar CPU-bundna trådar inte i CPython, och vad tar du till istället?
- Shallow kontra deep copy. Vad går sönder när en nästlad struktur kopieras med en slice?
- Identity kontra equality. Varför att testa
ismot små heltal i ett shell ger dig ett missvisande resultat.
Vad som skiljer ett godkänt från ett underkänt
Två kandidater kan ge samma korrekta definition av GIL och bara en går vidare. Skillnaden ligger vanligtvis i den andra meningen.
En backend-ingenjör som intervjuade för en L5-roll hos en stor publik molnleverantör fick frågan varför deras tjänst saktade ner under belastning. De nämnde GIL, och fortsatte sedan: hot path var JSON-parsning, så trådar var fel verktyg, och att flytta det steget till en process pool återställde throughput. Att nämna begränsningen gav delpoäng. Att koppla den till ett beslut vann rundan.
Bygg varje svar i tre slag: vad funktionen gör, varför den finns, och när du skulle undvika den. Det tredje slaget är det som de flesta kandidater hoppar över, och det är det som visar omdöme. Andra sidor om coding-, behavioral- och systemdesignrundor är grupperade under intervjutyper.
Hur du förbereder dig utan att plugga utantill
Att läsa ett svar och att säga ett svar är olika färdigheter, och bara en av dem testas. Repetera högt, mot klockan, med samma ord du skulle använda under samtalet.
- Skriv ditt svar på varje återkommande fråga som tre meningar, säg det sedan utan att titta.
- Välj två funktioner du använder dagligen och förbered en ärlig begränsning för var och en. Att kunna kritisera dina egna verktyg läses som erfarenhet.
- Ta med en riktig felsökningshistoria där Pythons beteende överraskade dig och du tog reda på varför.
- Öva den tillämpade halvan separat: dictionaries, sets, sortering med en key function, och stränghantering täcker en stor del av screeningarna.
Om du vill ha en tidsbestämd runda mot en AI-intervjuare innan det skarpa läget finns den på sidan mock interview.
Var en live-assistent passar, och var den inte gör det
SubcueAI är en nativ skrivbordsapp för macOS och Windows. Den fångar båda sidor av samtalet, transkriberar i realtid och visar en skiss på ett flytande overlay som stannar lokalt på din dator, så den ansluter inte till mötet som deltagare eller bot. För en Pythonrunda är den användbara outputen en strukturprompt, inte ett färdigt svar: detaljerna måste vara dina egna, eftersom följdfrågan kommer att handla om koden du precis beskrev.
De ärliga begränsningarna spelar större roll än förmågan. Om du delar din skärm delas allt som finns på den skärmen. Om rundan körs på en övervakad bedömningsplattform, eller på en företagshanterad enhet, är en assistent utanför scope. Installation och behörigheter beskrivs på sidan tutorial.