Scrivo la verità, non consigli e trucchi
Aggiornamento: Seguendo i consigli scritti qui sotto, ho ricevuto offerte da Google, Microsoft, Amazon, Quantcast e Bloomberg.
Questa è una guida completa che contiene tutto quello che devi sapere sul colloquio di codifica. Spiega accuratamente cosa imparare, come imparare e soprattutto come presentare la soluzione durante il colloquio.
Se vuoi superare il colloquio di codifica, hai trovato l’articolo giusto. Dopo aver letto questo potresti essere tentato di cercare altri articoli sullo stesso argomento, perché “Forse troverò altri consigli e trucchi che mi aiuteranno”.
Smetti di cercare consigli e trucchi, questo è ciò che ti tiene lontano dal lavoro dei tuoi sogni.
Non ci sono consigli o trucchi per ottenere quel lavoro. È solo duro lavoro, punto. Quindi, se vuoi davvero schiacciare quel colloquio, vai a fare pratica dopo aver letto questo articolo.
L’articolo è composto da tre parti & tre video e ci vorranno circa 30 minuti per leggerlo.
- Cos’è il colloquio di codifica?
- Come prepararsi al colloquio di codifica?
- Come dare il meglio durante il colloquio di codifica?
Prima di tutto, lasciatemi presentare, in modo che sappiate che sono sicuro di ciò di cui sto parlando.
Mi chiamo Andrei e sono un programmatore competitivo da cinque anni. Ho partecipato alle finali mondiali di Google HashCode, la più grande competizione algoritmica organizzata da Google, e prima ancora ho vinto tre medaglie d’oro alle Olimpiadi di Informatica in Romania. Avendo questa esperienza, ho pubblicato il corso online “Introduction to Algorithms and Data Structures in C++” che ha aiutato più di 8000 studenti da 135 paesi con i loro primi passi nel campo.
Ora sto studiando Computer Science all’University College di Londra e nel frattempo, sto creando un corso per aiutare studenti e giovani professionisti a prepararsi per il colloquio di codifica nelle grandi aziende tecnologiche. Quindi, in questo articolo, voglio condividere la mia esperienza con il colloquio di codifica e dirvi il modo più diretto per superarlo. Potete raggiungermi qui.
Lasciate che vi faccia una domanda: avete mai sognato di lavorare in una grande azienda tecnologica, come Microsoft? Se sì, siate certi che anche la maggior parte di noi lo ha fatto. E siccome c’è una così alta richiesta per poche decine di posti di lavoro, hanno bisogno di un modo per vedere quali candidati sono più preparati.
Prima di essere invitati al colloquio di codifica, è necessario candidarsi per la posizione e avere un CV che brilli tra gli altri. In questo articolo, parlerò del colloquio di codifica vero e proprio e di come ci si può preparare, e non del processo di candidatura per il lavoro.
Per la maggior parte delle aziende tecnologiche, il colloquio di codifica consiste in problemi di Algoritmi &Strutture dati. Pensate a queste come domande di problem-solving, in cui l’intervistatore sta cercando di valutare la vostra capacità di risolvere un problema che non avete mai visto prima. Un colloquio dura circa 45 minuti e vi vengono dati uno o due problemi di codifica. L’intervistatore si aspetta che tu trovi la soluzione più ottimale, la codifichi e spieghi ciò che hai appena codificato.
Infine, avrai la possibilità di fargli alcune domande sulla società o su qualsiasi cosa che ti interessa. Discuteremo esaurientemente tutti questi passi nell’ultima parte di questo articolo.
Come prepararsi al colloquio di codifica?
Voglio essere chiaro con voi fin dall’inizio: non esiste una scorciatoia o un trucco per superare il colloquio. L’unico modo per trovare soluzioni ottimali ai problemi algoritmici è fare pratica, risolvendo quanti più problemi possibili.
In due parole, è un lavoro duro.
Potrebbe non piacerti e iniziare a cercare da qualche altra parte un trucco per capire come risolvere le domande del colloquio, ma non esiste. Pensaci un attimo: se ci fosse un trucco del genere, perché non tutti lo userebbero e passerebbero il colloquio?
Quindi, devi capire che l’unica variabile per passare il colloquio è quanto ti eserciti prima. La tua esperienza, intelligenza e tutto il resto è già fissato. Quindi, il tempo dedicato alla pratica farà la differenza tra i candidati che passano e quelli che non passano.
L’intervista di codifica è una lotta con se stessi, e l’unico modo per vincerla è fare molta pratica.
Il primo passo è sentirsi a proprio agio con un linguaggio di codifica tradizionale, come C/C++, Java o Python. Alcune aziende accettano anche altri linguaggi, e la netta maggioranza si attiene a questi tre. Scegli quello che ti piace di più e attieniti ad esso. Non decidere a metà della preparazione che vuoi cambiare lingua! Per il resto dell’articolo, darò per scontato che hai scelto una lingua e conosci bene la sua sintassi.
Ora, tipicamente il colloquio di codifica è tutto su algoritmi e strutture di dati. Comprendono alcuni argomenti fondamentali che devi comprendere a fondo, e non considerare nemmeno di andare al colloquio senza sentirti a tuo agio con essi.
1) Introduzione
Questa parte inizia il colloquio e dura dai tre ai cinque minuti. L’intervistatore vuole saperne di più su di voi e vi dà la possibilità di presentarvi. In genere, è interessato a quali progetti hai lavorato in precedenza e quale è stato il più impressionante. Ora, questa è la tua occasione per brillare, quindi non sprecarla!
Non cercare di essere lusinghiero. È facile individuare una personalità falsa che cerca di ingannarti. Io e tutti gli altri odiamo queste persone, quindi assicurati di mostrare la tua vera personalità.
Devi sapere in anticipo cosa dirai sul tuo progetto preferito, quindi preparalo prima del colloquio. Ora, la maggior parte delle persone dice solo due brevi frasi, il che non va bene. Quale risposta ti piace di più?
1) “Ho lavorato su un’applicazione web per gestire meglio i pazienti negli ospedali. Ho scritto il backend in Node.js.”
Il modo in cui ti presenti conta davvero
2) “Un progetto che mi è piaciuto molto riguardava la creazione di un’applicazione web per i servizi sanitari nazionali del Regno Unito per aiutarli a gestire meglio i pazienti in ospedale. Faceva parte del curriculum universitario, ci sono voluti due mesi e sono stato il leader di un team di tre persone.
Abbiamo preso il progetto da un’idea di base e lo abbiamo trasformato in una vera applicazione. Ero responsabile della codifica del backend in Node.js e del database in MongoDB. Era la prima applicazione che ho creato per un cliente e non avevo familiarità con le tecnologie web. Il processo di sviluppo è stato iterativo, e abbiamo fatto alcuni errori lungo la strada.
Alla fine, abbiamo superato la consegna con molte caratteristiche, e la mia preferita è che gli utenti possono aggiornare le stanze dell’ospedale, invece di essere hard coded.
Ho imparato molte cose da questo progetto, soprattutto come lavorare in una squadra. Ci sono stati alcuni momenti in cui sono sorti problemi tecnici o di squadra, ma alla fine, tutto è andato bene e abbiamo ottenuto il voto più alto dell’anno!”
Trasforma questa presentazione nel tuo vantaggio! L’intervistatore è veramente interessato a saperne di più su di te, quindi inizia con una concisa introduzione del progetto, spiegando di cosa si tratta. Poi dite qual è stato il vostro contributo (se avete aiutato il team con un’idea intelligente, ditelo!), e cosa avete imparato dal processo di sviluppo. Puoi anche menzionare quale differenza hai fatto per gli utenti.
Dovresti parlare uno-due minuti del tuo progetto.
2) Capire il problema
L’intervistatore ti dirà brevemente il problema che devi risolvere. Ho detto ‘brevemente’ perché non ti darà molti dettagli sui vincoli, sui casi d’angolo o su come ricevi i dati. Fa parte del tuo lavoro chiedere tutto ciò di cui hai bisogno per risolvere il problema. Ripeti l’affermazione ad alta voce per essere sicuro di averla capita correttamente.