4. szint: Ezt a szintet találtam a legnehezebbnek az öt közül. Több fogalom megvalósítását igényelte egyetlen probléma megoldásához. Összesen két kérdés van ezen a szinten, és összesen két hét időt adnak mindegyik kérdés megoldására.
Az algoritmusok és adatszerkezetek széleskörű ismerete szükséges ezen a szinten.
Az első kérdés a számelmélet és a gráfok fogalmára épült. A kérdés megoldásához a Bellman-Ford algoritmust kellett implementálnom.
Ezeknek a fogalmaknak a megértése és implementálása a kérdések megoldásához sok időt vett igénybe. De mindkét kérdést sikerült időben megoldanom.
A 4. szint sikeres teljesítése után kapsz egy újabb ajánló linket, amellyel meghívhatod még egy barátodat, hogy próbálja ki ezt a kihívást!
5. szint: Ez volt a második legnehezebb feladat az egész kihívásban, és egy tisztán matematikai fogalmon alapult. Az utolsó szintnek csak egyetlen kérdése volt, és huszonkét nap állt rendelkezésre a feladat megoldására!
A feladat a permutációk és kombinációk megértését, valamint a Pólya-féle felsorolás-tétel és a Burnside-lemma alkalmazását igényelte. E két tétel megértése után a kódolási rész elég egyszerű volt.
A kérdés beküldésével a Google Foobar Challenge befejeződött!
A kihívás befejezése után kaptam egy titkosított karakterláncot, amelyet a base64
segítségével könnyű volt dekódolni.
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)
Ez volt a kód, amelyet az üzenet dekódolásához használtam. A dekódolt üzenet a következő volt:
{'success' : 'great', 'colleague' : 'esteemed', 'efforts' : 'incredible', 'achievement' : 'unlocked', 'rabbits' : 'safe', 'foo' : 'win!'}
Mi fog történni a kihívás teljesítése után?
Az öt szint sikeres teljesítése után jó eséllyel felveszi veled a kapcsolatot a Google toborzója egy interjúra.
Előfordulhat, hogy kapsz egy e-mailt vagy egy telefonhívást, és ha sikerült az interjú, akkor felvesznek a Google-hoz.
Hogyan kaphatod meg a Foobar kihívást?
Ez a kihívás sajnos nem mindenki számára elérhető, és a Google csak bizonyos fejlesztőknek küldi el (ez a keresési előzmények – technikai kulcsszavak – alapján történhet).
Ne aggódj, ha még nem kaptad meg a meghívót, nem ez az egyetlen módja, hogy munkát kapj a Google-nál.
Ne a Foobar keressen, hanem a Foobar találjon meg téged!
Következtetés
Mondanám, hogy ez egy remek lehetőség a tanulásra, és javaslom, hogy ha meghívást kapsz, oldd meg a kérdéseket.
A feladatok megoldása közben ne az legyen a célod, hogy felvegyenek a Google-hoz, hanem az, hogy új technikákat tanulj és megtapasztald az egyik legjobb kódolási kihívást.
A Foobar inkább a tanulásról és a megvalósításról szól, ahelyett, hogy mindent előre tudnál!”
Ha bármilyen kérdésed vagy észrevételed van, kérjük, írd meg a megjegyzés rovatban.
A kód javítása érdekében olvassa el cikkünket itt.