È una buona idea portare il codice stampato o il codice su una USB a un colloquio? In tal caso, che tipo di codice dovrei portare. Dovrei evitare grandi progetti e mostrare solo piccoli frammenti che mostrano le mie capacità?
Piuttosto non . Lo farei solo se richiesto esplicitamente, e ovviamente non puoi portare codice che sia in alcun modo riservato, che di solito si applica a tutto ciò che hai scritto nel tuo precedente lavoro, quindi sei sostanzialmente limitato al codice che hai creato nel tuo tempo libero. (La maggior parte degli intervistatori ti farebbe immediatamente scortare alla porta se verrai con un codice confidenziale dal tuo attuale datore di lavoro ...)
Ad ogni modo, come intervistatore, preferirei vederti il codice scrivi durante l'intervista, quindi posso essere sicuro che tu sei colui che ha le competenze . È troppo facile avere dei buoni amici per aiutarti a scrivere un pezzo di codice più impressionante e memorizzare le spiegazioni.
Penso che sia una grande idea! È un peccato che le recensioni dei codici non vengano fatte più frequentemente in quanto è uno dei pochi modi per riconoscere i buoni programmatori (tranne che in realtà averli codice qualcosa). Guardando il codice di qualcuno si capisce subito quanto sia buono un programmatore solo perché quanto è "pulito" il loro codice.
Se intervistassi guarderei due cose che probabilmente sarebbero buone da includere nel codice che hai inserito
a) La qualità di qualche implementazione / metodo / algoritmo. Mostra un codice che hai trovato particolarmente elegante
b) L'architettura generale di un programma più grande. In che modo il programmatore ha gestito le dipendenze, può spiegare le decisioni progettuali che ha preso
L'obiettivo non è quello di passare attraverso tutto il codice, quindi non importa quanto tempo sia effettivamente il codice che porti, ma ciò che hai scelto di evidenziare.
Una variazione su questo è fornire all'intervistatore l'URL del repository per un progetto open source a cui hai dato un contributo importante.
No.
A meno che non sia programmato di fornire una presentazione di durata ragionevole nell'intervista, il tipo di codice che hai il tempo di mostrare e che hanno il tempo di apprezzare; non può essere rappresentativo delle tue capacità, indipendentemente da dove ti trovi nella tua carriera.
Se vogliono vedere la prova che sei uno sviluppatore di software maturo, allora non si troverà nella dimensione del programma che puoi effettivamente esaminare nella sezione AOB di un'intervista.
Se vogliono che tu dimostri che puoi programmare a tutti, avranno un test appropriato o ti faranno fare qualcosa di piccolo come una lista collegata sul posto. Se si porta avanti l'implementazione di una lista collegata su una chiavetta USB, non hanno idea di quanto sia stata copiata da un libro; se ci sono voluti 10 minuti o due settimane; o se dovessi chiedere a StackOverflow cos'è un puntatore.
Inoltre, cosa mostreresti? Il codice pulito e ben scritto che è facilmente comprensibile è noioso. I tuoi intervistatori non siederanno lì meravigliandosi di quanto chiaramente possano cogliere l'intento del tuo frammento, si staranno chiedendo perché consideri il gioiello della tua corona. D'altra parte, immagina di aver inventato qualcosa di intelligente come Dispositivo di Duff e volevi dimostrarlo. Probabilmente gli intervistatori ti considerano un nemico della leggibilità.
Il codice che mostri dovrebbe essere generalmente abbastanza piccolo da essere discusso entro 5 minuti e il codice non deve occupare più di 2 pagine stampate. Anche se è solo un metodo che hai scritto per analizzare i numeri di telefono da una rubrica, è utile.
Se vuoi portare il design. Non portare il codice. Più che vedere la pulizia, l'intervistatore inizierà a segnalare gli errori. Ci saranno certamente (molti) errori (a cui non hai pensato) se il progetto è un progetto di scuola superiore. E se è un codice aziendale, è illegale portare il codice protetto da copyright e mostrarlo ad altre persone.
Mostrare il codice che hai già scritto potrebbe non avere molto peso se non rispondi alle domande poste dall'intervistatore. E se non lo porti, allora anche non ci sono punti. Quindi, perché preoccuparsi.
Sì!
Any fool can write code that a computer can understand, it takes a great programmer to write code that a human can understand.
Solo per questo motivo dovresti mostrare
Se hai un pezzo di codice che è particolarmente interessante, allora portalo con tutti i mezzi (supponendo, ovviamente, che non sia protetto dalla proprietà intellettuale). Ma non forzarlo nell'intervistatore . Se è interessato a guardare il tuo codice, ti chiederà se hai qualcosa da mostrare.
Siate pronti a spiegare perché è interessante, e meglio, cosa fareste diversamente in futuro.
Se hai fatto uno sviluppo open source (commerciale o personale), penso che sarebbe una grande idea. Ho inviato frammenti di codice insieme ai materiali di candidatura per il lavoro che attualmente ho, quindi mi azzarderei a indovinare che per me andava bene. Assicurati di rispettare la riservatezza / copyright e dare l'attribuzione ad altri che sono stati coinvolti (se si trattasse di un progetto collaborativo).
Leggi altre domande sui tag source-code interview