Niveau 4: Jeg fandt dette niveau det sværeste af alle fem. Det krævede implementering af flere koncepter for at løse et enkelt problem. Der er i alt to spørgsmål på dette niveau, og der er givet en tid på i alt to uger til at løse hvert spørgsmål.
Der kræves omfattende viden om algoritmer og datastrukturer på dette niveau.
Det første spørgsmål var baseret på begreberne talteori og grafer. Jeg skulle implementere Bellman-Ford-algoritmen for at løse dette spørgsmål.
Det tog mig meget lang tid at forstå disse begreber og implementere dem for at løse disse spørgsmål. Men det lykkedes mig at løse begge disse spørgsmål til tiden.
Når du har gennemført niveau 4 med succes, får du endnu et henvisningslink til at invitere endnu en ven til at prøve denne udfordring!
Niveau 5: Dette var det næstsværeste problem i hele udfordringen og var baseret på et rent matematisk koncept. Det sidste niveau havde kun et enkelt spørgsmål, og der var toogtyve dage til at løse dette problem!
Problemet krævede forståelse af permutationer og kombinationer og gennemførelse af Pólyas optællingsteorem og Burnsides lemma. Efter at have forstået disse to sætninger var kodningsdelen temmelig enkel.
Med indsendelsen af dette spørgsmål er Google Foobar Challenge afsluttet!
Efter at have afsluttet udfordringen fik jeg en krypteret streng, som var let at dekryptere ved hjælp af 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)
Dette var den kode, jeg brugte til at dekryptere meddelelsen. Den dekrypterede besked var:
{'success' : 'great', 'colleague' : 'esteemed', 'efforts' : 'incredible', 'achievement' : 'unlocked', 'rabbits' : 'safe', 'foo' : 'win!'}
Hvad sker der efter afslutningen af udfordringen?
Når du har gennemført alle fem niveauer med succes, er der stor sandsynlighed for, at du vil blive kontaktet af Googles rekrutteringsmedarbejder til en samtale.
Du vil måske modtage en e-mail eller et telefonopkald, og hvis du har bestået samtalen, kan du blive ansat hos Google.
Hvordan får man Foobar Challenge?
Denne udfordring er desværre ikke tilgængelig for alle, og Google sender den kun til bestemte udviklere (det kan være baseret på deres søgehistorik – tekniske nøgleord).
Du skal ikke være bekymret, hvis du ikke har fået denne invitation endnu, det er ikke den eneste måde at få et job hos Google på.
Find ikke Foobar, lad Foobar finde dig!