Η πρόκληση Foobar: Η κρυφή δοκιμή της Google για προγραμματιστές

Απλά κάθεστε στο γραφείο σας, φροντίζοντας τη δική σας επιχείρηση, προσπαθώντας να κάνετε κάποια δουλειά. Στη συνέχεια, όπως συμβαίνει αναπόφευκτα, χτυπάτε ένα μικρό οδόφραγμα: ο κώδικάς σας ρίχνει ένα μήνυμα κρυφού σφάλματος

«Κανένα πρόβλημα» νομίζετε. Αυτό δεν είναι το πρώτο σας ροντέο. Έτσι αντιγράφετε και επικολλάτε κατά λέξη το μήνυμα σφάλματος στο Google και βλέπετε τι λαμβάνετε.

Καμία τύχη.

Υπάρχουν πολλά αποτελέσματα αναζήτησης, αλλά κανένα από αυτά δεν ταιριάζει στην περίπτωσή σας αρκετά κοντά ώστε να προσφέρει πραγματικά μια χρήσιμη απάντηση.

Και έτσι ξεκινά η δημιουργική διαδικασία Googling. Δοκιμάστε πολλούς συνδυασμούς του σφάλματος + του περιβάλλοντος στο οποίο το χρησιμοποιείτε. Προσπαθείτε να συμπεριλάβετε το όνομα της βιβλιοθήκης στην οποία χρησιμοποιείτε. Ξέρετε ότι πλησιάζετε…

Τώρα στην έκτη προσπάθειά σας, δοκιμάστε έναν άλλο συνδυασμό όρων αναζήτησης και επιστροφής επίσκεψης. Η σελίδα φορτώνεται και μόλις ξεκινήσατε να κοιτάζετε τα αποτελέσματα όταν, ξαφνικά, το παράθυρο του προγράμματος περιήγησής σας ανοίγει και βλέπετε αυτό:

«Μιλάς τη γλώσσα μας. Θέλετε μια πρόκληση; "

"ΟΠΑ, τι?"

"Από πού προήλθε;"

"Κάποια πρόκληση από το Google ... Αυτό βασίζεται στο ιστορικό αναζήτησής μου;"

Ξεχνάτε εντελώς το σφάλμα στον κώδικά σας. Τώρα είστε εντελώς απασχολημένοι με την παράξενη κατάσταση στην οποία βρίσκεστε. Και, τόσο ενδιαφέρον όσο όλα αυτά είναι ήδη, παρατηρείτε κάτι που προσθέτει μόνο στην ίντριγκα. Παράλληλα με το μήνυμα, βλέπετε ότι το πρώτο κουμπί λέει:

"Θέλω να παίξω"

Ω, λοιπόν, αυτό είναι ένα παιχνίδι ; Ενδιαφέρων…

Ξεπεράστε με περιέργεια, αποδέχεστε. Ο διαχωρισμός στο παράθυρο του προγράμματος περιήγησής σας αυξάνεται αργά για να αποκαλύψει μια μεγάλη μαύρη οθόνη, η οποία στη συνέχεια εξαφανίζεται. Στη συνέχεια ανακατευθύνεστε στη διεύθυνση www.google.com/foobar/. Μια μαύρη οθόνη σβήνει και εμφανίζεται κάποιο κείμενο. Μοιάζει με κέλυφος Unix.

Η αισθητική της σελίδας (η ρετρό γραμματοσειρά του υπολογιστή, το κρυφό τερματικό, η έλλειψη ενός σύγχρονου περιβάλλοντος εργασίας χρήστη) σε συνδυασμό με το "007 - Η αποστολή σας, αν επιλέξετε να το αποδεχτείτε" η αίσθηση αυτής της ολόκληρης εμπειρίας σας κάνει να νιώθετε σαν να έχετε σύρθηκε σε έναν μυστικό κόσμο. Τώρα είσαι εντελώς αγχωμένος.

Υπάρχει κάποιο κείμενο στο πάνω μέρος της οθόνης:

"Η Google έχει μια πρόκληση κώδικα έτοιμη για εσάς"

Ακριβώς παρακάτω, υπάρχει μια παράγραφος του γαλάζιου κειμένου που θέτει το στάδιο για μια περιπέτεια sci-fi:

"Επιτυχία! Καταφέρατε να διεισδύσετε στην κακή οργάνωση του Διοικητή Λάμδα και τελικά κερδίσατε μια θέση εισόδου ως Minion στον διαστημικό σταθμό της. Από εδώ, θα μπορούσατε απλώς να ανατρέψετε τα σχέδιά της για τη χρήση της συσκευής LAMBCHOP για την καταστροφή του Bunny Planet. Το πρόβλημα είναι ότι οι Minions είναι το χαμηλότερο από το χαμηλότερο στην ιεραρχία Lambda. Καλύτερα να δουλέψεις και να δουλέψεις, διαφορετικά δεν θα φτάσεις ποτέ στην κορυφή… "

"Εντάξει τότε. Φαίνεται ότι μπορώ είτε να εξερευνήσω το τερματικό είτε να ξεκινήσω την πρόκληση… "

Η περιέργειά σας γίνεται καλύτερη από εσάς και νομίζετε ότι «δεν μπορώ να ξεκινήσω το παιχνίδι χωρίς να καταλαβαίνω λίγο». Έτσι πληκτρολογείτε "βοήθεια" και πατήστε "Return". Εμφανίζεται μια λίστα με εντολές κελύφους.

"Πολύ ενδιαφέρον. Συνεπώς, πρόκειται να συνεργαστούμε με ένα σύστημα αρχείων. Αλλά αυτή είναι μια αρκετά περιορισμένη λίστα επιλογών. "

Αποφασίζετε να δείτε εάν υπάρχει κάποια από τις μη καταχωρημένες κοινές εντολές, οπότε δοκιμάστε κάτι απλό:

foobar:~/guest$ pwd

Δουλεύει! Βλέπεις:

/home/guest

Φοβερός.

«Εντάξει, ας ρίξουμε μια ματιά σε αυτόν τον αρχικό κατάλογο. Πρέπει να υπάρχουν μερικά πιο ενδιαφέροντα πράγματα εκεί ».

Έτσι δοκιμάζετε:

foobar:~/guest$ cd ..

Και…

Τίποτα.

Λαμβάνετε μια νέα γραμμή χωρίς σφάλμα, αλλά όταν εκτελείτε pwdξανά, απλώς για έλεγχο, εξακολουθείτε να βλέπετε /home/guest. Εντάξει, λοιπόν, αυτό το πράγμα μάλλον δεν είναι το κέλυφος unix ανοιχτού κόσμου γεμάτο με Πασχαλινά αυγά που θα περίμενε κανείς. Αποφασίζετε λοιπόν να συνεχίσετε την πρόκληση.

Πληκτρολογείτε τη λέξη "αίτημα" και πατήστε Return.

Εμφανίζεται μια προτροπή, που σας προειδοποιεί ότι πρόκειται για μια χρονική πρόκληση και θα έχετε 48 ώρες για να την ολοκληρώσετε.

"Ουάου. Εντάξει, οπότε είναι χρονομετρημένο… "

Συμφωνείτε και προχωράτε.

Περισσότερη αφήγηση επιστημονικής φαντασίας και, στη συνέχεια, βλέπετε ότι κάτι που ονομάστηκε solar_doomsdayπροστέθηκε στον αρχικό σας φάκελο. Έτσι, μεταβείτε στο φάκελο, ανοίξτε τον και βρείτε τέσσερα αρχεία:

constraints.txtreadme.txtsolution.javasolution.py

Το Readme φαίνεται σαν το προφανές μέρος για να ξεκινήσετε. Ανοίγετε το αρχείο readme και βλέπετε τα εξής:

"Εντάξει" νομίζετε ότι "όταν αφαιρέσετε την αφήγηση, θέλουν να γράψω μια συνάρτηση που επιστρέφει μια ταξινομημένη σειρά όλων των τετραγωνικών αριθμών (συμπεριλαμβανομένου του 1) που προσθέτουν έναν δεδομένο αριθμό, ξεκινώντας από τον μεγαλύτερο." Πολύ ωραίο.

"Λοιπόν, αυτό είναι το είδος της πρόκλησης που χρησιμοποιεί η Google για να δοκιμάσει την ικανότητα επίλυσης προβλημάτων;"

«Λοιπόν, έχω ήδη φτάσει τόσο μακριά. Μπορεί επίσης να το ρίξετε! "

Σχετικά με την πρόκληση του Foobar

Τα παραπάνω είναι μια περιγραφή της πρόκλησης του Foobar της Google: ένα είδος Πασχαλινού αυγού στο Chrome που χρησιμοποιείται φαινομενικά για τη δημιουργία νέων ταλέντων για την ομάδα μηχανικών της Google αν και η Google δεν φαίνεται να έχει αναγνωρίσει το Foobar με ουσιαστικό τρόπο (τουλάχιστον, όχι ότι έχω βρει). Υπάρχουν, ωστόσο, πολλοί λογαριασμοί από πρώτο χέρι από προγραμματιστές που πέρασαν από τη διαδικασία που καθιστούν σαφές ότι αυτό είναι το θέμα.

Το μοναδικό πράγμα για πρόκληση Foobar είναι ότι αυτό βρίσκει σας . Και όχι με τον τρόπο που ένα ανεπιθύμητο email πρόσληψης ή ένα πωλημένο μήνυμα κειμένου "σε βρίσκει". Σας βρίσκει παρακολουθώντας τη δραστηριότητα αναζήτησής σας και (φαινομενικά) ταιριάζοντας με γνωστές ανάγκες στα τμήματα μηχανικών της Google. Επιπλέον, η ξαφνική διαταραχή της όρασης σε κάτι που είναι αλλιώς τόσο σταθερό και αμετάβλητο, η σελίδα αποτελεσμάτων αναζήτησης Google, είναι αρκετά ασταθής για να σας προσελκύσει - σίγουρα μια πολύ έξυπνη χρήση των στοιχείων της Google.

Δεδομένης της πρόσβασης της Google σε (1) την προσωπική σας δραστηριότητα περιήγησης και (2) στην πλατφόρμα στην οποία περιηγείστε στο Διαδίκτυο, έχουν πραγματικά την τέλεια ευκαιρία να τραβήξουν ταλαντούχους ανθρώπους ανεξάρτητα από το πού βρίσκονται με έναν πραγματικά άμεσο και ελκυστικό τρόπο. Φαίνεται να προσπαθούν να αποσπάσουν το βασικό επίπεδο δεξιοτήτων και τους τομείς ικανότητας βάσει του ιστορικού αναζήτησής σας και στη συνέχεια προσπαθούν να σας εμπλέξουν για να μπείτε στη διοχέτευση ταλέντων τους με αυτό το «παιχνίδι», το οποίο, εάν ολοκληρωθεί επιτυχώς, μπορεί ή δεν οδηγεί σε πρόσκληση σε συνέντευξη.

Η πρώτη αναφορά της πρόκλησης Foobar φαίνεται να ήταν αυτή η ανάρτηση στο HackerNews από το 2014.

Πλευρική σημείωση: withgoogle.com

Όταν βρίσκεστε στη σελίδα πρόκλησης Foobar, εάν ανοίξετε devtools και κοιτάξετε το DOM, θα δείτε ότι ολόκληρη η σελίδα βρίσκεται σε ένα iFrame, της οποίας η πηγή είναι: //foobar.withgoogle.com/?eid = ... Όταν το είδα για πρώτη φορά σκέφτηκα "Withgoogle.com; Τι στη Γη είναι αυτό; "

Και πάλι, αυτό είναι ένα σύνολο εκτός από ολόκληρο το θέμα της πρόκλησης Foobar, αλλά αποδεικνύεται ότι η ίδια η πρόκληση ζει στον «τομέα του δευτερεύοντος έργου» της Google που ονομάζεται «withgoogle.com». Εάν το ψάξετε λίγο θα βρείτε μερικά αρκετά ενδιαφέροντα έργα. Εδώ είναι μερικά που συνάντησα:

Σήματα χαρτιού, Quickdraw, CSFirst, QiblaFinder, AIYProjects, ScienceJournal