Esperienza di colloquio con Google AE

Nov 26 2022
Google LLC è una società tecnologica multinazionale americana che si concentra su intelligenza artificiale, tecnologia dei motori di ricerca, pubblicità online, cloud computing, software per computer, calcolo quantistico, e-commerce ed elettronica di consumo. È stata definita "l'azienda più potente del mondo" e uno dei marchi più preziosi al mondo grazie al suo dominio sul mercato, alla raccolta di dati e ai vantaggi tecnologici nell'area dell'intelligenza artificiale.

Google LLC è una società tecnologica multinazionale americana che si concentra su intelligenza artificiale, tecnologia dei motori di ricerca, pubblicità online, cloud computing, software per computer, calcolo quantistico, e-commerce ed elettronica di consumo. È stata definita "l'azienda più potente del mondo" e uno dei marchi più preziosi al mondo grazie al suo dominio sul mercato, alla raccolta di dati e ai vantaggi tecnologici nell'area dell'intelligenza artificiale. È considerata una delle Big Five società di tecnologia dell'informazione americane, insieme ad Amazon, Apple, Meta e Microsoft.

  • Livello: da medio a duro
  • Processo di colloquio e reclutamento: nella media

Google Recruiter mi ha contattato su linkedIn per il colloquio della posizione di Application Engineer.

Informazioni sul ruolo : questo ruolo è generalmente focalizzato sullo sviluppo di applicazioni utilizzate dai clienti interni (dipendenti di Google). Per questo ruolo l'attenzione si concentra maggiormente sulla progettazione del sistema e un po' meno su strutture dati e algoritmi. Quindi, il DSA richiesto è generalmente di livello medio.

Struttura dell'intervista/Round
1. Reach out
2. Coding Round 1
3. Coding Round 2
4. System Design Round (Dipende dal risultato del Coding Round 1+2)

Raggiungere

I reclutatori di Google mi hanno contattato su linkedIn. Quindi, diventa molto importante mantenere aggiornato il tuo profilo linkedIn con i tuoi progetti, competenze, esperienze e risultati.

Ciclo di codifica 1

Tempo -: 45 min
Piattaforma -: Google Doc

Questo round è stato completamente basato su strutture di dati e algoritmi . Mi è stato chiesto 1 problema di livello medio.

Problema:
questo problema era basato sulla programmazione dinamica circolare

In primo luogo, ho discusso con loro diversi casi di test e poi ho proseguito raccontando loro l'approccio della forza bruta, hanno chiesto la complessità temporale e spaziale del problema e poi mi hanno detto di ottimizzarlo. Quindi ho discusso con loro l'approccio ottimizzato e l'ho implementato.

Fase di codifica 2

Tempo -: 45 min
Piattaforma -: Google Doc

Questo round è stato condotto lo stesso giorno del Coding Round 1 . Anche questo round si basava su strutture dati e algoritmi. È stato discusso un problema di medio livello, con i loro approcci ottimizzati e le complessità temporali e spaziali.

Problema:
1)
Si trattava di un problema di leetcode di livello medio basato su una mappa stringa + hash.
sol — Il problema è stato modificato in diverse fasi aggiungendo altri test case. E ogni approccio che ho detto loro, mi è stato chiesto di implementarlo e la complessità del tempo e dello spazio è stata discussa ogni volta che ho cambiato il mio approccio.

NOTA : i round tecnici possono essere facilmente superati praticando i problemi DSA su leetcode e organizzando regolarmente concorsi. Gli argomenti da cui possono provenire le domande sono: programmazione dinamica, alberi, ricorsione, liste concatenate, stringhe, array ecc. Il livello delle domande è generalmente medio per la posizione di ingegnere applicativo.

La determinazione della complessità del tempo e dello spazio è molto importante insieme all'identificazione dei casi limite, all'adattamento della giusta struttura dati, all'applicazione dell'algoritmo giusto, al pensiero ad alta voce e alla spiegazione corretta.

Design del sistema rotondo

Tempo -: 45 min + 15 min (Googlyness)
Piattaforma -: Google Doc

Questo round viene condotto solo quando il risultato del round di codifica 1 + del round di codifica 2 è promettente . Il mio round di progettazione del sistema è stato programmato 2 giorni dopo i miei round di codifica.

Questo round era basato sulla progettazione di sistemi di alto livello. L'obiettivo principale di questo round era testare l'approccio per progettare un buon sistema scalabile, progettare API e database.
Mi è stato dato un sistema da progettare, in cui avevo bisogno di creare un sito di acquisto di gadget online per i dipendenti di Google.

Ho discusso le seguenti cose per la progettazione dell'applicazione.
1. Server diversi per regioni diverse.
2. Bilanciamento del carico per i server.
3. Ridimensionamento orizzontale dell'intera applicazione.
4. Tipo di database (sql vs NoSql) che può essere utilizzato e quindi interrogazione rapida tramite indicizzazione.
5. Memorizzazione nella cache dei dati per l'utente già registrato.
6. Possibili microservizi utilizzabili nell'applicazione.
7. Terza parte per la gestione del gateway di pagamento (uno dei possibili microservizi).

Nel frattempo ho continuato a discutere ,

a) La progettazione del database. Il numero di tabelle richieste, i tipi di righe e colonne che possono essere utilizzate per interrogare in modo efficiente i dati.
b) La progettazione delle Api. Cioè, come saranno gli endpoint Api con il tipo di richiesta su di esso.

Ho spiegato l'architettura disegnandola approssimativamente su google doc . Il che mi ha reso più facile da spiegare.

Questo round era principalmente basato sulla direzione in cui lo prendi. Ti verrà posta la domanda in base ai tuoi approcci e alle tue idee.
Gli intervistatori danno anche i suggerimenti necessari e raccontano gli aspetti negativi e positivi di un particolare approccio.

Fonte da studiare:https://youtube.com/playlist?list=PLMCXHnjXnTnvo6alSjVkgxV-VH6EPyvoX|| Educational.io || GFG

Googlyness : in questa parte vengono discusse le domande basate sul progetto di squadra , sul lavoro di squadra e sulla gestione del tempo . La discussione su questi argomenti dura circa 15 minuti.

Concludere

Ho ricevuto una risposta positiva dall'intervistatore e anche dal modulo di feedback. Ma l'assunzione è stata interrotta nel mezzo per alcuni motivi interni.

Per qualsiasi domanda non esitate a contattarmi su LinkedIn: https://www.linkedin.com/in/riti-nema-707b1719b/

Ti auguro il meglio. Buona codifica!!