16 Dec 2019

Google’s FOOBAR challenge

Imagine yourself sitting late at night in front of your laptop, struggling with a bug. You are frantically googling for all sort of programming related terms when suddenly the browser screen splits.

Imagine yourself sitting late at night in front of your laptop, struggling with a bug. You are frantically googling for all sort of programming related terms when suddenly the browser screen splits.

It splits into some sort of Unix-like command line terminal with the words, “You’re speaking our language. Up for a challenge?” The bug doesn’t concern you anymore and you click, “I want to play”.

This is the official Google foobar challenge where foobar is a placeholder for Google’s secret hiring through this challenge.

No one really knows how to land to this but some say that Google analyses search history of people, others say they came to this challenge through googling Python and Java related terms. Recently a link to the challenge was found as a comment in Google Doodle’s source code. Whatever it is, no one really knows the algorithm by which it identifies users.

Google Foobar currently consists of 30 problems articulated in 8 levels, where level i contains exactly i problems, except for level 8, which for now only has six. Problem difficulty does not always increase with the level: it does until level 5, then, when all the hard problems are gone, it contains the easier problems one didn’t solve before.

The questions of initial level 1 and 2 are easy and the difficulty increases gradually till level 5. The questions vary from binary trees to Markov’s chain to analytic combinatorics to graph as well as general logic based questions. The players are allowed to code only in Python or Java.

After completing Challenge 3, a comment pops up, “The code is strong with this one. Share solutions with a Google recruiter?” This generally makes people believe that the entire Foobar challenge is nothing but a secret recruitment for a developer or an intern role.

But nevertheless it never fails to arouse amazement and awe in people who encounter it. After level 5, it ends with a smessage like this:

{‘success’ : ‘great’, ‘colleague’ : ‘esteemed’, ‘efforts’ : ‘incredible’, ‘achievement’ : ‘unlocked’, ‘rabbits’: ‘safe’, ‘foo’ : ‘win!’}