it-swarm.it

Python domande per l'intervista

Entro due settimane intervisterò per uno stage che prevede la programmazione di Python.

Qualcuno può suggerire quali possibili aree dovrei lucidare? Sto cercando cose comunemente richieste nelle interviste per Python aperture. A parte il fatto che sto già facendo la lingua da oltre un anno, non riesco a percepire ciò che mi possono chiedere.

Come per un'intervista in C o C++, ci sono molte domande che vanno dall'inversione delle stringhe alla creazione di elenchi collegati, ma per un'intervista Python, non ho idea.

Le esperienze e/o i suggerimenti personali sono i benvenuti.

25
Andy

Eccone alcuni facili:

  1. Cosa sono Python e come li useresti?
  2. Come esegui il debug del tuo Python?
  3. Come imposteresti molti progetti in cui ognuno usa versioni diverse di Python e librerie di terze parti?
  4. Segui PEP8 mentre scrivi il tuo codice?
8
Thierry Lam

Che ne dici di qualcosa che coinvolge Python comprensione delle liste ? Per me, quelli erano uno dei grandi punti di forza su C++, dopo aver letto su di loro in Immergiti in Python .

"Scrivi una comprensione della lista che costruisce un elenco dei numeri pari da 1 a 10 (incluso)".
Dove la risposta è simile a questa (notare i valori dell'intervallo per evitare un errore di fencepost):

foo = [x for x in range(1, 11) if (x % 2) == 0]
print foo
[2, 4, 6, 8, 10]

Del resto, se capisci tutti i concetti elencati in Immersione in Python, questo dovrebbe coprire la maggior parte delle funzionalità importanti.

7
Cyclops

È Python passa per riferimento o passa per valore è anche un'ottima domanda.

6
ismail

Domande che mi sono state poste:

  • Descrivi due metodi di meta-programmazione in Python.
  • Cos'è il GIL?
  • Perché è importante il GIL?
  • Perché esiste un'implementazione alternativa di Python chiamato nladen Swallow ?
  • Django, Piloni o Zope? Difendi la tua posizione.
6
Scant Roger

Non ho esperienze del genere, ma ecco alcune ipotesi:

  1. (Immutabilità
  2. Funzioni/classi di prima classe
  3. Chiusure

Questo è qualcosa che python dovrebbe sapere, altrimenti potresti anche assumere un programmatore C per la posizione.

5
Kugel

Vorrei andare lungo l'elenco in questa risposta . Cerca di aggiornare ciò che sai seguendo l'elenco per quanto è possibile. Non preoccuparti se non puoi farcela fino alla fine.

3
Benjamin Bannier

Oltre agli altri link forniti dalle persone. Consiglio anche Hidden Features of Python . Nel caso in cui ti facciano delle domande difficili.

2
grokus

Qual è il tuo senso, cercheranno di verificare se conosci Python, vedere se riesci a fare le cose in Python o provare a programmare (in Python)?

Quelle sono cose molto diverse.

Se vogliono che dimostri di conoscere Python, potrebbero costringerti a fare cose come creare un generatore, quindi farlo senza usare yield. Spiega come funzionano le lezioni. Spiegare l'ordine di risoluzione del metodo C3. E così via.

Se vogliono che tu mostri che puoi fare qualcosa in Python, dovrai essere competente con le strutture di dati di base e avere un elenco di librerie a cui andresti per diversi tipi di attività. Quindi devi sentirti a tuo agio con dizionari, set, array. Allo stesso modo devi conoscere cose come BeautifulSoup per analizzare HTML, essere in grado di parlare di un framework che potrebbe essere usato per lo sviluppo web, ecc. Non devi necessariamente sapere come usare bene queste cose, ma dovresti sapere dove andare, come capire di più ed essere in grado di usarli effettivamente una volta che l'intervistatore ti ha dato cose documentate.

Se vogliono che tu mostri che puoi programmare (in Python), devi conoscere le strutture di dati di base e conoscere i tuoi algoritmi. Questo è molto più vicino alle domande C/C++ che ti verrebbero poste, tranne per il fatto che dovresti utilizzare strutture di dati native per semplificarti la vita.

Per sicurezza, dovresti prepararti in una certa misura a tutti e tre. Ad esempio, leggi http://docs.python.org/tutorial/ e prendi delle note per te stesso. Spero che tu sappia già come programmare. E poi prova alcune attività casuali e forzati a usare le librerie che potresti aver perso. Quindi, ad esempio, leggi alcuni CSV, estrai informazioni a livello di programmazione da una pagina Web, costruisci un piccolo sito Web con un framework, ecc.

2
btilly