Qual è una buona domanda per misurare la capacità del candidato di astrarre? [chiuso]

5

Fa parte del mio lavoro intervistare nuovi candidati e mi è venuto in mente un test che misuri le capacità di codifica dei candidati. Tuttavia non ho potuto (ancora) fornire una buona domanda per misurare la capacità del candidato di occuparsi di astrazione.

In precedenza avevo la seguente domanda nel mio test:

Suppose a tree structure where each node stores an integer value. Draw the simplest Class Diagram using UML that represents the domain model described.

Quindi chiederei:

Now change the model on question above to represent a leaf (i.e. a node that has no children).

Alla fine, dopo diverse interviste, mi sono reso conto che quelle due domande non mi davano alcun indizio se quel candidato conoscesse l'astrazione. Alcune persone conoscevano la risposta ma durante l'intervista mi hanno mostrato che in realtà non hanno la minima idea quando si tratta di astrarre argomenti più complessi.

Non posso davvero avere una domanda complessa molto profonda in questo test perché:

  1. Il tempo totale per l'intero test è ~ 2 ore e spendono già da 1h a 1h30 nella prima parte (capacità di codifica)
  2. Un buon candidato potrebbe fallire in una specifica domanda complessa e questo non proverebbe in realtà che non possono affatto astrarre

Dopo aver letto questo articolo mi sono incuriosito quando ha detto :

Inventing questions that force candidates to understand pointers without using C isn’t too hard. Nearly any question that forces candidates to invent a data structure (e.g., a hashtable, an AVL tree, or the like) will test how they handle indirection, the idea that having a thing is different from having a pointer to that thing. So I’ve picked a question that forces candidates to design a data structure. And, sure enough, I see candidates who have a lot of programming experience, but who don’t “get it”, completely bomb out in my interview.

Per come la vedo io, inventare una struttura dati è un buon modo per misurare le abilità di astrazione.

Quindi la mia domanda è: qualcuno conosce una buona domanda (o una serie di piccole domande) che potrebbe misurare le abilità di astrazione in un test?

Sto cercando questo tipo di domande che:

  1. Non dipendere da nessuna lingua in particolare
  2. Si può rispondere a persone intelligenti
  3. Non si può rispondere alle persone che conoscono a memoria tutti i libri
  4. Ci vorranno in media 40 minuti per risolvere
  5. Non produrrà enormi quantità di pagine come risposta
posta Alex 16.04.2011 - 00:33
fonte

1 risposta

4

A rischio di esporre una delle mie preziose domande di intervista, sono sempre tornato su esperienze interessanti prese direttamente dai precedenti lavori. Ad esempio, una domanda che ho trovato utile è quella di chiedere ai candidati su come creare un file system che è resistente alla corruzione del file system a causa della perdita di energia. Questo perché, per un po ', è quello su cui stavo lavorando, quindi sono in grado di giudicare approcci e idee e fornire informazioni aggiuntive. E ne avranno bisogno, perché per la maggior parte, presento il problema più o meno come lo descrivo qui. Questa domanda ha alcuni attributi desiderabili rispetto all'intervista:

  • È neutrale alla lingua. Non sto chiedendo loro di programmare per un particolare ambiente, sto chiedendo le idee dietro il problema.
  • È al di fuori dell'area di comfort della maggior parte della gente. Ciò li costringe a pensare a come funziona un file system. Perché un file system ha problemi di corruzione con improvvise perdite di energia? Cosa si può fare per risolvere il problema? Un candidato che non è in grado di farmi buone domande e ottenere maggiori informazioni probabilmente non è il candidato giusto per me.
  • Trovare una soluzione ragionevole per la maggior parte delle persone implicherà il ragionamento per analogia. La maggior parte delle persone che giungono a una soluzione ragionevole qui pensano in termini di database e raggiungono un approccio che coinvolge le transazioni, allo stesso modo in cui avrebbero combattuto la perdita di dati in un database. Questo è un buon approccio e qualcuno che pensa lungo queste linee mostra un metodo flessibile di pensare ai problemi di calcolo. Ci sono state altre linee di successo per far avanzare le persone, ma, di nuovo, di solito richiede alle persone di dimostrare di aver preso le tecniche di successo da altri domini e di applicarle trasversalmente. Voglio quel tipo di persone!
  • È facilmente estendibile. Puoi andare abbastanza lontano nella tana del coniglio qui, espandendo la domanda per occupare un sacco di tempo aggiuntivo. Puoi persino guidarli in domande di programmazione da qui (chiedi a qualcuno di scrivere una cache del file system in un'intervista, è divertente!) Senza allungare troppo la tua immaginazione.
  • Per me, perché l'ho fatto professionalmente, è facile giudicare i risultati.

Non ho mai avuto paura di gettare un problema del mondo reale alle persone in un'intervista. A volte la gente sarà completamente sconcertata da esso e avrà difficoltà a iniziare. Per la maggior parte, non è qualcuno che voglio nella mia squadra. Un buon candidato prenderà le discussioni nude che stai dando loro, farà domande, ragionerà sulla loro strada e assemblerà un approccio. Di solito è abbastanza facile ottenere molte informazioni sulle abilità di astrazione delle persone usando una domanda come questa.

    
risposta data 16.04.2011 - 00:50
fonte

Leggi altre domande sui tag