QNA > Q > Quali Sono Alcuni Esempi Di Domande Per Lo Stage Di Google?

Quali sono alcuni esempi di domande per lo stage di Google?

Ho fatto un colloquio con un sacco di aziende un paio di mesi fa e ho compilato una lista di domande di screening telefonico fatte da varie aziende (tra cui Google, Uber e LinkedIn). Ecco la lista:

1. Zocdoc (medio/difficile)

Dato un array di n interi dove n > 1, nums, restituisci un array output tale che output[i] sia uguale al prodotto di tutti gli elementi di nums tranne nums[i]. Ora fate questo in tempo lineare senza usare la divisione.

2. Groupon (medio)

Le stampanti che stampano messaggi stringa per i biscotti della fortuna chiamano un'API e cercano di stampare un messaggio stringa in modo casuale. Come potreste implementare questa API e mantenere le risposte casuali? E se si volesse una risposta ponderata (ad esempio, dati 3 messaggi stringa, si vuole che l'API restituisca i messaggi 1, 2 e 3 nel rapporto 1:2:5). Come potreste ottimizzare se l'API viene invocata ripetutamente?

3. LinkedIn (facile)

Dati due nodi di un albero, scrivete un metodo per restituire il più profondo (cioè il più basso) antenato comune di questi nodi. I nodi contengono i parent-pointers.

4. Tripadvisor (facile)

Un albero binario è bilanciato se per ogni nodo le altezze dei sottoalberi di sinistra e di destra non differiscono di più di 1. Un albero vuoto è bilanciato. Come scriveresti un programma per controllare se un albero è bilanciato?

5. Zillow (facile)

Trova il primo elemento non duplicato in un array di stringhe (in tempo lineare).

6. Qualtrics (medio)

Data una matrice 2D come input e un punto iniziale e un punto finale, stampa 'True' se esiste un percorso dal punto iniziale al punto finale che è decrescente lungo il percorso, altrimenti stampa 'False':

| 100 | 40 | 20 |

| 80 | 30 | 10 |

| 100 | 101| 0 |

Quindi in questo caso l'inizio (0,0) e la fine (2,2) restituirebbero true poiché questo percorso esiste: 100 -> 40 -> 20 -> 10 -> 0

Puoi muoverti in una qualsiasi delle quattro direzioni (sinistra/destra/su/giù).

7. Snapchat (difficile)

Considera uno scenario dove una rana vuole attraversare un fiume. Il fiume è rappresentato da una matrice 1D di 0 e 1 dove uno 0 rappresenta l'acqua e un 1 rappresenta una roccia. Questa rana non può nuotare ma può saltare da una pietra all'altra. Inoltre ci sono altri vincoli su come la rana si muove:

  • La rana può saltare la stessa distanza del suo salto precedente
  • La rana può saltare un salto in più del suo salto precedente
  • La rana può saltare un salto in meno del suo salto precedente

Ora, dato un fiume (matrice 1d), può una rana attraversare il fiume senza affogare? La rana non può muoversi di una distanza negativa (cioè non può andare da destra a sinistra).

8. Zenefits (facile/medio)

a. Data una lista di numeri rappresentati come a1/b1, a2/b2 restituire la somma nella forma ridotta a/b.

b. Trova la differenza massima tra due elementi di una matrice tale che l'elemento più grande appare dopo il numero più piccolo.

9. Uber (difficult)

Implement a function that makes 10 http requests in parallel, returning the responses in the order in which the urls are defined

f([url1, url2, url3]) should return [body1, body2, body3]

10. Google (difficult)

a. Find three numbers than sum to a target ‘t’.

b. Given an array of words and a length L, format the text such that each line has exactly Lcharacters and is fully (left and right) justified.

For example,

words: [“This”, “is”, “an”, “example”, “of”, “text”, “justification.”]

L: 16.

Return the formatted lines as:

[

“This is an”,

“example of text”,

“justification. ”

]

I have posted solutions and hints to all of these on my blog here - 10 Phone Screen questions

Good luck!

Di Frymire Giantonio

Quali sono le recensioni attuali del cellulare Pocophone F1 recentemente lanciato da Xiaomi? :: Come ottenere telefoni gratis per le recensioni su YouTube
Link utili