Livello 4: Ho trovato questo livello il più difficile di tutti e cinque. Richiedeva l’implementazione di diversi concetti per risolvere un singolo problema. Ci sono un totale di due domande in questo livello e il tempo di un totale di due settimane è dato per risolvere ogni domanda.
In questo livello è richiesta un’ampia conoscenza di algoritmi e strutture di dati.
La prima domanda era basata sul concetto di teoria dei numeri e grafici. Ho dovuto implementare l’algoritmo di Bellman-Ford per risolvere questa domanda.
Ho impiegato molto tempo per capire questi concetti e implementarli per risolvere queste domande. Ma sono riuscito a risolvere entrambe le domande in tempo.
Dopo aver completato con successo il livello 4 si ottiene un altro referral link per invitare un altro amico a provare questa sfida!
Livello 5: Questo era il secondo problema più difficile di tutta la sfida ed era basato su un concetto puramente matematico. Il livello finale aveva solo una domanda e ventidue giorni sono stati dati per risolvere quel problema!
Il problema richiedeva la comprensione di permutazioni e combinazioni e l’implementazione del teorema di enumerazione di Pólya e il lemma di Burnside. Dopo aver compreso questi due teoremi la parte di codifica è stata abbastanza semplice.
Con la presentazione di questa domanda, la Google Foobar Challenge è completata!
Dopo aver terminato la sfida, ho ottenuto una stringa criptata che era facile da decifrare usando base64
.
import base64encrypted="THE ENCRYPTED MESSAGE"my_eyes=str.encode("MY USER NAME")decoded=base64.b64decode(encrypted)decrypted=""for i in range(0,len(decoded)):decrypted+=chr((my_eyes ^ decoded))print(decrypted)
Questo era il codice che ho usato per decifrare il messaggio. Il messaggio decrittato era:
{'success' : 'great', 'colleague' : 'esteemed', 'efforts' : 'incredible', 'achievement' : 'unlocked', 'rabbits' : 'safe', 'foo' : 'win!'}
Cosa succederà dopo aver completato la sfida?
Dopo aver completato con successo tutti e cinque i livelli, è probabile che tu venga contattato dal selezionatore di Google per un colloquio.
Potresti ricevere un’e-mail o una telefonata e se hai superato il colloquio allora puoi essere assunto a Google.
Come ottenere Foobar Challenge?
Purtroppo, questa sfida non è disponibile per tutti e Google la invia solo a specifici sviluppatori (può essere basata sulla loro storia di ricerca – parole chiave tecniche).
Non preoccuparti se non hai ancora ricevuto questo invito, questo non è l’unico modo per ottenere un lavoro a Google.
Non trovare Foobar, lascia che Foobar trovi te!
Conclusione
Direi che questa è una grande opportunità per imparare e ti consiglierei di risolvere le domande se ottieni un invito.
Mentre risolvete i problemi non tenete il vostro obiettivo di essere assunti a Google ma di imparare le nuove tecniche e sperimentare una delle migliori sfide di codifica.
Foobar riguarda più l’apprendimento e l’implementazione, invece di sapere tutto prima!
Se hai domande o commenti, per favore pubblicali nella sezione dei commenti.
Per migliorare il tuo codice controlla il nostro articolo qui.