JavaRush /Java Blog /Random-IT /Acrobazie in un colloquio tecnico: come sono arrivato a G...

Acrobazie in un colloquio tecnico: come sono arrivato a Google, Microsoft e altro ancora

Pubblicato nel gruppo Random-IT
Traduzione e adattamento dell'articolo Ace Your Technical Interview: What Got Me Into Google, Microsoft and More nella community Startup su Medium. Acrobazie in un colloquio tecnico: come sono arrivato a Google, Microsoft e altro ancora - 1Prima del mio primo colloquio di stage non avevo idea che sarebbero state poste anche domande tecniche. Supponevo che ci sarebbero state solo un mucchio di domande "parlami di te" ad aspettarmi. Tuttavia, non ero adeguatamente preparato neanche per loro. Ho trascorso due ore al centro di orientamento professionale cercando di ottenere qualche prezioso consiglio da tutti, e altre due ore a casa provando le risposte a varie domande. Ma quando sono venuto per il colloquio, l'intervistatore non ha chiesto quali fossero i miei punti di forza e di debolezza. Invece, mi è stato consegnato un segnalino e mi è stato detto di andare al tabellone. E non pensavo nemmeno che avrebbero verificato prima le mie capacità tecniche! Questo mi ha colto di sorpresa. Non sapevo come rispondere correttamente alle domande e poche ore dopo ho ricevuto un’e-mail con un cortese rifiuto. Fortunatamente, dopo questo incidente ho avuto molte interviste di successo. Ho partecipato a cinquanta colloqui tecnici e ho preparato molti dei miei amici. Il mio approccio sembra funzionare abbastanza bene, poiché ha aiutato me e altri ad avere successo nei colloqui presso aziende come Google, Microsoft, Apple, Amazon, ecc. Vorrei aiutare tutti personalmente, ma semplicemente non c'è abbastanza tempo per questo. La cosa migliore che posso fare è condividere una guida passo passo su come superare i colloqui tecnici. Ho imparato cosa si può e cosa non si può fare in tali situazioni attraverso tentativi ed errori. Quindi ecco un elenco di consigli utili da parte mia che ho compilato in diversi anni di pratica.

1. Non lanciarti subito in interviste finte.

Di solito le persone consigliano di fare quante più finte interviste possibili, e hanno ragione. Ma se non sei preparato, un colloquio simulato può essere inefficace, intimidatorio e persino demoralizzante. Posso dirti per esperienza: se intervistavo qualcuno che era completamente impreparato come pratica, alla fine si sentiva demotivato perché “galleggiava” nelle domande e non rispondeva molto bene. Prenditi il ​​tempo per prepararti al meglio e capire in cosa consiste un colloquio tecnico. Ecco un buon esempio di una finta intervista a Google:

2. Abilità comunicative > livello di formazione tecnica

Molte persone si preparano per i colloqui tecnici trascorrendo ore su siti come LeetCode e Hackerrank. Queste sono ottime piattaforme per la pratica. Ma è meglio prendersi un po' di tempo libero prima di sprecare un sacco di ore risolvendo a casaccio i problemi che pensi di dover affrontare in un colloquio. Questo è un approccio inefficace: in un'intervista ti imbatterai in almeno una domanda che non hai mai visto da nessuna parte prima. Alcuni dei miei amici hanno programmatori più forti di me, e spesso sono rimasto sorpreso dal motivo per cui ho superato i test del mio background tecnico mentre loro (a volte) no. La differenza più grande tra noi è probabilmente che ho passato molto tempo a mettere in pratica le mie capacità comunicative. Seriamente: sapere come risolvere i 100 compiti tecnici principali non aiuterà se non puoi spiegare chiaramente la logica della tua soluzione. È molto importante imparare a formulare pensieri. All’inizio tutto questo può sembrare difficile, imbarazzante e innaturale, ma la pratica aiuta. È importante mantenere aggiornato il tuo background tecnico, ma sviluppare le tue capacità comunicative forse è ancora più importante. Se hai poco tempo prima di un colloquio imminente, è meglio concentrarti sulla comunicazione piuttosto che provare a rifare in due giorni il materiale che hai studiato per due anni in informatica. Prima del prossimo colloquio tecnico, prova a imparare questo:

2.1 Imparare a porre domande chiarificatrici

Uno dei principali vantaggi di un colloquio è la possibilità di chiarire la domanda che ti è stata posta. Di solito chi conduce le interviste non fornisce tutte le informazioni, quindi da esse è necessario estrarre ulteriori dettagli. Non puoi risolvere un problema senza comprendere appieno di cosa si tratta! Per esercitarti, puoi rispondere ad alcune domande dei colloqui tecnici e formulare una serie di domande chiarificatrici. Ad esempio, se ti viene chiesto di ordinare un elenco, potresti chiedere:
  • Come ordinare un elenco: in ordine crescente o decrescente?
  • Che tipo di dati contiene l'elenco?
  • Potresti fornire un esempio di come dovrebbero apparire l'input e l'output dei dati per questo tipo di attività?
  • Eccetera.
Potrebbero esserci molte altre domande: questi sono solo alcuni esempi. Assicurati di chiarire varie sfumature: chiedi un esempio di input e output
  • Specificare il tipo di dati
  • Controlla se ci sono restrizioni sull'intervallo di valori
  • Chiedi se devi affrontare casi limite
  • Scopri se puoi utilizzare determinate librerie e funzionalità del linguaggio in cui stai programmando

2.2 Imparare ad esprimere pensieri

Una volta che hai posto tutte le domande chiarificatrici e sai esattamente di cosa hai bisogno per risolvere il problema, è tempo di imparare a comunicare correttamente l'essenza della tua soluzione. Se inizi semplicemente a scrivere codice senza spiegare il motivo per cui lo stai facendo, sarà difficile per l'intervistatore capire se hai ragione o torto. Non riceverai punti per questo, per non parlare del fatto che potresti finire per scrivere la soluzione sbagliata. Quando spieghi la logica alla base della tua decisione lungo il percorso, l'intervistatore può indicarti la giusta direzione se esci un po' fuori rotta. Prima di scrivere qualsiasi codice, prova questo:
  • Dì al tuo interlocutore la tua possibile soluzione: sarai in grado di risolvere il problema "frontalmente" ed è possibile o può essere migliorato in qualche modo?
  • Esamina la tua soluzione passo dopo passo con un esempio per avere un'idea di come dovrebbe funzionare.
  • Dividi la soluzione in più passaggi e scrivi uno pseudocodice o "scheletro" in modo che l'intervistatore comprenda il tuo processo di pensiero
  • Metti alla prova la tua soluzione con diversi casi limite per vedere se hai coperto tutto. Chiedi il parere dell'intervistatore.
Per esercitarti, prendi una domanda di intervista elaborata e prova a dire la risposta corretta (soluzione) a un amico. Se non riesci a trovare un amico, prendi un animale di peluche o qualsiasi altro oggetto ed esercitati con esso.

3. Migliora le tue conoscenze e abilità tecniche

Una volta che hai imparato a comunicare correttamente durante un colloquio, puoi dedicare tutte le tue energie all'aggiornamento delle tue conoscenze tecniche. Assicurati di rispolverare algoritmi e strutture dati. Assicurati di comprendere argomenti chiave come strutture di dati, ordinamento, utilizzo di algoritmi, operatori bit a bit, notazioni Big O, ecc. L'elenco delle cose che devi sapere varia a seconda della posizione per la quale ti candidi.

4. Pratica!

Ora, dopo aver aggiornato le competenze e le conoscenze necessarie, puoi mettere in pratica tutte le tue energie.
Il corso JavaRush contiene numerose attività “puzzle” e interi progetti per la creazione di soluzioni applicative.
Prova non solo a scrivere una soluzione, ma a pensare attraverso i passaggi: poni mentalmente domande chiarificatrici, pensa attraverso la struttura e solo dopo scrivi la soluzione. Questo ti aiuterà a sentirti più sicuro durante il colloquio e la fiducia è re!

5. Cosa fare se ti sei bloccato durante un colloquio?

Ora immaginiamo che tu sia entrato in una vera intervista e all'improvviso ti sia reso conto che la domanda ti aveva lasciato perplesso. Non hai idea di cosa sia necessario fare e di come risolvere il problema. Vuoi semplicemente correre fuori dalla stanza e non tornare più. Capisco: sono stato in situazioni che sogno ancora negli incubi. Ma non preoccuparti: tutte le speranze non sono ancora perdute. Ciò è accaduto più di una volta durante i colloqui, ma di solito si concludevano con un'offerta. È difficile, ti dà sui nervi, ma tutto è possibile. Prenditi una pausa e pensa. Fai un respiro, metti in ordine i tuoi pensieri. Forse avrai un “indizio”. Metti alla prova la tua soluzione con un semplice esempio. Prova a creare una versione semplificata della soluzione a un problema simile, ma più semplice, prestando attenzione alle azioni passo passo. Ad esempio, se devi ordinare un elenco, cosa fai? Trova il numero più piccolo e mettilo all'inizio. Come implementeresti questa soluzione nel codice? Raccontaci una soluzione privata. Se non emerge una soluzione completa, va bene. Dillo all'intervistatore, ma lascialo anche entrare nel filo dei tuoi pensieri. Questa sfida somiglia a quelle che hai incontrato? Sembra che sia necessario utilizzare una struttura dati specifica per risolverlo? Condividi la logica che ti guida. Essere onesti. Se sei sicuro che la domanda che ti è stata posta provenga da un'area di conoscenza che non ti è familiare, comunicalo all'intervistatore. Dì che sei pronto a cercare una soluzione, ma che non hai ancora le competenze necessarie. Una volta mi è stata posta una domanda relativa alla sicurezza della rete. A quel tempo non avevo esperienza in quest'area, di cui ho parlato agli intervistatori. Mi hanno spiegato le nozioni di base necessarie affinché potessi affrontare il compito. Sarai intervistato da persone reali :) Ti capiscono perfettamente, perché loro stessi si sono trovati in situazioni simili. Questi sono tutti i suggerimenti che ho sviluppato in diversi anni di interviste. Hanno aiutato me e i miei amici a entrare nelle migliori aziende. Buona fortuna nella ricerca!
Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION