Hai due approcci che funzionano sia per la risoluzione dei problemi sia per brevi domande tecniche:
Il primo è usato dal tuo capo: non fornire alcun aiuto per testare il comportamento della persona in un contesto stressante. È un approccio perfettamente valido e può dare alcuni suggerimenti sulla persona. Dopotutto, una volta assunta questa persona, non sarà in grado di ricevere un aiuto costante da tutti i suoi colleghi.
Il secondo è quello di fornire suggerimenti e supporto. Il livello di supporto non ha importanza; l'unica cosa che conta è che più aiuto fornisci alla persona, meno devi valutare il suo successo.
Personalmente, credo che dovresti impiegare abbastanza tempo per essere sicuro che la persona non sia in grado di risolvere un problema da sola e per far sentire la persona che non è in grado di risolverlo senza aiuto. Ma poi, puoi fornire un aiuto progressivo fino a quando non dici alla persona la risposta stessa.
Esempio:
- Puoi dirmi come si creano proprietà di sola lettura in C #, ovvero proprietà con un valore che può essere inizializzato solo all'interno di un costruttore e non può essere modificato in un secondo momento?
- Ovviamente. Uso solo la parola chiave readonly
.
- Sei sicuro? Puoi spiegarmi la differenza tra una proprietà e un campo?
- Hm. Una proprietà è ... vedi ... ottieni e imposta ...
- Ok. Quindi un campo è una variabile dichiarata all'interno di una classe o di una struttura e valida nell'ambito della classe / struttura, mentre una proprietà è come un campo, ma fornisce anche un meccanismo per leggere, scrivere o calcolare un valore. E adesso readonly
? È usato con proprietà?
- Credo che sia usato solo per i campi ...
- Giusto. E le proprietà?
- Non possono essere letti solo.
- Sei sicuro? Che dire delle proprietà che hanno solo getter?
- Sono di sola lettura.
- Significa che il loro valore rimarrà sempre lo stesso?
- Sì.
- No, non proprio. Il fatto che tu abbia una proprietà con un getter non significa che il suo valore non cambi durante la durata dell'istanza della classe. Se il getter si riferisce a un campo che viene incrementato ogni volta che si accede alla proprietà, il valore restituito aumenterà continuamente.
- Giusto.
- Così? Hai un'idea di come puoi implementare una proprietà con un valore che non cambia mai?
- No.
- Bene, puoi usare un campo di supporto di sola lettura. Sai cos'è un 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 primo luogo, sapeva ancora cose correlate.
Inoltre, ponendo semplicemente una domanda senza ulteriore aiuto, non si hanno troppe informazioni sulla persona, a parte il fatto che lei conosce o non conosce 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. Prendi 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 cosa sia un campo di supporto.
Se la persona risponde immediatamente, va bene. Se ha bisogno di assistenza, non c'è niente di sbagliato in questo. Se finisci per rispondere tu stesso alla domanda, è un brutto segno e speriamo che l'intervistato sia in grado di rispondere agli altri.