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é:
- Il tempo totale per l'intero test è ~ 2 ore e spendono già da 1h a 1h30 nella prima parte (capacità di codifica)
- 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:
- Non dipendere da nessuna lingua in particolare
- Si può rispondere a persone intelligenti
- Non si può rispondere alle persone che conoscono a memoria tutti i libri
- Ci vorranno in media 40 minuti per risolvere
- Non produrrà enormi quantità di pagine come risposta