Quanto dura il processo di intervista per lo stage di Facebook?

Per sapere meglio quanto tempo puoi aspettarti che il processo di stage di Facebook sia lungo, sarebbe utile per te sapere com'è il processo di intervista. Tieni presente che il processo di colloquio di stage tende ad essere più facile di un colloquio per una posizione a tempo pieno, ma non abbassare la guardia.

Il processo di colloquio può essere diviso in due parti, che sono:

#1 PROCESSO DI INTERVISTA DI FACEBOOK

Intervista telefonica: Una volta iniziati i colloqui, di solito si fanno uno o due screening telefonici come introduzione al processo di intervista. Le schermate telefoniche saranno tecniche e generalmente comportano la codifica attraverso l'uso di un editor di documenti online.

Intervista in loco: Una volta superato il colloquio telefonico, sarete intervistati da altri ingegneri del software e dai responsabili delle assunzioni ogni volta che saranno disponibili.

Ad ogni intervistatore viene assegnato un "ruolo" durante questi colloqui in loco, il che aiuta a garantire che abbiano un quadro olistico di voi e che non ci siano domande duplicate. Questi ruoli sono:

  • Comportamentale ("Jedi"): Questa intervista serve a determinare se sei adatto o meno alla cultura di Facebook. La mia raccomandazione è che siate pronti a parlare del vostro interesse per Facebook, considerando che vogliono che i loro candidati siano appassionati. Inoltre, anche in questo colloquio vi potrebbero essere poste alcune domande di codifica.
  • Codifica e algoritmi ("Ninja"): Queste sono le vostre domande standard DS&A, simili a quelle che trovereste nella maggior parte delle piattaforme di giudici online quando vi esercitate nella codifica. Queste domande sono progettate per essere impegnative, ma la cosa buona è che puoi usare qualsiasi linguaggio di codifica tu voglia per risolverle.
  • Design/Architettura ("Pirata"): Questa intervista non si presenta molto spesso, ma nel caso in cui la otteniate, qui vi verranno poste domande sul design del sistema. Quello che vi consiglio di fare qui è discutere apertamente le diverse soluzioni e i loro compromessi con il vostro intervistatore.

In genere potete aspettarvi due colloqui "Ninja" e un colloquio "Jedi", e se avete una performance eccellente o siete un candidato esperto, avrete anche un colloquio "Pirata". Dopo il colloquio, gli intervistatori inviano un feedback scritto prima di discutere le tue prestazioni tra di loro - questo serve soprattutto per eliminare qualsiasi possibilità di valutazioni distorte.

Una volta che il feedback di tutti è stato inviato, il tuo team di intervistatori e un responsabile delle assunzioni si riuniscono per discutere la decisione finale, e una volta raggiunto un consenso, una raccomandazione di assunzione finale viene presentata al comitato di assunzione.

Hai bisogno di conoscere tre argomenti principali per assicurarti di superare il processo di intervista: strutture di dati e algoritmi, progettazione di sistemi e soft skills come comunicazione, lavoro di squadra e capacità di leadership.

#2 STRUTTURE DI DATI E ALGORITMI

Questo argomento spesso riceve molta attenzione dai candidati al colloquio a causa della famigerata difficoltà delle domande di codifica delle grandi aziende tecnologiche. Alcuni dei più importanti concetti DS&A da conoscere includono algoritmi di percorso più breve, algoritmi di ricerca, BFS, DFS, programmazione dinamica, alberi di ricerca binaria, array e algoritmi di ordinamento, solo per citarne alcuni.

La cosa buona è che ci sono una miriade di risorse che si possono usare per imparare questo argomento. Una che mi viene in mente è GeeksforGeeks, un portale online che agisce come una biblioteca di tutte le cose dell'informatica - ha scritto articoli e video che puoi usare per imparare la teoria DS&A, e ha anche domande pratiche di codifica specifiche dell'azienda.

#3 SYSTEMS DESIGN

Systems design è un argomento che varia in priorità a seconda dell'azienda, ma rispondere alle domande relative al design di solito porta a migliori stipendi e posizioni di lavoro in futuro. I concetti rilevanti da conoscere per questo argomento sono ridondanza e replicazione, CDN, database sharding, bilanciamento del carico e caching, solo per citarne alcuni.

Come DS&A, ci sono molti modi in cui si può affrontare l'argomento - un modo che mi viene in mente è quello di utilizzare Tech Interview Pro, un programma di preparazione all'intervista progettato da un ex SWE di Facebook che ha due moduli di approfondimento sul design dei sistemi, e poi si potrebbe utilizzare Sphere Online Judge (SPOJ), una piattaforma di giudice online con decine di migliaia di problemi di pratica relativi al design da risolvere.

#4 SOFT SKILLS

E' piuttosto strano vedere competenze non tecniche come la comunicazione e le capacità di leadership essere importanti in un colloquio tecnico, ma è piuttosto importante essere in grado di esprimere correttamente le idee che si presentano durante la codifica su lavagna e dimostrare di poter lavorare con un team una volta ottenuto il lavoro.

Grazie al cielo, questo è un argomento abbastanza poco impegnativo da preparare. Per quanto riguarda le risorse, potresti usare How To Win Friends & Influence People, un libro classico che ti mostra come costruire un rapporto e dimostrare perché sei il miglior candidato per il lavoro.

Buona fortuna per le tue interviste.