Stage in aziende internazionali: come non fallire l'intervista e ottenere l'agognata offerta

Questo articolo è una versione rielaborata e ampliata della mia storia sull'internship presso Google.

Ciao, Habr!

In questo post parlerò di cosa significa fare uno stage in una compagnia internazionale e come prepararsi per i colloqui in modo da ricevere un'offerta.

Perché dovreste ascoltarmi? Non dovreste. Ma negli ultimi due anni ho fatto stage presso Google, Nvidia, Lyft Level5 e Amazon. Durante i colloqui con le aziende lo scorso anno, ho ricevuto 7 offerte: da Amazon, Nvidia, Lyft, Stripe, Twitter, Facebook e Coinbase. Quindi ho un po' di esperienza in questo campo che potrebbe rivelarsi utile.

Stage in aziende internazionali: come non fallire l'intervista e ottenere l'agognata offerta

Su di me

Studente del secondo anno di magistrale «Programmazione e analisi dei dati» della Higher School of Economics di San Pietroburgo. Ho completato il corso di laurea triennale «Matematica applicata e informatica» presso l'Accademia Universitaria, che nel 2018 è stata trasferita alla Higher School of Economics di San Pietroburgo. Durante gli studi nel corso di laurea, ho spesso risolto contest di programmazione competitiva e ho partecipato a hackathon. Poi ho fatto stage presso aziende internazionali.

Tirocinio

Tirocinio: lavoro per studenti da alcuni mesi a un anno. Questi programmi permettono ai datori di lavoro di capire come il tirocinante gestisce i suoi compiti, mentre lo stagista può conoscere una nuova azienda, acquisire esperienza e, naturalmente, guadagnare qualcosa. Se durante il tirocinio lo studente ha svolto un buon lavoro, gli viene offerta una posizione a tempo pieno.

Da quanto si dice, ottenere un lavoro in un'azienda IT estera è più facile dopo un tirocinio, piuttosto che attraverso un colloquio per una posizione a tempo pieno. La maggior parte dei miei amici ha trovato lavoro in Google, Facebook, Microsoft in questo modo.

Come si ottiene un'offerta?

Panoramica del processo

Supponiamo che tu abbia deciso di andare in un altro paese quest'estate per acquisire nuove esperienze, invece di zappare l'orto da tua nonna. Ehi! Non dimenticare di aiutare tua nonna! Allora è ora di mettersi al lavoro.

Un tipico processo di colloquio in un'azienda estera appare come segue:

  1. Invii una richiesta di tirocinio
  2. Risolvi un contest su Hackerrank/TripleByte Quiz
  3. Affronti un colloquio di screening
  4. Dopo ti assegnano il primo colloquio tecnico
  5. Poi il secondo, o magari anche il terzo
  6. Ti chiamano per un colloquio in loco
  7. Ricevi un'offerta , ma non è certo...

Permettimi di approfondire ciascun punto.

Candidatura per un tirocinio

Il capitano suggerisce che, in primo luogo, dovresti compilare la richiesta sul sito dell'azienda. E probabilmente lo sospettavi già. Tuttavia, ciò che né il capitano né tu potevate sapere è che le grandi aziende utilizzano sistemi di referral, attraverso i quali i dipendenti della società raccomandano professionisti del settore — così il candidato si distingue dal flusso infinito di altri desiderosi.

Se non hai amici che lavorano nelle aziende che ti interessano, prova a trovarli attraverso amici che possono farti una presentazione. Se non ci sono nemmeno quelli, apri LinkedIn, trova qualsiasi dipendente dell'azienda e chiedi di inviare il tuo curriculum. Non dirà che sei un ottimo programmatore. E questo è logico! Dopotutto, non ti conosce. Tuttavia, la possibilità di ricevere una risposta sarà comunque maggiore. In caso contrario, invia la richiesta tramite il sito. Ho ricevuto la mia offerta per la compagnia Stripe senza conoscere nessuna persona che ci lavorasse. Ma non rilassarti: posso dire di essere stato fortunato che mi abbiano risposto.

Cerca di non deprimerti troppo quando ricevi una valanga di email con messaggi del tipo «sei fantastico, ma abbiamo scelto altri candidati», o non ricevi risposta del tutto, il che è ancora peggio. Specialmente per te, ho disegnato un funnel. Su 45 candidature ho ottenuto solo 29 risposte. Solo 10 di esse hanno proposto di sostenere un colloquio, mentre le altre contenevano un rifiuto.

Stage in aziende internazionali: come non fallire l'intervista e ottenere l'agognata offerta

Senti quel consiglio che aleggia nell'aria?

Stage in aziende internazionali: come non fallire l'intervista e ottenere l'agognata offerta

Contest su Hackerrank/Quiz di TripleByte

Se il tuo curriculum ha superato il primo screening, entro 1-2 settimane riceverai un'email con il prossimo compito. Probabilmente ti verrà chiesto di risolvere problemi algoritmici su Hackerrank o di fornire risposte al TripleByte Quiz, in cui risponderai a domande riguardanti algoritmi, sviluppo software e architettura di sistemi a basso livello.

Di solito, il contest su Hackerrank è semplice. Spesso consiste in due problemi sugli algoritmi e uno sul parsing dei log. A volte chiedono anche di scrivere un paio di query SQL.

Colloquio di screening

Se l'esame è andato bene, il passo successivo sarà un colloquio di screening, dove discuterai con un reclutatore sui tuoi interessi e sui progetti dell'azienda. Se mostri interesse e la tua esperienza pregressa soddisfa i requisiti, tutto procederà senza intoppi.

Esprimi tutti i tuoi desideri riguardo al progetto. Durante una di queste conversazioni con il reclutatore di Palantir, ho capito che non mi sarebbe interessato lavorare sui loro compiti. Quindi non abbiamo più sprecato tempo l'uno dell'altro.

Se sei arrivato a questo punto, la maggior parte della casualità è già passata! Ma se fallisci ulteriormente, incolpa solo te stesso 😉

Colloqui tecnici

Dopo seguiranno colloqui tecnici, che di solito si svolgono su Skype, Hangouts o Zoom. Controlla in anticipo che tutto funzioni sul tuo computer. Durante il colloquio ci saranno già abbastanza nervi.

Il formato dei colloqui tecnici dipende molto dalla posizione per cui stai sostenendo il colloquio. A parte il primo, che comunque riguarderà la risoluzione di problemi algoritmici. Qui, se sei fortunato, ti chiederanno di scrivere codice in un editor di codice online, tipo coderpad.io. A volte in Google Docs. Ma peggio di questo non ho visto nulla, quindi non c'è motivo di preoccuparsi.

Possono anche farti domande sul design orientato agli oggetti, per vedere quanto sei esperto nella progettazione software e quali schemi di design conosci. Ad esempio, potrebbero chiederti di progettare un semplice negozio online o Twitter. Poiché l'anno scorso ho fatto colloqui per posizioni legate all'apprendimento automatico, durante i colloqui mi sono state poste domande pertinenti: in alcuni casi dovevo rispondere a domande teoriche, in altri risolvere problemi di teorema e in altri ancora progettare un sistema di riconoscimento facciale.

Alla fine dell'intervista ti verrà sicuramente data l'opportunità di fare domande. Ti consiglio di prenderla sul serio, perché attraverso le domande puoi dimostrare il tuo interesse e mostrare la tua competenza in materia. Preparo sempre un elenco di domande. Ecco un esempio di alcune di esse:

  • Com'è organizzato il lavoro su un progetto?
  • Qual è il ruolo dello sviluppatore nel prodotto finale?
  • Qual è stata la sfida più difficile che hai affrontato di recente?
  • Perché hai deciso di lavorare in questa azienda?

Credetemi, gli ultimi due quesiti sono difficili da affrontare per i selezionatori, ma forniscono un'ottima comprensione di cosa accade all'interno dell'azienda. Va notato che non sempre sarete intervistati da qualcuno con cui lavorerete poi. Pertanto, queste domande offrono un'idea generale su ciò che avviene nell'azienda.

In caso di superamento del primo colloquio, vi verrà proposto un secondo. Questo differirà dal primo per l'intervistatore e, di conseguenza, per le attività. Il formato, molto probabilmente, rimarrà lo stesso. Dopo il secondo colloquio, potrebbe esserci anche un terzo. Wow, sei arrivato lontano.

Colloquio in sede

Se fino a questo momento non ti hanno rifiutato, ti aspetta un colloquio onsite, quando il candidato viene invitato per l'intervista presso l'ufficio dell'azienda. Potrebbe anche non esserci… Non tutte le aziende svolgono questo passaggio, ma molte di quelle che lo fanno saranno pronte a coprire il volo e l'alloggio. Non è una bella idea? Fantastico! Io non sono ancora stato a Londra… Ma in alcuni casi potrebbe essere offerto di sostenere questo passaggio via Skype. Ho chiesto a Twitter di fare così, perché c'erano molte scadenze e non c'era tempo per viaggiare su un altro continente.

Il colloquio on-site consiste in diversi colloqui tecnici e uno comportamentale. Durante il colloquio comportamentale, parli con il manager dei tuoi progetti, delle decisioni che hai preso in diverse situazioni e così via. In altre parole, l'intervistatore cerca di comprendere meglio la personalità del candidato e di approfondire la sua esperienza lavorativa.

Bene, ora resta solo l'emozione piacevole :3 I nervi si fanno sentire, ma non puoi fare nulla. Se tutto è andato liscio, non c'è nulla di cui avere paura: l'offerta arriverà. Altrimenti, è triste, ma può capitare. In quante aziende hai fatto domanda? Due? Allora, su cosa contavi?

Come prepararsi?

Riepilogo

Questo è il primo passo. Non leggere nemmeno il resto dell'articolo. Chiudi la scheda e vai a fare un buon curriculum. Sto parlando sul serio. Durante il mio percorso per stage, molte persone mi hanno chiesto di referenziarle in azienda per uno stage o una posizione a tempo pieno. Spesso i curriculum erano mal strutturati. Le aziende rispondono già di rado alle candidature, e i curriculum scadenti tendono a ridurre questa percentuale a zero. Prima o poi scriverò un articolo separato su come strutturare il curriculum, ma nel frattempo ricorda:

  1. Indica l'università e gli anni di studio. È consigliabile aggiungere anche il GPA.
  2. Elimina il superfluo e scrivi risultati concreti.
  3. Rendi il tuo curriculum semplice, ma curato.
  4. Chiedi a qualcuno di controllare il curriculum per eventuali errori in inglese, se hai dei problemi. Non copiare la traduzione di Google Translate.

Leggi questo post e dai un'occhiata anche a Cracking the Coding Interview. Ci sono informazioni anche su questo.

Colloquio di coding

Non abbiamo ancora sostenuto interviste. Ho già accennato a come si svolge l'intero processo, e ora è importante prepararsi bene per i colloqui, per non perdere l'opportunità di trascorrere un'estate piacevole e, possibilmente, utile.

Ci sono risorse come Codeforces, Topcoder e Hackerrank, che ho già menzionato. Su queste piattaforme puoi trovare un gran numero di problemi algoritmici e inviare le loro soluzioni per il controllo automatico. È tutto fantastico, ma non è ciò di cui hai bisogno. Molti problemi su queste risorse richiedono tempo per essere risolti, necessitano di conoscenze avanzate di algoritmi e strutture dati, mentre i problemi degli colloqui di lavoro non sono di solito così complessi e prevedono tempo di 5-20 minuti. Pertanto, per il nostro caso, è molto più adatto un sito come LeetCode, che è stato creato come strumento di preparazione per i colloqui tecnici. Se decidete di risolvere 100-200 problemi di difficoltà diversa, è molto probabile che non avrete problemi durante l'intervista. Altri suggerimenti validi includono Facebook Code Lab, dove puoi scegliere la durata della sessione, ad esempio 60 minuti, e il sistema ti fornirà un set di problemi, per i quali in media non occorre più di un'ora per risolverli.

Ma se sei un nerd che passa la propria gioventù su Codeforces ero uno di loro, allora fantastico. Sono felice per te. Dovresti farcela 😉

Molti consigliano anche di leggere Cracking the Coding Interview. Personalmente, ho letto solo alcune parti di essa. Tuttavia, è importante notare che ho affrontato molte sfide algoritmiche durante i miei anni scolastici. Non hai risolto piccoli problemi? Allora leggi un po' di più.

Inoltre, se nella tua vita non hai affrontato o hai avuto poche interviste tecniche con aziende estere, assicurati di passarne un paio. Ma più ne fai, meglio è. Ti sentirai più sicuro durante l'intervista e sarai meno ansioso. Organizza delle simulazioni di colloqui su Pramp o chiedi a un amico di aiutarti.

Ho fallito i miei primi colloqui proprio perché non avevo questa pratica. Non commettere lo stesso errore. L'ho già fatto per te. Non ringraziarmi.

Colloqui comportamentali

Come ho già accennato, durante un colloquio comportamentale, l'intervistatore cerca di conoscere in dettaglio la tua esperienza e comprendere il tuo carattere. E se fossi un ottimo sviluppatore, ma un egoista selvaggio con cui è impossibile lavorare in team? Pensi che sia sufficiente lavorare con George Hoatzin? Я не знаю, но подозреваю, что сложно. Знаю людей, которые отказались. Вот и интервьюер хочет понять это про вас. Например, могут спросить, в чем заключается ваша слабая сторона. Помимо вопросов такого рода, вас попросят рассказать про проекты, в которых вы играли ключевую роль, про проблемы, с которыми довелось встретиться, и их решения. Иногда такие вопросы задают и в начале технического собеседования. Как готовиться к таким интервью, хорошо написано в одной из глав в Cracking the Coding Interview.

Punti chiave

  • Crea un curriculum adeguato
  • Trova qualcuno che possa referirti
  • Fai domanda ovunque tu possa
  • Esercitati con le domande di coding
  • Condividi il link all'articolo con chi ne ha bisogno

P.S. Gestisco un canale Telegram, dove parlo della mia esperienza con i tirocini, condivido impressioni sui luoghi che visito e esprimo i miei pensieri.

P.P.S. Ho aperto un canale YouTube, dove parlerò di cose utili.

P.P.P.S. Se non hai proprio nulla da fare, puoi guardare questa intervista sul canale ProgBlog

Fonte: habr.com

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster