Come ottenere uno stage presso Google

Una settimana fa ne abbiamo parlato i nostri programmi educativi , dove i commenti ci hanno sottolineato l'importanza degli stage e dell'esperienza pratica. È impossibile non essere d'accordo con questo, poiché la conoscenza teorica deve essere consolidata dalla pratica. Con questo post apriamo una serie di articoli sugli stage estivi per studenti: come ci arrivano i ragazzi, cosa ci fanno e perché è bello.

Nel primo articolo ti dirò come superare con successo tutte le fasi dei colloqui e ottenere uno stage presso Google.

Come ottenere uno stage presso Google

Qualche parola su di te

Sono uno studente del 1° anno del master presso il campus HSE di San Pietroburgo; ho conseguito una laurea in machine learning presso l'Università Accademica. Durante i miei studi universitari sono stato attivamente coinvolto nella programmazione sportiva e ho anche partecipato a vari hackathon. Puoi leggere di quest'ultimo qui, qui и qui.

A proposito del tirocinio

Per prima cosa voglio parlarvi un po' di come si presenta uno stage presso Google dall'interno.

Ogni stagista che arriva a Google viene assegnato a un team. Potrebbe trattarsi di un team che sviluppa un'infrastruttura interna di cui le persone esterne all'azienda non hanno mai sentito parlare o di un prodotto utilizzato da milioni di persone in tutto il mondo. Tali prodotti possono essere i famosi YouTube, Google Docs e altri. Poiché dozzine o addirittura centinaia di sviluppatori sono coinvolti nello sviluppo di questi progetti, finirai per far parte di un team specializzato in una parte più ristretta di essi. Ad esempio, nell'estate del 2018, ho lavorato su Google Docs, aggiungendo nuove funzionalità per lavorare con le tabelle.

Dato che sei uno stagista presso l'azienda, hai un manager chiamato host. Questo è un normale tempo pieno che sviluppa prodotti da solo. Se non sai qualcosa, non riesci a risolverlo o riscontri problemi, dovresti contattarlo. In genere, vengono programmati incontri individuali settimanali in cui è possibile discutere la situazione attuale del progetto o parlare di qualcosa di completamente estraneo. Inoltre, l'host è una di quelle persone che valuterà il lavoro che hai svolto durante lo stage. Verrà inoltre valutato da un secondo revisore aggiuntivo. E, naturalmente, sono interessati al tuo successo.

Google ti instillerà, ma non è detto, la buona abitudine di scrivere un documento di progettazione prima di fare qualsiasi cosa. Per chi non lo sapesse, un documento di progettazione è un documento che delinea l'essenza del problema esistente, nonché una descrizione tecnica dettagliata della sua soluzione. Un documento di progettazione può essere scritto per un intero prodotto o solo per una nuova funzionalità. Dopo aver letto tale documentazione è possibile comprendere lo scopo per cui è stato concepito il prodotto e come è stato implementato. Inoltre spesso nei commenti puoi vedere dialoghi tra ingegneri che discutono diversi modi per implementare alcune parti del progetto. Ciò fornisce una buona comprensione dello scopo dietro ogni decisione.

Ciò che rende speciale questo stage è la possibilità di utilizzare alcuni degli straordinari strumenti di sviluppo interno di cui Google dispone in abbondanza. Avendo lavorato con loro e parlato con molte persone che hanno lavorato in precedenza presso Amazon, Nvidia e altre rinomate aziende tecnologiche, posso concludere che questi strumenti hanno un'alta probabilità di essere i migliori strumenti che tu abbia mai incontrato nella tua vita. Ad esempio, uno strumento chiamato Google Code Search ti consente non solo di visualizzare l'intera base di codice, la cronologia delle modifiche a ciascuna riga di codice, ma ti dà anche la possibilità di navigare nel codice a cui siamo abituati nei moderni ambienti di sviluppo come come Intellij Idea. E per questo ti basta un browser! Lo svantaggio associato a questa stessa funzionalità è che ti mancheranno gli stessi strumenti al di fuori di Google.

Per quanto riguarda le chicche, l'azienda ha uffici fantastici, buon cibo, una palestra, una buona assicurazione e altre chicche. Lascio qui solo un paio di foto dall'ufficio di New York:

Come ottenere uno stage presso Google
Come ottenere uno stage presso Google
Come ottenere uno stage presso Google

Come ottenere un'offerta?

panoramica

Ora è il momento di parlare di qualcosa di più serio: come ottenere uno stage?

Qui non parleremo di Google, ma di come ciò avvenga nel caso generale. Scriverò di seguito sulle funzionalità del processo di selezione dei tirocinanti presso Google.

Il processo di intervista dell'azienda sarà probabilmente simile a questo:

  1. Domanda di tirocinio
  2. Concorso su Hackerrank/TripleByte Quiz
  3. Intervista di screening
  4. Primo colloquio tecnico
  5. Secondo colloquio tecnico
  6. Intervista a vista

Domanda di tirocinio

Ovviamente tutto inizia con il tuo desiderio di ottenere uno stage. Per fare ciò, è necessario esprimerlo compilando un modulo sul sito web dell’azienda. Se tu (o i tuoi amici) avete amici che lavorano lì, potete provare ad entrare tramite loro. Questa opzione è preferibile perché ti aiuta a distinguerti dalla massa degli altri studenti. Se ciò non è possibile, applicati.

Cerca di non arrabbiarti troppo quando ricevi email con contenuti del tipo "sei fantastico, ma abbiamo scelto altri candidati". E qui ho qualche consiglio per te:

Come ottenere uno stage presso Google

Concorso su Hackerrank/TripleByte Quiz

Se al reclutatore è piaciuto il tuo curriculum, entro 1-2 settimane riceverai una lettera con l'attività successiva. Molto probabilmente, ti verrà offerto di partecipare a un concorso su Hackerrank, dove dovrai risolvere problemi algoritmici nel tempo assegnato, o TripleByte Quiz, dove dovrai rispondere a varie domande riguardanti algoritmi, sviluppo software e progettazione di basso livello. sistemi di livello. Questa fase funge da filtro iniziale nel processo di selezione dei candidati.

Intervista di screening

Se il test avrà esito positivo, avrai un colloquio di screening, durante il quale parlerai con il recruiter dei tuoi interessi e dei progetti che l'azienda offre agli stagisti. Se mostri interesse e la tua esperienza precedente corrisponde alle aspettative dell'azienda, ti verrà dato il via libera. Secondo la mia esperienza, questo è il momento più imprevedibile dell’intero processo e dipende molto dal reclutatore.

Se hai superato questi tre test, la maggior parte della casualità è già alle tue spalle. Poi ci sono i colloqui tecnici, che dipendono maggiormente da te, il che significa che puoi influenzare maggiormente il loro esito. E questo è buono!

Interviste tecniche

Poi arrivano i colloqui tecnici, che di solito vengono condotti tramite Skype o Hangouts. Ma a volte ci sono servizi più esotici che richiedono l'installazione di software aggiuntivo. Pertanto, assicurati in anticipo che tutto funzioni sul tuo computer.

Il formato dei colloqui tecnici varia notevolmente a seconda della posizione per la quale stai intervistando. Se stiamo parlando della posizione di stagista in ingegneria del software, molto probabilmente ti verranno offerti un paio di problemi algoritmici, la cui soluzione dovrà essere codificata in qualche editor di codice online, ad esempio, coderpad.io. Potrebbero anche farti una domanda sulla progettazione orientata agli oggetti per vedere quanto bene comprendi la progettazione del software. Ad esempio, potrebbe essere chiesto loro di progettare un semplice negozio online. È vero, non mi sono mai imbattuto in un compito del genere in base alla cui soluzione sarebbe davvero possibile giudicare questa abilità. Alla fine del colloquio, probabilmente ti verrà data l’opportunità di porre domande. Ti consiglio vivamente di prenderlo sul serio, perché attraverso le domande puoi mostrare il tuo interesse per il progetto e dimostrare la tua competenza sull'argomento. Di solito preparo in anticipo un elenco di potenziali domande:

  • Come funziona il lavoro sul progetto?
  • Qual è la sfida più grande che hai dovuto risolvere ultimamente?
  • Qual è il contributo dello sviluppatore al prodotto finale?
  • Perché hai deciso di lavorare per questa azienda?

Non sempre vieni intervistato dalla persona con cui lavorerai in futuro. Pertanto, queste ultime domande possono fornire informazioni su ciò che sta accadendo nell’azienda nel suo complesso. Per me, ad esempio, è importante avere un'influenza sul prodotto finale.

Se superi con successo il primo colloquio, ti verrà proposto un secondo. Differirà dal primo nell'intervistatore e, di conseguenza, nei compiti. Molto probabilmente il formato rimarrà lo stesso. Dopo aver superato il secondo colloquio, possono offrirne un terzo.

Intervista a vista

Se fino a questo punto non sei stato rifiutato, allora ti aspetta un colloquio a vista, in cui il candidato viene invitato per un colloquio presso la sede dell’azienda. Di solito consiste in diversi colloqui tecnici e un colloquio comportamentale. Durante un colloquio comportamentale, parli con il manager dei tuoi progetti, delle decisioni che hai preso in diverse situazioni e simili. Cioè, l'intervistatore sta cercando di comprendere meglio la tua personalità e comprendere la tua esperienza in modo più dettagliato. Alcune aziende che conducono 3-4 colloqui tecnici offrono solo un colloquio comportamentale da remoto invece di un colloquio a vista.

Ora non resta che attendere la risposta del recruiter. Se tutto è andato per il meglio, riceverai sicuramente una lettera con l'offerta tanto attesa. Se non ci sono offerte, non arrabbiarti. Le aziende rifiutano sistematicamente i buoni candidati. Prova a fare nuovamente domanda per uno stage l'anno prossimo.

Intervista sulla codifica

Quindi, aspetta... Non abbiamo ancora fatto alcuna intervista. Abbiamo appena scoperto come si svolge l'intero processo e ora dobbiamo prepararci bene per i colloqui per non perdere l'occasione di trascorrere un'estate piacevole e utile.

Ci sono risorse come Codeforces, Topcoder и Hackerrankdi cui ho già parlato. Su questi siti puoi trovare un gran numero di problemi algoritmici e anche inviare le loro soluzioni per la verifica automatica. È tutto fantastico, ma mi ricorda piuttosto di sparare ai passeri da un cannone. Molte attività su queste risorse sono progettate per richiedere molto tempo per essere risolte e richiedono la conoscenza di algoritmi avanzati e strutture dati, mentre le attività nelle interviste di solito non sono così complesse e sono progettate per richiedere 5-20 minuti. Pertanto, nel nostro caso, una risorsa come LeggiCodice, che è stato creato come strumento per la preparazione ai colloqui tecnici. Se risolvi 100-200 problemi di varia complessità, molto probabilmente non avrai problemi durante il colloquio. Ce ne sono ancora alcuni degni Laboratorio del codice Facebook, dove puoi selezionare la durata della sessione, ad esempio 60 minuti, e il sistema selezionerà per te una serie di problemi, la cui risoluzione media non richiede più di un'ora.

Molte persone consigliano anche la lettura del libro”Incrinare l'intervista di codifica" Io stesso ne ho letto solo selettivamente alcune parti. Ma vale la pena notare che ho risolto molti problemi algoritmici durante i miei anni scolastici. Chi non ha avuto un'esperienza del genere dovrebbe almeno sfogliare questo libro.

Inoltre, se nella tua vita hai avuto pochi colloqui tecnici con aziende straniere, allora ti consigliamo di sostenerne un paio di prova. Ma più sono, meglio è. Questo ti aiuterà a sentirti più sicuro durante il colloquio e meno nervoso. È possibile organizzare interviste fittizie su Passeggino.

Interviste comportamentali

Come ho già detto, durante un colloquio comportamentale, l’intervistatore sta cercando di saperne di più sulla tua esperienza e di comprendere il tuo carattere. Cosa succede se sei un bravo sviluppatore ma non sei bravo a lavorare in squadra? Temo che questo non sia adatto a molte persone. Ad esempio, ti potrebbe essere posta la seguente domanda: “Qual è il tuo punto debole?” Oltre a domande di questo tipo, ti verrà chiesto di parlare di progetti in cui hai avuto un ruolo chiave, dei problemi che hai riscontrato e delle loro soluzioni. Vale la pena notare che nei primi minuti dei colloqui tecnici potrebbe esserti chiesto anche questo. Come prepararsi per tali interviste è ben scritto in uno dei capitoli di "Cracking the Coding Interview".

Google

Ora che abbiamo capito come si svolge in generale il processo di selezione degli stagisti e come prepararsi per i colloqui, è tempo di parlare di come funziona nel caso di Google.

È possibile trovare un elenco degli stage disponibili qui. Se hai intenzione di fare uno stage estivo, dovresti iniziare a fare domanda già a settembre.

Interviste

Qui il processo sembra un po’ insolito. Avrai un colloquio di screening e due colloqui tecnici. Se ti mostri bene in essi, passerai alla fase di ricerca di un progetto. Dovrai compilare un questionario abbastanza lungo in cui indicherai tutte le tue competenze attuali, oltre ad esprimere le tue preferenze sull'argomento del progetto e sulla località in cui vuoi svolgere lo stage.

È molto importante compilare bene e diligentemente questo modulo! I potenziali host che cercano persone che si uniscano al loro progetto esaminano i tirocinanti disponibili e organizzano conversazioni con i candidati che preferiscono. Possono filtrare gli studenti per posizione, parole chiave, segni di spunta nel modulo di domanda e ordinarli in base ai punteggi del colloquio.

Durante la conversazione, l’intervistatore parla del progetto su cui lavorare e apprende anche l’esperienza del candidato. Questa è una grande opportunità per scoprire come sarà effettivamente il processo di lavoro, perché stai comunicando con la persona che ti ospiterà. Dopo il colloquio, scrivi una lettera al reclutatore con le tue impressioni sul progetto. Se ti piace il progetto e piaci all'intervistatore, allora ti aspetta un'offerta. Altrimenti ti aspetteresti chiamate di follow-up, che potrebbero essere 2-3-4, o forse per niente. Vale la pena chiarire che anche se hai superato bene i colloqui, ma nella fase di ricerca di un progetto nessun team ti ha scelto (o forse nessuno ti ha nemmeno parlato), allora, ahimè, rimarrai senza un'offerta .

America o Europa?

Tra le altre cose, dovrai decidere dove svolgerai il tuo stage. Avevo una scelta tra gli Stati Uniti e . E qui è importante conoscere alcune funzionalità. Ad esempio, si ha la sensazione che sia più difficile raggiungere gli Stati Uniti. Innanzitutto, dovrai sostenere un ulteriore concorso di 90 minuti in cui dovrai risolvere problemi algoritmici, oltre a un altro quiz di 15 minuti che cercherà di rivelare il tuo personaggio. In secondo luogo, secondo la mia esperienza e quella dei miei amici, nella fase di ricerca le squadre sono meno interessate a te. Ad esempio, nel 2017 ho avuto solo una conversazione, dopo la quale il team ha scelto un altro candidato e non ho ricevuto alcuna offerta. Mentre i ragazzi che hanno fatto domanda per l'Europa avevano 4-5 progetti. Nel 2018 mi hanno trovato una squadra a gennaio, che è piuttosto tardi. I ragazzi hanno lavorato a New York, mi è piaciuto il loro progetto e ho accettato.

Come puoi vedere, negli Stati Uniti le cose sono un po’ più complicate. Ma volevo andare lì più che in Europa. In più negli USA pagano di più.

Come ottenere uno stage presso Google

Cosa fare dopo?

Al termine dello stage hai due opzioni:

  • Ottieni uno stage per il prossimo anno.
  • Supera due colloqui tecnici per ottenere una posizione a tempo pieno.

Queste due opzioni sono disponibili a condizione che tu abbia completato con successo il tuo progetto attuale. Se questo non è il tuo primo stage, potrebbe anche esserti offerto un posto a tempo pieno senza colloqui.

Pertanto si presenta la seguente situazione, che può essere descritta con un'immagine:

Come ottenere uno stage presso Google

Dato che questo era il mio primo stage, ho deciso di sostenere due colloqui tecnici per ottenere una posizione a tempo pieno. In base ai risultati hanno accettato di farmi un’offerta e hanno iniziato a cercare un team, ma ho rifiutato questa opzione perché ho deciso di finire la laurea magistrale. È improbabile che Google scompaia tra 2-3 anni.

conclusione

Amici, spero di aver spiegato in modo accessibile e comprensibile come si presenta il percorso da studente a stagista. (e poi ritorno...), e questo materiale troverà il suo lettore che lo troverà utile. Come puoi vedere, non è così difficile come potrebbe sembrare, devi solo mettere da parte la tua pigrizia, le tue paure e iniziare a provare!

PS ce l'ho anche qui canale in un carrello dove puoi guardare.

Fonte: habr.com

Aggiungi un commento