Buone domande di intervista per uno sviluppatore web Python / TurboGears? [chiuso]

StackOverflow https://stackoverflow.com/questions/2034128

  •  19-09-2019
  •  | 
  •  

Domanda

Se stavate cercando di assumere un web developer che sarebbe in primo luogo lavorare con TurboGears / Python -? Che tipo di domande si dovrebbe chiedere loro

È stato utile?

Soluzione

In aggiunta ai buoni suggerimenti delle altre risposte, qualcosa che mi piace sempre di chiedere (da qualcuno che è un candidato di sviluppare qualsiasi cosa che è legato al web) è: "quando un utente digita sulla www.foo.com barra degli indirizzi e successi del browser ritorno, che cosa succede allora? descrivere in tanto o piccolo dettaglio come si pensa meglio, allora possiamo visualizzare in dettaglio alcune o tutte le parti della risposta".

A parte il quadro sul lato server (s) in uso, questo può dirmi un molto sulla comprensione da parte del candidato di altre tecnologie cruciali che potrebbero finire con l'avere a che fare con: HTTP e l'intero stack TCP / IP di sotto di essa, DNS, le cache di molti e vari tipi (e come a volte può essere un fastidio e che cosa si può, lo sviluppatore, cercare di fare a tale proposito ...), gli aspetti superficie visibile di tecnologie del browser, i cookie, HTML e CSS e forse qualche Javascript, ...

Sì, le tecnologie di uso quotidiano che usiamo, come quadri, si sforzano di astrarre da tutto questo (e aumentare la produttività in tal modo), ma Joel Spolsky di legge di Leaky Astrazioni applica -. essere a conoscenza di livelli dello stack che si sta normalmente astraendo dal reale è fondamentale per la padronanza del mestiere software

A seconda dei dettagli della posizione del candidato del intervistando per, più profonde drill down sarà opportuno in diversi settori. Ad esempio, che descrive (a livello di astrazione ragionevole) come richiesta HTTP otterrebbe (attraverso un server web e macchinari TurboGears, forse per mezzo di WSGI) per il codice dell'applicazione, più o meno come il vostro codice sarebbe studiare la richiesta e preparare una risposta, come la risposta sarebbe confezionato e inviato al browser richiedente, possono essere tutti gli elementi di interesse - a seconda del tipo di responsabilità frontend / UI lo sviluppatore in questione potrebbe avere, più il modo in cui il browser si occuperà di vari aspetti della la risposta (compresi i collegamenti ai fogli di stile, script, immagini, ...) potrebbe anche essere appropriata.

Chiunque può "stipare" di una tecnologia specifica, come un quadro, abbastanza, se sono abbastanza intelligente, a "ace" a "quiz" in stile intervista. Ma chi è in grado di ace un colloquio più aperto, discorsiva come questo, è estremamente probabile di aver davvero imparato e capito molti degli strati del relativo pila di tecnologie e astrazioni - Preferirei mille volte assumere qualcuno con come ad un approfondito, radicati comprensione, anche se non hanno mai usato TurboGears (ma piuttosto, diciamo, Django, Wekrzeug e web.py) [essi saranno in grado di stipare e ottenere i TurboGears-specifici dettagli giù pat in un settimana, top], di qualcuno che è impegnato a memoria una pila di manuali di riferimento TurboGears, ma in realtà non capisco HTTP, i biscotti, il protocollo TCP / IP ... ( che mancanza avrebbe preso, almeno, molti mesi per rimediare).

Altri suggerimenti

Le migliori domande di intervista sono quelli in cui si chiede loro per risolvere i problemi.

Ecco alcuni suggerimenti semi-casuali (dopo la FizzBizz prova )

Python

Dare loro un progetto non banale per implementare più di una settimana nel dominio in cui si sta lavorando. Ho applicato una volta per una società di ricerca e mi hanno chiesto di implementare un sistema di filtraggio collaborativo.

Le zone che di solito sono fonte di confusione sono decoratori, il sistema di tipi, metaclassi, forse iteratori. Si potrebbe chiedere loro qualcosa di queste cose per sondare la loro profondità.

TurboGears

Non riesco a suggerire molto qui, ma li si poteva quiz l'ORM di loro scelta (la costruzione di alcune mapper e query), chiedere un po 'di convalida (ho avuto qualche difficoltà a trovare la convalida condizionale a lavorare con FormEncode). Si potrebbe anche girare un po 'sul modo in cui si erano testare l'applicazione, assicurarsi che scalato, testare la sua prestazione e distribuirlo.

Gli chiedo di:

  • introspezione
  • progettazione Model-View-Control
  • Documentare strumenti

Se lui sa molto su questo, sicuramente sapere molto su altre questioni.

Non quiz. Prendi un po 'di codice reale (possibilmente rotto) da voi VCS. Portarli a dirvi come avrebbero risolvere il problema / aggiungere una funzione.

Se possono, chiedere loro di portare alcuni esempi del lavoro precedente.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top