2009-11-11 13 views
8

Recentemente ho fatto domanda per la posizione di sviluppatore e il direttore mi ha chiesto di inviare alcuni esempi di codice.Esempi di codice per intervista

Come devo affrontare questo? Una volta ho inviato un campione di codice che ho scritto a me stesso a una società e non sono tornato indietro. Questa volta, voglio essere preparato e inviare campioni appropriati. Voglio sapere che cosa dovrei mandarli, creare un sito web di esempio/codificarlo e inviare un collegamento insieme a file di codice o creare un progetto di esempio o qualche altro approccio. Non riesco a inviare il codice che ho scritto per il mio precedente e attuale datore di lavoro, quindi non sono sicuro di cosa inviare. Hanno chiesto C#, HTML, CSS, JS, SProcs, trigger di campioni, quindi ho pensato: sarebbe bello creare un progetto che includesse tutto quanto sopra e inviarlo a loro, o dovrei inviare singoli campioni?

risposta

8

Hai praticamente risposto alla tua stessa domanda. Perché non creare un progetto che includa tutto quanto sopra? I piccoli giochi sono divertenti da scrivere e puoi dimostrare molte conoscenze creandone uno. Anche i siti web sono buoni, se vuoi dimostrare cose come una buona progettazione dell'interfaccia utente e una conoscenza dinamica di HTML e scripting.

È essenzialmente il tuo portafoglio dimostrare ciò di cui sei capace, quindi applica tutta la tua conoscenza. Questo include non solo ciò che il programma fa ma anche come lo fa - buona scelta di algoritmi, architettura codice, la corretta denominazione delle variabili e commenti appropriati, ecc

È possibile scrivere il codice che è di altrettanto alta qualità di quello che creeresti per un datore di lavoro - più alto, infatti, dal momento che hai il controllo completo sulla metodologia e gli standard utilizzati. Installa uno dei sistemi di controllo di revisione gratuiti (git, mercurial, subversion ecc.), Usa bugzilla per tenere traccia dei bug e dell'elenco di cose da fare e scrivi una suite completa di test unitari. Produrre documentazione professionale e schermate dimostrative.

Sì, è un sacco di lavoro. Ma posso garantirti che se un progetto del genere avesse oltrepassato il mio tavolo di assunzione, ti avrei fatto un'intervista in un minuto caldo.

+0

Se uno di quei progetti incrociava il mio tavolo delle assunzioni, pensavo subito che era il lavoro di un plagiatore, e non avrebbero avuto l'ora del giorno. Un avvertimento, però; nel caso di software open source, questo non si applica, e questo genere di cose giustificherebbe un ulteriore approfondimento. Insieme alla verifica che il candidato era l'autore, ovviamente (ma quel genere di cose è più semplice con l'open source). –

+1

Costruire un sito Web personale utilizzando le competenze che si desidera commercializzare ai potenziali datori di lavoro è un buon consiglio. Quindi riferire il potenziale datore di lavoro ad esso come riferimento. Raccomando anche di concentrarsi sul fare alcune cose molto bene rispetto a mostrare tutto quello che sai. Puoi facilmente dimostrare di non essere un plagirista incoraggiando i potenziali datori di lavoro a intervistarti sugli aspetti tecnici e di progettazione del sito. – NealB

+0

@NealB: non è una cattiva idea, e sono sicuro che funzionerebbe bene. Non penso che dovrebbe essere un requisito rigoroso, però. –

0

Prenderei qualcosa su cui ho già lavorato, preferibilmente a tre livelli, inclusi sproc, ecc., E tralasciamo qualsiasi cosa di natura sensibile. Se è qualcosa che hai scritto tu stesso, ti sentirai a tuo agio nel discuterlo e in grado di mostrare l'ampiezza delle tue conoscenze - questo è ciò che ti atterrerà nel lavoro. Un progetto completo mostra che sai come tutto si combina. Ancora una cosa: se ti chiedono dove andare a cercare buoni esempi di codice, non dire subito Google: digli che guardi nella loro base di codice ;-)

7

Sono stato in questa situazione prima e di solito mi rifiuto di inviare loro i campioni di codice.

Il motivo è questo: quando lavoro per un datore di lavoro, sto lavorando professionalmente e il datore di lavoro ha diritti esclusivi su tutto il codice. Se ho provato a copiare il codice e inviarlo a un altro potenziale datore di lavoro, sono a rischio di un grave furto di proprietà intellettuale. D'altra parte, se creo del codice per mio uso personale, è per definizione codice amatoriale (anche se prodotto da un professionista), e non ha lo stesso livello di stenografia della gestione del progetto, stenografia del test, ecc., E quindi non è affatto rappresentativo delle mie capacità professionali di codifica.

Le aziende che chiedono questo stanno effettivamente chiedendo l'impossibile. Trovo che sia meglio indicarlo a loro.

+1

Direi anche "no" – gbn

+1

Non è proprio quello che ha chiesto l'OP, però, ha chiesto che tipo di codice sarebbe appropriato. Chiaramente sarebbe una violazione della NDA standard inviare un potenziale datore di lavoro a qualsiasi codice appartenente a qualcun altro, ma non c'è nulla che ti impedisca di scrivere qualcosa di nuovo. – Ether

+2

... e non c'è niente che ti impedisca di scrivere qualcosa di nuovo di alta qualità. – Ether

0

Quando intervengo le persone, spesso chiedo loro di darmi un codice. Di solito ho chiesto loro di scrivermi di fronte a me, ma immagino che il mio punto sarebbe lo stesso se lo mando a me. Non guardo cosa hanno fatto (la funzionalità) ma come l'hanno fatto.Quali principi di progettazione guidano il loro lavoro. Quanto è ordinato il codice. Qual è la loro strategia di test. Hanno usato alcuni modelli e se così sono utilizzati in un modo ben pensato. A seconda della lingua cercherò aspetti specifici della lingua. In C++ mi piacerebbe vederli essere in grado di utilizzare elegantemente la specializzazione dei modelli (ad esempio per tratti/politiche) in C# 3.0 Cercherei l'uso propede delle espressioni lambda, generici, LINQ Cercherei sia l'uso corretto così come un uso eccessivo.

Spero che ti ha dato un'idea di che tipo di controllo si potrebbe essere messo attraverso

0

Oltre a ciò che si invia loro (un progetto, un sito web), vi consiglio anche di dare qualche pensiero su ciò che si vuole comunicare con esso e dare una introduzione scritta al campione: perché pensi che sia un pezzo di codice interessante? Cosa mostra? Di quali pezzi sei fiero? Quali sono state le sfide?
Dovrebbero essere in grado di capirlo da soli, ma non c'è nulla di male nell'aiutare le persone a vedere quello che vuoi che loro vedano ...