Abbiamo intervistato avanti e indietro per circa due anni, e l'ho gestito da circa 30 candidati. Ho scritto circa 20 righe di codice che eseguono un'operazione relativamente semplice, ma contiene un sacco di errori. Nessuno di questi sono errori di sintassi. Gli errori vanno da cattiva gestione della memoria, tipi di dati errati, problemi di multithreading, uso improprio delle parole chiave e un paio di errori funzionali che darebbero un risultato indesiderato.
Le persone diventano molto nervose durante questa domanda. È una domanda giusta da chiedere? L'obiettivo è quello di ottenere un'idea del loro livello di comfort con il linguaggio (l'obiettivo C ha alcuni comportamenti molto strani, e la maggior parte dei candidati che ottengono sono relativamente inesperti in ObjC in particolare rispetto ad altre lingue), oltre a vedere la loro capacità di riconoscere logici problemi nel codice straniero altrimenti.
Una volta che un candidato ha effettuato un primo passaggio, spesso indicherò linee specifiche che hanno errori rimanenti su di esse e vedrai quanto tempo ci vuole per ottenere una corretta identificazione e / o correzione da parte loro.
Nella nostra azienda, questo è uno scenario del mondo reale, in quanto i programmatori verrebbero inseriti direttamente in un'app di 100k line e avranno bug da correggere, e abbiamo bisogno di persone che stiano comode lavorando con il codice di altri 6 programmatori.
Tuttavia, oggi, un altro dei nostri intervistatori mi ha detto che odiava questo problema (non capivo bene quale fosse la sua ragione, ammettiamolo). È questo qualcosa che dovrei continuare a chiedere, o dovrei cercare vie alternative?