A volte le domande per il colloquio sono difficili, indipendentemente dal fatto che l'intervistatore intenda che siano o meno. Può scendere a una scelta se utilizzare il tempo di intervista limitato per codificare una soluzione brutta, inefficiente, forza bruta, o passare il tempo a capire ogni aspetto del problema con l'intervistatore.
Ad esempio, Problema 91 a Project Euler può essere risolto con una soluzione di forza bruta non così difficile da calcolare ogni possibile triangolo, scrivendo un test isRightTriangle () e facendo scoppiare tutti i triangoli che superano il test in un set. Ma le due coppie di coordinate X / Y rendono una soluzione O (x ^ 4) con un valore costante elevato. Io e un mio amico abbiamo appena trovato una soluzione molto più elegante ed efficiente, ma noi due ci abbiamo dedicato 3 ore e abbiamo disegnato decine di diagrammi, testato più formule, esaminato più approcci, ecc.
Non tutte le domande dell'intervista sono corrette. Inoltre, ciò che è facile per una persona può essere difficile per un'altra. Se qualcuno lotta con una domanda, saresti più impressionato da una brutta forza bruta che funziona? O un'eccellente comprensione dei problemi e in-road verso una soluzione elegante, ma nessuna soluzione codificata? C'è una regola come dopo 20 minuti dovresti iniziare a scrivere il codice, non importa quale?