Level 4: Ten poziom był dla mnie najtrudniejszy ze wszystkich pięciu. Wymagał on zastosowania kilku koncepcji w celu rozwiązania jednego problemu. Na tym poziomie są w sumie dwa pytania, a czas na rozwiązanie każdego z nich wynosi dwa tygodnie.
Na tym poziomie wymagana jest rozległa wiedza na temat algorytmów i struktur danych.
Pierwsze pytanie było oparte na koncepcji teorii liczb i grafów. Musiałem zaimplementować algorytm Bellmana-Forda, aby rozwiązać to pytanie.
Dużo czasu zajęło mi zrozumienie tych pojęć i zaimplementowanie ich do rozwiązania tych pytań. Ale udało mi się rozwiązać oba te pytania na czas.
Po pomyślnym ukończeniu poziomu 4 otrzymasz kolejny link polecający, aby zaprosić jeszcze jednego znajomego do wypróbowania tego wyzwania!
Poziom 5: To był drugi najtrudniejszy problem całego wyzwania i był oparty na czysto matematycznej koncepcji. Ostatni poziom miał tylko jedno pytanie i dwadzieścia dwa dni na rozwiązanie tego problemu!
Problem wymagał zrozumienia permutacji i kombinacji oraz zastosowania twierdzenia o wyliczaniu Pólyi i lematu Burnside’a. Po zrozumieniu tych dwóch twierdzeń część kodująca była całkiem prosta.
Złożeniem tego pytania, wyzwanie Google Foobar Challenge zostało zakończone!

Po zakończeniu wyzwania otrzymałem zaszyfrowany ciąg znaków, który był łatwy do odszyfrowania przy użyciu 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)
To był kod, którego użyłem do odszyfrowania wiadomości. Odszyfrowana wiadomość brzmiała:
{'success' : 'great', 'colleague' : 'esteemed', 'efforts' : 'incredible', 'achievement' : 'unlocked', 'rabbits' : 'safe', 'foo' : 'win!'}
Co się stanie po ukończeniu wyzwania?
Po pomyślnym ukończeniu wszystkich pięciu poziomów są szanse, że skontaktuje się z Tobą rekruter Google w celu przeprowadzenia rozmowy kwalifikacyjnej.
Możesz otrzymać wiadomość e-mail lub telefon, a jeśli przejdziesz rozmowę kwalifikacyjną, możesz zostać zatrudniony w Google.
Jak dostać Foobar Challenge?
Niestety, to wyzwanie nie jest dostępne dla wszystkich i Google wysyła je tylko do określonych deweloperów (może to być oparte na ich historii wyszukiwania – techniczne słowa kluczowe).
Nie martw się, jeśli jeszcze nie dostałeś tego zaproszenia, to nie jest jedyny sposób na zdobycie pracy w Google.
Nie znajdź Foobara, niech Foobar znajdzie Ciebie!

Zakończenie
Powiedziałbym, że jest to świetna okazja do nauki i poleciłbym Ci rozwiązać pytania, jeśli dostaniesz zaproszenie.
Podczas rozwiązywania problemów nie trzymaj się celu zatrudnienia w Google, ale poznania nowych technik i doświadczenia jednego z najlepszych wyzwań kodowania.
Foobar jest bardziej o nauce i wdrażaniu, zamiast wiedzieć wszystko wcześniej!
Jeśli masz jakieś pytania lub komentarze, proszę umieścić je w sekcji komentarzy.
Aby poprawić swój kod sprawdź nasz artykuł tutaj.

.