Prossima intervista con Google, in cerca di consigli per la preparazione [chiuso]


29

Beh, ho colpito i libri ovunque possibile. Ho un'intervista in arrivo, la prima via telefono, per una posizione di ingegnere del software. Ho letto tutti i post del blog, ho letto tutti gli account delle interviste (alcuni piuttosto vecchi) e Google stesso ha persino suggerito un elenco di lettura di libri, nessuno dei quali sorprenderebbe nessuno qui. Tuttavia, dopo un po 'di preparazione, non riesco a scrollarmi di dosso la sensazione che ci sia un terreno così ampio da coprire, e non sono mai sicuro se andare con profondità o ampiezza. Mi sono ritrovato a riapprendere un'intera area di compsci, solo per dimenticare la maggior parte dei dettagli nitidi mentre passo ad un altro.

Quindi, non so che c'è una buona risposta a questa domanda, ma sto cercando consigli pratici su come affrontare le settimane rimanenti prima dell'intervista. Una parte del mio cervello è stanca di stiparsi e, naturalmente, il resto deve essere utilizzato per alcuni problemi difficili nel mio attuale posto di lavoro.


3
Questo potrebbe essere più adatto a careeroverflow.com IMHO. Inoltre, non dici il livello della posizione, come principiante, senior, ecc. E il tuo background, lasciando molto per il presupposto.
vpit3833,

3
@Fast Fish: ti dico una cosa, rilassati. Fai un test del QI e se ottieni 135+ Google o nessun Google sai di averlo.
Fanatic23,

9
È fantastico qui, in quanto riguarda i programmatori ??? Perché alle persone con un rappresentante più alto piace classificare e organizzare le cose fino al quark?
Jonathan.

3
Ci sono già molte domande per un colloquio di lavoro. In che modo la tua domanda è diversa? Se la tua risposta è "Google", ecco perché non è proprio qui. Ci sono innumerevoli siti che si occupano di interviste di Google, molti di loro ti forniranno informazioni migliori di questo.
Nicole,

2
E pensi che il tuo imminente intervistatore non si nasconda su P.SE? :)
haylem il

Risposte:


30

Cose che dovresti sapere

  • Google vuole assumerti!

    Il sangue vitale di qualsiasi azienda di software è costituito dai suoi dipendenti e Google non è diverso. Sta cercando di assumere i migliori e i più brillanti e le persone che conducono le interviste vogliono che tu riesca tanto quanto te.

  • Google farà del suo meglio per valutarti nel modo più accurato possibile. È il loro lavoro.

    Google è una società basata sui dati. Le decisioni di assunzione non sono decise dal manager fiat. Invece, ogni intervistatore prende appunti dettagliati durante l'intervista che vengono combinati in un pacchetto. Tale pacchetto verrà quindi esaminato da un comitato separato , che alla fine prenderà la decisione. Quindi, se non stavi "gelando" con uno dei tuoi intervistatori, non preoccuparti! Ciò che conta è quanto bene ti esibisci nell'intervista.

Competenze che dovresti avere

Assicurati di rispolverare le seguenti abilità / tecniche prima del colloquio. Anche se non ti viene posta una domanda direttamente su questi, rivederli può sicuramente portare la tua testa nella giusta mentalità.

  • Strutture dati

    Qual è la differenza tra un array e un elenco collegato? Un albero e un grafico? Quando useresti uno sopra l'altro? In che modo ciò influirebbe sui compromessi di velocità / memoria?

    Una domanda di intervista non termina con una soluzione funzionante. Essere in grado di spiegare il runtime del tuo approccio e quali tipi di compromessi potresti fare. Ad esempio, "se avessi memorizzato nella cache tutto, ci sarebbero voluti X concerti di RAM ma si sarebbero esibiti più velocemente perché ...". Oppure "se mantenessi ordinato l'albero binario mentre eseguivo le operazioni X sarebbe più lento, Y sarebbe più veloce, ecc."

  • algoritmi

    Algoritmi di attraversamento di grafici di base, algoritmi di attraversamento di alberi e due buoni approcci per l'ordinamento dei numeri.

    Assicurati di esercitarti a risolvere un problema non banale usando la Programmazione dinamica. Questo è il tuo asso nella manica quando si tratta di domande difficili per l'intervista!

  • Tabelle di hash

    Questo è enorme. Scopri tutto quello che c'è da sapere sulle tabelle hash, dalla possibilità di implementarne una tu stesso, alla conoscenza delle funzioni di hashing, al motivo per cui il numero di bucket dovrebbe essere un numero primo. I concetti coinvolti nelle tabelle hash sono rilevanti in quasi ogni area dell'informatica.

  • Parlare di te

    Quei primi minuti di chiacchiere con l'intervistatore sono un momento importante per spiegare qualsiasi tipo di esperienza che ti distingue. Progetti pertinenti, risultati tecnici significativi e simili. Ricorda, la persona che conduce l'intervista ha intervistato dozzine se non centinaia di persone intelligenti come te. Quindi cosa puoi dire che li sorprenderebbe?

    Ad esempio, in un'intervista ho parlato con l'intervistatore di un programma che ho scritto per giocare a Go al college. È molto difficile scrivere un'intelligenza artificiale per il gioco di Go, e ho un orribile Go-bot per dimostrarlo! La linea di fondo è essere te stesso, e non solo una persona intelligente che sa programmare.

Non stressarti troppo, è solo un'intervista come un'altra. Siate certi che nessuno vi farà domande stupide su tombini o sul Monte. Fuji.


7

Rilassare

se la tua intervista è simile alla mia, l'intervistatore non è lì per metterti alla prova, è lì per vedere come pensi .

EDIT: questa è stata solo l'intervista telefonica iniziale, non so altro oltre a quello ... e se lo facessi probabilmente non te lo saprei dire!


2
Hai ottenuto il lavoro?
Manoj R,

1
@Manoj: lol - no, ma non è questo il punto. in realtà non volevo il lavoro per il quale stavano intervistando, ma ero curioso del processo e delle opportunità. non avevo / non avevo intenzione di trasferirmi in California!
Steven A. Lowe,

2

Preso in prestito il seguente articolo da http://get-that-job-at-google.blogspot.in/

Conoscenza del codice C / C ++ e Java sono i linguaggi di programmazione preferiti per Google Interviewer. Devi conoscerne almeno uno davvero bene. Ti verrà richiesto di scrivere codice nelle interviste sullo schermo del telefono e anche nelle interviste in loco.

Libri consigliati per interviste CS : Introduzione agli algoritmi - Di Cormen

Interviste di programmazione esposte

Cracking the Coding Interviews

Algoritmi per le interviste

Siti Web consigliati per la pratica della programmazione : InterviewStreet, Topcoder

Big-O Questo dovrebbe essere il punto di partenza nella preparazione di un'intervista algoritmica. Non devi lottare con l'analisi della complessità di base, in quanto garantirà di non essere assunto. Dovresti avere familiarità e comprendere le notazioni O, Θ e Ω. Consiglio di leggere la sezione sull'analisi della complessità dal libro Strutture di dati e algoritmi.

Ordinamento Dovresti essere in grado di scrivere algoritmi O (n * lgn) come QuickSort e MergeSort con facilità. Confronta e comprendi le complessità del caso migliore, peggiore e medio. Ho trovato questa tabella su wiki molto utile; elenca le proprietà importanti di tutti gli algoritmi di ordinamento. Non trascurare gli algoritmi di base O (n ^ 2) come Bubble sort o Insertion sort, poiché altri algoritmi migliorano su questi. Le interviste riguardano principalmente il miglioramento di un'idea di base, gli algoritmi di ordinamento aiuteranno questo processo.

Tabelle hash In caso di dubbi, pensa alle tabelle hash. Sono utili nella maggior parte dei problemi e spesso ci aiutano a migliorare la complessità temporale di alcuni problemi memorizzando nella cache i risultati.

Alberi Esegui algoritmi di base per la costruzione degli alberi, l'attraversamento e la manipolazione. Dovresti essere in grado di implementare algoritmi basati su alberi di ricerca binari. Dovresti avere familiarità con gli alberi bilanciati anche se non devi scrivere codice per loro nell'intervista: alberi AVL, alberi Rosso-Nero, alberi Trie, n-ary ecc. È necessaria una conoscenza approfondita degli attraversamenti inorder, postorder e preorder, perché possiamo risolvere molti problemi agli alberi facendo semplici modifiche a uno di questi attraversamenti.

Grafici I grafici sono un concetto molto importante in Informatica. Esercitati con le tre rappresentazioni di base dei grafici (oggetti e puntatori, matrice ed elenco di adiacenza) e familiarizza con i loro pro e contro. Durante l'intervista non c'è molto tempo, quindi non dovresti aspettarti qualcosa di molto complesso. Tuttavia, gli algoritmi di attraversamento dei grafici di base (DFS e BFS) sono indispensabili, è necessario implementarli in tutte le rappresentazioni di base. Dovresti essere in grado di implementare gli algoritmi Dijkstra o Floyd-Warshall e gli algoritmi di spanning tree minimi (Kruskal e Prim). Informazioni sull'ordinamento topologico, poiché è sorprendentemente molto utile in molti problemi di ordinamento.

Programmazione dinamica Questo è probabilmente l'argomento più importante in quanto le implementazioni sono piccole. Dovresti essere in grado di implementare 2-3 algoritmi dinamici per un tempo di 35-40 minuti. Man mano che controlli le risorse su questo blog o sul Web, scoprirai che dovresti aspettarti almeno una domanda di programmazione dinamica per intervista.

Sistemi operativi Informazioni su processi, thread e problemi di concorrenza. Conosci mutex, semafori, monitor e come funzionano. Scopri cosa sono deadlock e livelock e come evitarli. Informazioni sul cambio di contesto, sulla pianificazione, ecc.

Matematica Dovresti familiarizzare con il conteggio, la combinatoria e la probabilità.

Pubblicazioni di Google Leggi le pubblicazioni innovative di Google elencate di seguito se hai tempo. File system di Google

Google Bigtable

Google MapReduce


È necessario pubblicare qui il testo pertinente ed evitare il rot-link.
mortale

Siamo spiacenti, sono nuovo di questo forum. Ho migliorato la mia risposta
chinmay

1
"... Java ... ha preferito i linguaggi di programmazione per Google" Non lo sapevo. Spiega perché Chrome utilizza 3 volte le risorse come altri browser. (Bussate. Chi c'è? ... lunga pausa ... Java!)
Josh Campbell,

1

Se hai trascorso gli ultimi due mesi a careercup puoi permetterti di rilassarti. Ciò che accade in quel momento nell'intervista non può essere pianificato, ma è meglio essere rilassati e avere l'energia per durare i round.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.