Domande da colloquio Python

Di Aaron Cao · Aggiornato il

Aspettati tre livelli: meccaniche del linguaggio come mutability, generator e decorator; comportamento a runtime come il GIL; e programmazione applicata sulle strutture dati. La maggior parte dei rifiuti deriva da spiegazioni superficiali del perché, non da una sintassi sbagliata.

Le domande che continuano a ripresentarsi

Ripassare una lista di duecento domande Python sembra produttivo ma raramente cambia l'esito di un colloquio. Questa sezione restringe il campo alla manciata che ricorre tra phone screen e round tecnici, e mostra cosa contiene una risposta forte. Un piccolo numero di feature del linguaggio porta la maggior parte del segnale.

  • Argomenti di default mutabili. Perché def f(x=[]) accumula valori tra una chiamata e l'altra? I default vengono valutati una sola volta, quando la funzione viene definita, non a ogni chiamata.
  • Generator contro list. Quando yield batte la costruzione di una list? Quando la sequenza è grande, o quando potresti smettere di leggere in anticipo.
  • Decorator. Cosa restituisce davvero un decorator, e perché il wrapper ha bisogno di functools.wraps?
  • Il GIL. Perché i thread CPU-bound non scalano in CPython, e a cosa ricorri al loro posto?
  • Copia superficiale contro copia profonda. Cosa si rompe quando una struttura annidata viene copiata con uno slice?
  • Identity contro equality. Perché testare is su piccoli interi in una shell dà un risultato fuorviante.

Cosa separa chi passa da chi non passa

Due candidati possono dare la stessa definizione corretta del GIL e solo uno va avanti. La differenza sta di solito nella seconda frase.

A un backend engineer che faceva un colloquio per un ruolo L5 presso un grande fornitore cloud pubblico è stato chiesto perché il loro servizio rallentasse sotto carico. Ha nominato il GIL, poi ha continuato: l'hot path era il parsing JSON, quindi i thread erano lo strumento sbagliato, e spostare quella fase su un process pool ha ripristinato il throughput. Nominare il vincolo ha guadagnato punti parziali. Collegarlo a una decisione ha vinto il round.

Costruisci ogni risposta in tre battute: cosa fa la feature, perché esiste, e quando la eviteresti. La terza battuta è quella che la maggior parte dei candidati salta, ed è quella che mostra giudizio. Altre pagine su round di coding, behavioral e system design sono raggruppate sotto tipi di colloquio.

Come prepararsi senza memorizzare

Leggere una risposta e dire una risposta sono competenze diverse, e solo una delle due viene testata. Fai le prove ad alta voce, contro un cronometro, con le stesse parole che useresti durante la chiamata.

  • Scrivi la tua risposta a ogni domanda ricorrente in tre frasi, poi dilla senza guardare.
  • Scegli due feature che usi ogni giorno e prepara un limite onesto per ciascuna. Saper criticare i propri strumenti si legge come esperienza.
  • Porta una storia di debugging reale in cui il comportamento di Python ti ha sorpreso e hai scoperto perché.
  • Esercita la metà applicata separatamente: dictionary, set, ordinamento con una key function e gestione delle stringhe coprono gran parte degli screening.

Se vuoi una sessione a tempo contro un intervistatore AI prima di quella vera, la trovi sulla pagina mock interview.

Dove un assistente dal vivo è utile, e dove no

SubcueAI è un'app desktop nativa per macOS e Windows. Cattura entrambi i lati della chiamata, trascrive in tempo reale, e mostra una scaletta su un overlay flottante che resta locale sulla tua macchina, quindi non entra nella riunione come partecipante o bot. Per un round Python, l'output utile è un prompt di struttura, non una risposta finita: i dettagli devono essere tuoi, perché la domanda di follow-up riguarderà il codice che hai appena descritto.

I limiti onesti contano più della capacità. Se condividi lo schermo, tutto ciò che è su quello schermo viene condiviso. Se il round si svolge su una piattaforma di valutazione con proctoring, o su un dispositivo gestito dall'azienda, un assistente è fuori ambito. Configurazione e permessi sono trattati nella pagina tutorial.

FAQ

I colloqui Python chiedono ancora del GIL?

Sì, e di solito come domanda proxy. Chi intervista vuole sapere se sai distinguere un carico di lavoro CPU-bound da uno I/O-bound e scegliere di conseguenza thread, processi o async. Una definizione da sola risponde solo a metà.

Quanta trivia su Python dovrei memorizzare?

Meno di quanto pensi. Chi intervista raramente premia il ricordo di sintassi usata di rado; premia il ragionamento corretto su comportamenti che sai spiegare. Preferisci la profondità sulle feature che usi davvero all'ampiezza su feature che non usi.

I problemi di coding fanno parte di un colloquio Python?

Di solito sì. La maggior parte degli screening abbina domande di discussione a un piccolo problema applicato, spesso su dictionary, set, ordinamento o elaborazione di stringhe. Spiegare a voce il tuo approccio prima di digitare è previsto, e il silenzio viene valutato male.

Dovrei ammettere quando non conosco una risposta?

Sì, poi mostra come la scopriresti. Dire che non hai mai usato una feature e descrivere come ne verificheresti il comportamento è una risposta più forte di un'ipotesi sicura di sé che chi intervista può correggere immediatamente.

Posso usare un assistente AI durante un colloquio di coding Python?

Dipende interamente dal formato e dalle regole che hai accettato. Su una piattaforma con proctoring, uno schermo condiviso, o un dispositivo gestito dall'azienda, è fuori ambito. Per i round di pratica che gestisci tu stesso, non esiste tale vincolo.

Domande correlate

← Altro su Tipi di colloquio