Foobar-udfordring: Google’s Secret Hiring Process

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!

(Billede af forfatteren) Foobar Challenge Completed

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!

(Billede af forfatter)

Konklusion

Jeg vil sige, at dette er en fantastisk mulighed for at lære noget, og jeg vil anbefale dig at løse spørgsmålene, hvis du får en invitation.

Mens du løser problemerne, skal du ikke holde dit mål for at blive ansat hos Google, men for at lære de nye teknikker og opleve en af de bedste kodningsudfordringer.

Foobar handler mere om at lære og gennemføre, i stedet for at vide alting i forvejen!

Hvis du har spørgsmål eller kommentarer, så skriv dem i kommentarfeltet.

For at forbedre din kode kan du tjekke vores artikel her.

(Billede af forfatter)

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.