Come è stato il processo del tuo colloquio a Twitter per la posizione di stage di ingegneria del software?

Ho fatto il mio stage in Twitter durante l'estate 2014, che è stata una delle esperienze di stage più incredibili che abbia mai avuto!

Tra le mie 20+ interviste di stage con più aziende (Google, Quora, LinkedIn, Facebook, Microsoft, Square, ecc), le interviste di Twitter sono più difficili della media. La domanda di intervista letteralmente più difficile (non un rompicapo) che ho avuto è quella di Twitter (vedi l'ultimo paragrafo). Il seguito è il processo delle mie interviste con Twitter per lo stage estivo 2014.

Uno dei miei amici ha fatto uno stage in Twitter prima e mi ha segnalato lo stage estivo tramite un altro dipendente a tempo pieno. Poco dopo, ho ricevuto un'e-mail dal reclutatore e mi ha chiesto di completare alcuni compiti di programmazione sul sito web https://codility.com/. Questo sito ha una prova gratuita e una demo, che consiglio di provare prima di fare il test di Twitter. Le domande di solito non sono difficili se si conoscono alcuni algoritmi e strutture dati di base, ad esempio, alcuni algoritmi greedy o semplice programmazione dinamica. Il sito web è un po' complicato perché non vedrete tutti gli esempi di test, così come i vostri punteggi. Quindi assicuratevi di testare il maggior numero di casi possibile prima di inviarli.

C'erano 4 schermi telefonici dopo. I formati erano coerenti, compresa la presentazione e 1-2 problemi di codifica. Non c'era nessun rompicapo (in realtà, non ne ho mai avuto uno). Le prime due interviste erano indipendenti dalla squadra, simili agli schermi telefonici di Google prima dell'abbinamento con l'host. Hanno lo scopo di testare le capacità generali di codifica e progettazione di algoritmi. Le ultime due erano dipendenti dal team, cioè interviste con persone del team con cui potresti fare lo stage. Sono stato un po' sorpreso che le ultime due interviste chiedessero ancora codifica e algoritmi, perché la maggior parte delle aziende tende a parlare di progetti in quella fase. Sento che Twitter è estremamente serio riguardo alla qualità del codice. Inoltre, nell'ultima intervista, mi è stato chiesto delle mie idee per i loro progetti di stage dell'anno precedente. La maggior parte dei progetti in quel team (incluso il mio stage) sono aperti e basati sui dati. Quindi non c'è una risposta corretta o sbagliata. Continuare a parlare e fare brainstorming è preferibile.

Come ho detto prima, ho ricevuto la domanda più difficile dell'intervista finora, che è avvenuta nel secondo screening telefonico di Twitter. A causa dell'accordo, non posso rivelarla (non ho mai visto questa domanda da nessuna parte online). La domanda è particolarmente difficile perché ha bisogno di un algoritmo di streaming. Richiede anche sia l'ordinamento che la ricerca binaria (con la ricerca dell'elemento più a sinistra o più a destra). Ho codificato circa 100 linee usando Java durante un'intervista di 45 minuti. Il codice aveva alcuni bug e l'algoritmo non era ottimale. Alla fine dell'intervista, sono stato in grado di progettare la soluzione ottimale con un paio di suggerimenti. Ma non ho avuto abbastanza tempo per completare la codifica. Credevo di aver rovinato tutto. Per fortuna, sono andato avanti probabilmente perché la domanda era troppo difficile. Dopo l'intervista, ho passato un'altra ora intera per codificare la soluzione ottimale senza bug evidenti. Per attestare ulteriormente la sua difficoltà, ho chiesto a diversi impiegati a tempo pieno e stagisti quando ero a Twitter. Nessuno di loro ha trovato la soluzione ottimale in tempo. Anche con i suggerimenti, la maggior parte delle persone ci ha messo un po' a capirla, per non parlare della codifica senza bug. Il punto di partenza è di non lasciarsi intimidire dalle domande difficili. La comunicazione è la chiave per risolvere questo tipo di domande. Chiedete chiarimenti, esempi e anche suggerimenti. Le persone non si aspettano che risolviate il problema immediatamente. Il modo in cui vi approcciate al problema è quello per cui stanno facendo il colloquio.

Inoltre, c'è un programma pilota di stagisti a Twitter che cerca stagisti di ricerca (di solito Ph.D.), simile a quelli della Microsoft Research. Per quanto ne so, la maggior parte di questi stagisti di ricerca avevano già delle connessioni con Twitter attraverso consulenti o dipartimenti. I loro processi di intervista sono diversi, con domande che si concentrano sugli interessi di ricerca e sull'esperienza.