Foobar-udfordringen: Googles skjulte test for udviklere

Du sidder bare ved dit skrivebord og holder øje med din egen virksomhed og prøver at få noget arbejde udført. Så som uundgåeligt sker, rammer du en mindre vejspærring: din kode kaster en kryptisk fejlmeddelelse.

”Intet problem” tror du. Dette er ikke din første rodeo. Så du kopierer og indsætter fejlmeddelelsen ordret i Google og ser hvad du får.

Intet held.

Der er masser af søgeresultater, men ingen af ​​dem passer din situation tæt nok til virkelig at give et nyttigt svar.

Og så begynder den kreative Googling-proces. Du prøver flere kombinationer af fejlen + den sammenhæng, du bruger den i. Du prøver at inkludere navnet på det bibliotek, du bruger. Du ved, du kommer tættere på ...

Nu på dit sjette forsøg prøver du en anden kombination af søgeudtryk og hit return. Siden indlæses, og du er lige begyndt at skimme over resultaterne, når dit browservindue pludselig opdeles, og du ser dette:

”Du taler vores sprog. Op til en udfordring? ”

"Vent, hvad?"

"Hvor kom dette fra?"

"En slags udfordring fra Google ... Er dette baseret på min søgehistorik?"

Du glemmer alt om fejlen i din kode. Du er nu helt opslugt af den bizarre situation, du befinder dig i. Og lige så interessant som alt dette allerede er, bemærker du noget, der kun tilføjer intriger. Ved siden af ​​meddelelsen ser du, at den første knap siger:

"Jeg vil spille"

Åh, så dette er et spil ? Interessant…

Overvundet med nysgerrighed, accepterer du. Opdelingen i dit browservindue vokser langsomt og afslører en stor sort skærm, som derefter falmer væk. Du omdirigeres derefter til www.google.com/foobar/. En sort skærm falmer ind, og noget tekst vises. Det ligner en Unix-skal.

Sidens æstetik (retro-computerskrifttypen, den skjulte terminal, manglen på et moderne brugergrænseflade) kombineret med "007 - Din mission, hvis du vælger at acceptere den", fornemmelsen af ​​hele denne oplevelse får dig til at føle, at du har blevet trukket ind i en hemmelig verden. Du er nu helt opslugt.

Der er noget tekst øverst på skærmen:

"Google har en kodeudfordring klar til dig"

Lige nedenfor er der et afsnit med blålig tekst, der sætter scenen for et sci-fi-eventyr:

"Succes! Du har formået at infiltrere kommandør Lambdas onde organisation og endelig tjent dig selv en entry-level position som en minion på hendes rumstation. Herfra kan du bare muligvis undergrave hendes planer om at bruge LAMBCHOP dommedagsenheden til at ødelægge Bunny Planet. Problemet er, håndlangere er de laveste af lave i Lambda-hierarkiet. Bedre bukke og gå i gang, ellers kommer du aldrig til toppen ... ”

"Okay så. Så det ser ud til, at jeg enten kan udforske terminalen eller starte udfordringen ... ”

Din nysgerrighed bliver bedre af dig igen, og du tænker ”Jeg kan ikke bare starte spillet uden at snuse lidt”. Så du skriver "hjælp" og trykker på retur. En liste over shell-kommandoer dukker op.

"Meget interessant. Så vi arbejder tydeligvis med et filsystem. Men dette er en ret begrænset liste over muligheder. ”

Du beslutter dig for at se, om nogen af ​​de ikke-listede almindelige kommandoer er tilgængelige, så du prøver noget simpelt:

foobar:~/guest$ pwd

Det virker! Du ser:

/home/guest

Fantastisk.

”Okay, lad os se på den hjemmekatalog. Der vil helt sikkert være nogle mere interessante ting der ”

Så du prøver:

foobar:~/guest$ cd ..

Og…

Ikke noget.

Du får en ny linje uden fejl, men når du løber pwdigen, bare for at kontrollere, ser du stadig /home/guest. Ok, så denne ting er sandsynligvis ikke den åbne verdens unix-skal, der er fyldt med påskeæg, som du havde håbet, det var. Så du beslutter dig for bare at komme videre med udfordringen.

Du skriver ordet "anmodning" og trykker på retur.

En meddelelse vises, der advarer dig om, at dette er en tidsbestemt udfordring, og du har 48 timer til at gennemføre den.

“Wow. Ok, så det er tidsindstillet ... ”

Du accepterer og fortsætter.

Mere sci-fi fortælling, og så ser du, at noget kaldet solar_doomsdayblev føjet til din hjemmemappe. Så du navigerer til mappen, åbner den og finder fire filer:

constraints.txtreadme.txtsolution.javasolution.py

Readme virker som det oplagte sted at starte. Du åbner readme-filen og ser følgende:

"Ok", tænker du "når du fjerner fortællingen, vil de have mig til at skrive en funktion, der returnerer et sorteret array med alle de kvadratiske tal (inklusive 1), der tilføjes til et givet tal, begyndende med det største." Temmelig sejt.

"Så dette er den slags udfordring, som Google bruger til at teste evner til problemløsning?"

”Nå, jeg er allerede gået så langt. Kan lige så godt give det et skud! ”

Om Foobar-udfordringen

Ovenstående er en beskrivelse af Googles Foobar-udfordring: en slags påskeæg i Chrome, der tilsyneladende bruges til at skaffe nyt talent til Googles ingeniørhold; skønt Google ikke ser ud til at have anerkendt Foobar på nogen meningsfuld måde (i det mindste ikke det jeg har fundet). Der er dog masser af førstehåndskonti af udviklere, der gennemgik processen, der gør det klart, at dette handler om.

Det unikke ved Foobar-udfordringen er, at den finder dig . Og ikke på den måde, at en uopfordret rekrutterings-e-mail eller sælgende tekstbesked “finder dig”. Det finder dig ved at spore din søgeaktivitet og (tilsyneladende) matche den til kendte behov i Googles ingeniørafdelinger. Desuden er den pludselige visuelle forstyrrelse af noget, der ellers er så konstant og uændret, Googles søgeresultatside, skurrende nok til virkelig at trække dig ind - bestemt en meget smart brug af Googles aktiver.

I betragtning af Googles adgang til (1) din personlige browsingaktivitet og (2) den platform, som du surfer på internettet på, har de virkelig den perfekte mulighed for at fange talentfulde mennesker, uanset hvor de er på en virkelig direkte og engagerende måde. De ser ud til at forsøge at udjævne dit grundlæggende færdighedsniveau og kompetenceområde (r) baseret på din søgehistorik, og derefter prøve at engagere dig i at komme ind i deres talenttragt med dette "spil", som, hvis det er afsluttet med succes, måske eller måske ikke føre til en invitation til en samtale.

Den første omtale af Foobar-udfordringen ser ud til at have været dette indlæg på HackerNews fra tilbage i 2014.

Sidebemærkning: withgoogle.com

Når du er på Foobar-udfordringssiden, hvis du åbner devtools og ser på DOM, vil du se, at hele siden er i en iFrame, hvis kilde er: //foobar.withgoogle.com/?eid = ... Da jeg først så dette, tænkte jeg ”Withgoogle.com? Hvad på jorden er det? ”

Igen er dette en total bortset fra hele emnet for Foobar-udfordringen, men det viser sig, at selve udfordringen lever på Googles “sideprojektdomæne” kaldet “withgoogle.com”. Hvis du graver lidt ind i dette, finder du nogle andre ret interessante projekter. Her er blot nogle få, som jeg stødte på:

Papirsignaler, Quickdraw, CSFirst, QiblaFinder, AIYProjects, ScienceJournal