Di recente ho avuto un'intervista telefonica con una società. Dopo quell'intervista telefonica, mi è stato detto di completare un breve incarico di programmazione (un piccolo programma; non dovrebbe richiedere più di tre ore).
Procederei con cautela. Valuta la pertinenza della sfida per il lavoro e assicurati che i futuri rimborsi da parte del datore di lavoro rendano utili 3 ore del tuo tempo.
Metto in dubbio il valore di questi tipi di test e preferirei giudicare qualcuno in base ai risultati ottenuti in passato. Un'attività breve predefinita non può dire al datore di lavoro nulla di ciò che puoi fare. Solo ciò che non puoi fare e che può essere rapidamente determinato con alcune domande al telefono.
Il test ha il suo posto. Ponetevi le seguenti domande sul test e rispondete di conseguenza.
- Il test è corretto considerando il tuo attuale livello di carriera?
- Il test ha una risposta corretta chiaramente definita?
- L'intervistatore ha interesse per il tuo potenziale come persona o sta mostrando più interesse per i risultati del test (le agenzie di collocamento sono terribili per questo)?
- Il test rappresenta il tipo di lavoro che ti piacerebbe fare o è una verifica ambigua delle competenze (ovvero test se conosci la sintassi Java).
Sono stato incaricato direttamente di completare l'incarico e di inserire il codice.
Hai appena risposto alla tua domanda.
Ho pianificato immediatamente di lanciarlo su Github, scrivendo una suite di test per esso, usando Travis-CI (integrazione continua gratuita per i repository Github pubblici) per eseguire le suite di test e usando CMake per creare i makefile Linux per Travis-CI.
No, non è quello che ti hanno chiesto di fare.
In questo modo, non solo posso dimostrare di comprendere come usare Git, CMake, Travis-CI e come scrivere i test, ma posso anche semplicemente collegarmi alla pagina Travis-CI in modo che possano vedere l'output dei test. Ho pensato che l'avrebbe reso un po 'più conveniente per l'intervistatore.
Starei attento a dimostrare le abilità troppo presto o troppo tardi nel processo di intervista. Se ritieni di non aver fatto bene nell'intervista e ora stai cercando di compensare, allora non funzionerà. D'altra parte, fare troppo quando non viene chiesto troppo dimostra entusiasmo. Ciò potrebbe comportare una contrazione da parte del datore di lavoro con un'offerta salariale inferiore a quella che ti aspettavi.
Tuttavia, sono un po 'preoccupato che fare tutto questo per un compito relativamente semplice sembrerebbe negativo.
Sì, sembra male. Risolvere la loro sfida con una riga di codice sarà molto più impressionante di un progetto completamente svuotato.
Dalla mia esperienza non è così che vinci il colloquio di lavoro, ma è un modo per perdere il lavoro. Il test del codice è un problema di controllo di qualità. Ogni azienda che utilizza test del codice quando assume persone lo fa, perché in precedenza non utilizzavano test del codice. Hanno avuto una brutta esperienza di qualcuno che scivolava attraverso le fessure del processo di intervista che non avrebbero dovuto.
Prenderanno il tuo codice sorgente e lo passeranno in ufficio. La gente lo commenterà e ciò che non vuoi che sia detto è "Ha fatto questo errore? Ma stava trascorrendo del tempo usando Git, CMake e Travis-CI. Che idiota per aver perso questo errore."
Questo è tutto. Hai perso.
Vogliono sapere che puoi programmare, perché non possono insegnartelo. Git, CMake e Travis-CI possono essere facilmente insegnati.