The Google Foo.Bar Challenge: Are you ready?



The Foo.Bar Challenge is something you may have not heard of; it isn’t like a usual competition that comes with a FAQ page to answer your doubts. It literally pops up on you when you least expect it, at least that was my case. I wanted to write this article mainly to address the doubts I had while finding my way through this challenge. Well, how did I come to know about this challenge?

I was just starting my junior year in College and was casually looking at the profile of a Senior who had just passed out of my college. There was a mention of this challenge there and so I researched more about this and found out that The Google Foo.Bar Challenge is an invite only, supposedly secret Hiring Challenge set by Google for Hiring potential Googlers. This challenge has been around for quite some time and the only way to participate in it is either to get an invite directly from Google or get a referral link from a person who has completed it. There has been no definite criteria for getting an invite from google but it generally depends on your google search history and searching for some key phrases which Google is looking out for.

I was intrigued by this initially but eventually I gave up and moved on since I didn’t know anyone who had done this challenge close enough to ask for a referral and getting an invite from Google involves more luck than anything else. Surprisingly, I received my invitation for Foo.Bar about a month later when I least expected it.

Usually the Foo.Bar challenge appears as a question prompt on a google search window but in my case, I received an email from Google with the subject “Google has a code challenge for you” and a one-time access link to take the challenge. The entire challenge is thematically designed around the plot that you are trying to infiltrate into the evil organization of Commander Lambda as a minion to rescue prisoners who are bunnies from Bunny Planet. You also need to destroy the doomsday device LAMBCHOP which Commander Lambda is going to use to destroy Bunny Planet. Each challenge you solve brings you closer to achieving your mission objective.  (Kudos to the creativity of people at Google for designing this Star Wars inspired back story, perfect for a May the 4th Blog post.)

As soon as you log in, you are greeted with a UNIX like shell with your username acting like a mount point from which your progress is retrieved. Few familiar UNIX commands such as cd, cat, ls are present with other commands such as request, edit, verify and submit with specific functions. The questions are divided across levels ranging from Level 1 to 5. The difficulty increases with each level as you go forward and each level has different amount of challenges you need to solve. You can solve these questions in either Python 2.7 or Java. They are primarily Data Structures and Algorithms based with the addition of concepts such as Automata Theory and Discrete Mathematics.

You can request for the next question at any point of time but you should not have any incomplete challenges. Each question is timed with the first one starting with a time limit of 2 days to the final challenge having a time limit of 22 days. However, the time taken from completing an existing question to requesting the next question is not timed so you can take breaks between questions. That way you can plan it out over a couple of days so that you don’t end up requesting questions when you can’t spend time on them. I faced one question in Level-1, two questions in Level-2, three questions in Level-3, two questions in Level-4 and one question in Level-5. Each question belonging to the same level has the same time limit.

Additionally, at the end of the second level, you will get one referral link that you can share with one other person interested in taking up this challenge. At the end of the third level, you will be asked if you wish to share information about yourself with Google so that they can contact you in case your skills are a fit for any open role at Google. Just keep in mind that this doesn’t guarantee a job at Google but is just a step taken by Google to widen their talent pool for recruitment and if you are in the right place at the right time, you might get lucky. At the end of Level 4, you will be given an additional one-time referral link which you can share with an interested person for them to take up the challenge. Finally, at the end of Level 5, you will be given an encrypted string that contains a secret encrypted message that is for your eyes only which you can try to decode.

I started this challenge at a time when I was pretty new to Competitive Programming and DSA so it served as a great platform to kick-start my knowledge in these domains. Now, after completing all 5 levels, I’ve learned and applied various concepts such as the Sieve of Eratosthenes, Absorbing Markov Chains, all shortest Paths and Cellular Automata just to name a few. So, my advice to all those who are taking up this challenge is that try to learn the concepts first and implement them yourself, that way you really benefit from participating in the challenge.

I guess that covers all the questions I planned on answering, now here’s one for you:

Are you ready to take on the challenge?

Comments

Popular Posts