un programmatore dovrebbe avere buone capacità di debug?
Sì. Detto questo, ti chiederei di considerare la metodologia nell'intervista (cioè quiz / test-style) meno che perfetta (ok, imperfetta) in quanto molte persone trovano il codice su carta un'esperienza strana e non familiare.
Poiché il debug è un processo , non la risposta o il risultato (ad esempio l'errore ), suggerirei di utilizzare un dialogo o una discussione interattivi come mezzo migliore per valutare le capacità di debug dei candidati. Mentre la maggior parte delle persone utilizza un sistema informale di debug ad hoc, i buoni candidati avranno un modello simile in generale, di porre domande per comprendere il sistema, i presupposti e i requisiti, quindi isolare il problema (spesso dividere e conquistare) e confrontare metodicamente il codice delle esigenze, e valuta prevede input / output, piuttosto che una voglia o no cambiare un sacco di cose contemporaneamente casaccio finché non funziona.
Esprimo anche riserve sui problemi di puzzle durante le interviste, in particolare in forma scritta, come se il candidato non avesse le giuste ipotesi di quadro di riferimento (il trucco), il puzzle potrebbe essere irrisolvibile per loro. Vale a dire Molti puzzle di interviste soffrono di avere un unico percorso corretto, mentre la vita è complicata e i pensieri più creativi sono quelli che adottano approcci sorprendentemente nuovi per risolvere un problema che potrebbe non funzionare con un determinato puzzle precotto, con una soluzione prevista . È come aspettarsi che tutti i trombettisti suonino jazz. Questo può essere gestito ponendo la domanda come discussione interattiva non conflittuale (la pressione può confondere la creatività). Ancora una volta, per me, la risposta è secondaria nel vedere un buon processo di pensiero espresso. Probabilmente dovrai chiedere loro di pensare ad alta voce, ma questo tende ad essere più produttivo nella mia esperienza.
Non ho letto o valutato il motivo per cui i programmi di Zeller falliscono , ma posso consigliare il debug di Agans come una lettura breve e veloce che può aiutare a consolidare il processo di debug ad hoc in uno sforzo più strutturato, concreto e organizzato, che può aiutare a essere più efficiente nel debug. Stampa anche una copia e appendila al tuo cubicolo o soluzione alternativa, il poster delle regole di debug , è un promemoria perfetto per quei brutti giorni in cui nulla sembra andare per il verso giusto. Ho pochi brutti giorni e dedico meno tempo al debug attivo (leggi: grattarmi la testa in confusione ) cercando di seguirli nello spirito se non nella lettera.