Hai due approcci che funzionano sia per la risoluzione dei problemi sia per brevi domande tecniche:
-
Il primo è utilizzato dal tuo capo: non fornire alcun aiuto per testare come la persona si comporta in un contesto stressante. È un approccio perfettamente valido e può fornire alcuni suggerimenti sulla persona. Dopo tutto, una volta assunto questa persona, non sarà in grado di ricevere un aiuto costante da tutti i suoi colleghi.
-
Il secondo è fornire suggerimenti e supporto. Il livello di supporto non importa troppo; l'unica cosa che conta è che più aiuti fornisci alla persona, meno devi valutare il suo successo.
Personalmente, credo che dovresti avere abbastanza tempo per essere sicuro che la persona non è in grado di risolvere un problema da sola e far sentire alla persona che non è in grado di risolverlo senza aiuto. Ma poi, puoi fornire un aiuto progressivo finché non dici alla persona la risposta stessa.
Esempio:
‒ Can you tell me how do you create read only properties in C#, i.e. properties with a value which can be initialized only within a constructor and cannot be changed later?
‒ Of course. I just use the keyword readonly
.
‒ Are you sure? Can you explain me the difference between a property and a field?
‒ Hm. A property is... you see... get and set...
‒ Ok. So a field is a variable declared inside a class or a struct and valid within the class/struct scope, while a property is like a field, but also provides a mechanism to read, write or compute a value. Now what about readonly
? Is it used with properties?
‒ I believe that it's used only for fields...
‒ Right. So what about the properties?
‒ They cannot be read only.
‒ Are you sure? What about the properties which have only getters?
‒ They are read only.
‒ Does it mean that their value will always remain the same?
‒ Yes.
‒ No, not really. The fact that you have a property with a getter doesn't mean that its value doesn't change during the lifespan of the instance of the class. If the getter refers to a field which is incremented each time you access the property, the returned value will continuously increase.
‒ Right.
‒ So? Do you have an idea of a way you can implement a property with a value which never changes?
‒ No.
‒ Well, you can use a readonly backing field. Do you know what is a backing field?
[...]
Dare la risposta è una buona idea in tutti i casi. Ci sono stati diversi casi in cui l'intervistato ha commentato la mia risposta in modo interessante, dimostrando che, anche se non era in grado di rispondere alla domanda in un primo momento, sa ancora cose correlate.
Inoltre, semplicemente facendo una domanda senza ulteriore aiuto, non hai troppe informazioni sulla persona, a parte il fatto che lei conosca o non conosca la risposta . Fornire un aiuto progressivo può consentire di vedere come la persona sta pensando a un problema.
Potrebbe anche mostrare altre cose che la persona non conosce. Prendiamo l'esempio sopra: se mi fermassi alla prima risposta, non avrei saputo che la persona non può spiegare la differenza tra un campo e una proprietà o che non sa che cos'è un backing field.
Se la persona risponde immediatamente, va bene. Se ha bisogno di assistenza, non c'è niente di sbagliato in questo. Se finisci per rispondere alla domanda da solo, è un brutto segno e spero che l'intervistato sarà in grado di rispondere agli altri.