Quale sarebbe un progetto di grandi dimensioni che include più file e > 1000 linee mostra a un datore di lavoro che alcuni singoli file e un paio di centinaia di linee non possono essere acquisiti?
Quale sarebbe un progetto di grandi dimensioni che include più file e > 1000 linee mostra a un datore di lavoro che alcuni singoli file e un paio di centinaia di linee non possono essere acquisiti?
Motivo 1: è il tuo codice o qualcosa che hai copiato?
(Per lo più) chiunque può copiare un breve pezzo di codice da Internet, esplorarlo e darlo come proprio durante un'intervista pur essendo in grado di spiegare il codice stesso.
Fare lo stesso con una base di codice di grandi dimensioni sarebbe difficile, dal momento che sarebbe facilmente riconoscibile e ricercabile come uno dei progetti open source.
Motivo 2: hai capacità per lavorare su un grande codebase?
Quando fornisci un collegamento a una base di codice di grandi dimensioni sotto il controllo della versione, dimostri che hai effettivamente le competenze necessarie per scrivere una base di codice di grandi dimensioni.
Quando dai una piccola porzione di codice, stai mostrando che sei riuscito a scrivere una piccola porzione di codice. Saresti in grado di lavorare su un codebase con migliaia di righe?
Motivo 3: hai studiato / verificato il tuo codice abbastanza?
Per un intervistatore, sarebbe facile trovare un problema in un grande codebase¹ e intervistarti su di esso. L'intervistatore potrebbe chiedere se sei a conoscenza di uno di questi bug, perché non l'hai risolto e come pensi di essere in grado di risolverlo ora.
Inoltre, durante un'intervista, l'intervistatore può scegliere come target qualsiasi parte più piccola della base di codice, e chiederti di spiegarlo in dettaglio, per vedere quanto bene conosci il tuo codice.
¹ Stranamente, non è raro vedere piccoli pezzi di codice (meno di 100 righe) con uno o più bug in cui il codice non sta facendo quello che ci si aspetta che faccia. Questo vale anche per i candidati che stanno scrivendo che hanno +10 anni di esperienza professionale e si qualificano come altamente abili.
Fornisce loro una bella porzione di codice che possono rubare senza pagarti quando ti scaricano.
Penso che sia probabile che questo potenziale datore di lavoro desideri vedere come strutturare un'applicazione più ampia e sta cercando se hai fatto uso di buoni principi di progettazione.
Dovresti contattare cortesemente questo potenziale datore di lavoro e chiedere a loro stessi.
Scrivendo piccoli pezzi di codice e unendoli insieme per formare un insieme coerente e più grande, sono due set di abilità completamente diversi.
Chiedere pezzi di codice più grandi su più file è un modo per testare questi ultimi. Cioè il datore di lavoro non è semplicemente interessato alle tue "capacità di codifica" ma alle tue capacità di architetto.
mostrerebbe che è probabile che il codice venga consegnato a un concorrente se gli viene chiesto di produrre un campione di codice durante un colloquio di lavoro.
Principalmente a causa della verbosità delle lingue. Dopo tutte le 1000 righe di codice in Java / C # specialmente se sovradimensionate non permettono di stipare molte funzionalità all'interno. Quindi deve solo chiedere qualcosa di abbastanza grande da avere almeno qualche idea su come si lavora o si pensa.
In risposta ai commenti su # di errori per KLOC, beh, sembra che sottovalutiamo tutti la prevalenza di bug latenti nel software commerciale :) Nei sistemi mission-critical (come il controllo del traffico aereo), 1 errore per 100 linee di codice sono considerate medie [ link . Per lo stesso collegamento, il software utilizzato sulla navetta spaziale Challenger aveva circa 1 errore per 10K linee; quel codice costa $ 1.000 per linea da sviluppare.
Leggi altre domande sui tag code-quality coding-style coding-standards interview