Quindi presentiamo un semplice esercizio di codifica ai nuovi candidati con alcuni requisiti ben definiti. Occasionalmente riceviamo soluzioni che in realtà non risolvono il problema, ma sono troppo ingegnerizzate per risolvere un problema percepito, spesso al di fuori dei limiti dell'esercizio.
Ora la mia domanda è, è un segnale di avvertimento?
EDIT: parecchie discussioni si basano sul fatto che il test è difettoso, il che è un punto giusto. Come ho descritto in un commento, la premessa di base del test è mostrare come è possibile leggere i dati dal file in modo sensato (e sarete stupiti dalla varietà di approcci che vediamo), e come abbinare il elementi prima di calcolare la latenza tra gli aggiornamenti. Ora che tutto funzioni, dobbiamo fare alcune ipotesi sui dati, e cerchiamo queste ipotesi, e dichiariamo esplicitamente che vogliamo vedere l'approccio che prendete (incluso l'approccio OO ecc.) Tutto questo in due ore periodo di tempo.
IMHO, quando intervistavo era l'esercizio più completo che mi capitava di incontrare.
Lo scenario particolare su cui sto riflettendo è dove un candidato, piuttosto che leggere dal file, accetta input "di rete" in un'applicazione multi-thread, che chiaramente non è nel campo di applicazione.