For Developers

Foobar: Google's Secret Hiring Technique

Foobar - Secret hiring technique of Google.

Google Foobar is a secret way of recruiting top developers and programmers from around the world. It includes challenges occurring instantly on the screen of the developer when they search for some specific keywords related to coding. You may find it surprising that it only comes on Chrome and no one is aware of the criteria on how and when it will appear on your screen. However, the silver lining of the secret hiring process of Google is that it provides direct interviews to the developers and programmers who clear all the levels of this challenge.

So to acknowledge how you can be contacted by this world’s biggest tech company for hiring, we have curated a detailed piece covering the ins and outs of this secret hiring process. Let’s get started.

What is the Google Foobar challenge?

Google Foobar is such a well-hidden secret that people have a tough time finding credible sources for it on the internet. It aims at hiring one of the best developers and programmers all across the world.

Let’s get brief on this challenge with the developers' experience on it.

Many developers were not even aware of this Google secret hiring challenge. So, it was when they got an invite that they came to know about the challenge. No one knows when and how it started, but it has been inviting suitable candidates for a potential career at Google.

At first, even their invitation seems sketchy. Developers often get second thoughts on whether to invest their time and effort in it or not, given its authenticity and portrayal. Here is the experience that one of Turing's developers shared about the Google Foobar challenge.

The developer was searching for 'List Comprehensions', which is a well-known topic of Python, in Google Chrome. The search results came up, but it was peculiar when a bizarre animation showed up. The page splits in half from the middle and the lower half tilted backward revealing a dark and black void within.

At first, the developer thought it was some bug, so he took the cursor to the void, and it revealed a text. The text read as follows:

Google Foobar challenge invitation pop up.webp

Being curious in nature, the developer clicked on the ‘I want to play’ button.

This redirected the developer to a new page. It looked like a Linux console where you get to solve new problems one by one by requesting new challenges.

Linux console window to solve the Google foobar challenge.webp

Who gets the Google Foobar challenge invitation?

We know that discovering the Google secret hiring process would have made you enthusiastic and you must be desperately wanting an invitation for yourself.

But, here’s the catch: not everyone gets invited to it. Even though the Foobar challenges are not that well known, quite a few people have been invited to it and some handful have even been hired by Google!

We know it’s the dream of many tech people to work for the big names in FAANG. All of us are quite familiar with the success stories from LinkedIn that you need to have an extraordinarily impressive resume to even secure an interview with these companies. So having somewhat of a shortcut by solving just 9 coding problems at 5 levels for that dream job, sounds too good to be true.

Being so obscure, no one exactly knows how to get invited, but from the testimonials of several such invitees, we have laid down some ways to help you at least have a higher chance of getting invited. So let’s get started.

How can a developer get chosen for a Google Foobar challenge?

Google being the world's search engine monster, constantly analyses your search history on Chrome. There is no credible source that defines the requirements for Google Foobar invitation eligibility. It is a strange process in which you get access to an invite-only challenge called “The Google Foobar” challenge.

Turing’s developer and his colleagues have speculated many ways to get themselves invited to the Google secret interview. One thing common in all these speculations is that you have to search for certain keywords repeatedly and for a long time. It triggers Google’s secret algorithm and sends out an invite to you.

However, no one knows the exact set of keywords that can be used to invoke the algorithm to send out the challenge invite. But the consensus is that they should be related to programming and coding in Java or Python. In many cases described by the developers, the triggering keywords were“list comprehensions”, “arraylist java”, “mutex lock” and “headless chrome”.

So, if you are a developer and searching for topics that most people won’t on Google, you will be seen as a potential invitee. As Google keeps track of your search history, such repeated searches will prove that you are invested in your work and Google might be interested in that too.

Some developers have even reported that they received the invitation while they were changing and experimenting with the HTML code of a website on Google.

How to increase your chance of a Google Foobar challenge invite?

To consolidate, there is no fixed route to get an invitation but leveraging Google for any coding query can help you catch the attention of the Google Foobar hiring challenge. We suggest that you continue to be curious and actively search programming-related topics on Google since this appears to be the most popular advice coming from the ones who have already been invited.

Another thing to note is that Google will only hire you after you’ve cleared their interview. Just answering the questions and clearing the challenges won’t guarantee a job. Being a good fit for the company and acing the interview is the main trial.

What’s next once you accept the Google Foobar challenge invite?

You would be selecting the “ I want to play” option on the Foobar’s website. It means you have accepted the Google Foobar challenge invite and will be proceeding on the same. Once you do that, you'll be redirected to the "Foobar.withgoogle" page, which has a Linux-like console and looks something like the image below.

Note: All the challenges included in Google Foobar are time-sensitive.

The landing page of foobar.withgoogle page after you accept the invite.webp

The context is that you are an undercover spy bunny, working as a henchman of Commander Lambda, working your way up the chain of commands to destroy the evil organization from within. We know it sounds a little dramatic and we bet that Google can start writing screenplays.

Every challenge you solve, you move your way up the organization, getting closer and closer to the leader. Your goal is to sabotage the organization. All the questions are designed in a way to keep up with the lore. Kudos to Google for taking such a playful and non-complex way to help the developers understand the challenges.

You can start a new challenge by typing in the command ‘request’ in the console. This creates a new folder with the new challenges. You must change your directory to the new folder using ’cd’, and to access the questions.

Note: You have a choice of choosing between Python 2.7 or Java to solve the Google Foobar challenge question.

You get four new files, "solution.py", “readme.txt”, “constraints.txt”, and "solution.java". You must edit any one, depending on the language you are more familiar with. Another thing to note is that you can use either language to solve any of the questions. Solving the first question in Python doesn’t mean that you have to use Python for the rest of your challenges. Feel free to give the Java option a try too if you’re willing.

What to expect in a Google Foobar challenge?

The challenge consists of 5 levels - where each level gets more difficult than the previous one. In total there are nine questions included in these five levels. Here’s what every level of the Google Foobar challenge looks like.

Level 1: There’s only one question in level one that is easy to solve and pretty straightforward. No special algorithm is required to solve it. You are given two days or 48 hours to solve this question.

Here’s what a fellow developer experienced while doing this challenge.

The developer completed the first two levels and prepared for the third level.

Google foobar challenge window once you complete level 2.webp

All the questions are time-bound. Some questions are allocated more time than the others, depending on the difficulty of the questions.

For some developers the first question was simple. It was called "Braille Translation".

After you have completed the editing, and you are confident that the solution you wrote will satisfy all the given test cases, you can verify it with the “verify filename” command and it shows you the test case result of your solutions.

Verifying solution for level solved.webp

To submit your solution, type “submit filename”. It will check if the solution is correct or not. If all submitted solutions are correct, then it flashes a success message on the screen.

After completing the first level, the screen flashes a little bunny hopping on the screen.

Bunny hopping after you complete level 1.webp

Next comes the second level which presents a more complex problem.

Level 2: This level has two questions with a time limit of 72 hours or three days to solve each question. The questions in this level are based on the basic principles of mathematics and linear algebra.

Once you complete solving the challenging questions in these two levels, you will receive a referral link. This referral link can be used to invite one friend of yours to take up the Google Foobar challenge.

Level 3: There are three questions in this level that are quite tricky. It demands greater knowledge of mathematics and programming concepts like Markov’s chaining, dynamic programming, and others.

You will receive a time of four to seven days as per the difficulty level to solve each question at this level.

Tips: In case you are not acquainted with these concepts, prepare them in advance from the sources available online. However, you can also leverage the time provided to solve each question to understand the challenge and its concept to learn what’s precisely needed.

Once you complete all the challenges of level 3, you will be asked to fill out your details like name, phone number, country, email address, and others for being contacted by a Google recruiter. In the meanwhile, your code will be shown to a Google Developer. Based on the same, you might be contacted by a recruiter for a possible interview. Not everyone is contacted, it depends on the quality of your codes.

Next comes level four.

Level 4: This level has two questions with a time of two weeks to solve each question. Many developers found this level the most difficult of all the five levels. It demands extensive knowledge of data structures and algorithms to solve a single question.

As per the developer’s experience, the first question in level four was based on the concept of number theory and graphs that was solved by implementing the Bellman Ford algorithm. The concept itself was effort and time-consuming but was worth learning for the challenge.

Insider: You will get one more referral link to invite one more friend to try the Google Foobar challenge once you complete level four.

Level 5: This level is the second hardest of the whole Google Foobar challenge. It only includes a single question based on a purely mathematical concept that requires the understanding of permutations and combinations. It also demanded the implementation of Bernside’s lemma and Polya enumeration theorem. You are given 22 days to solve this problem.

When you have successfully solved level 5, you will receive an encrypted string that can be easily decrypted using base64.

import base64
encrypted="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[i%len(my_eyes)] ^ decoded[i]))
print(decrypted)

Code source

The decrypted message will look like this.

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

What happens after you successfully complete the Google Foobar challenge?

Once you have successfully completed the challenge, you will be contacted by Google’s recruiter for a Google secret interview. You will either receive a phone call or email to take the interview further.

The questions might seem tricky at first because it's Google we are talking about. And like we said before, not everyone will get an invitation. So, we suggest that one should take the Google Foobar challenge as a fun experience.

Ending notes

Foobar is not the only way to get into Google. If you get an invitation, then take it slow, try to learn as much as possible on the way, and make the most out of it. Also, this might be an opportunity for you to evaluate yourself, your knowledge, and caliber. So, invest time in learning all the concepts required at each level so that you can ace all the levels in one go.

Suggestion: Keep an eye on the weird animations when you're surfing on Google, be more curious, and never stop learning. Good luck!

Author

  • Author

    Turing

    Author is a seasoned writer with a reputation for crafting highly engaging, well-researched, and useful content that is widely read by many of today's skilled programmers and developers.

Frequently Asked Questions

Getting into Google Foobar is a challenge in itself. It’s not you who can get yourself an invitation. You have to be either invited by Google or by a friend through a referral link who is already solving the challenge.

The difficulty level of the Google Foobar challenge ranges from medium to difficult level. The questions that are tricky in this challenge demand extensive knowledge of several concepts in a single problem.

There are five levels in the Google Foobar challenge. Each level has a different time limit, as described below.

Level 1: 1 Question - 48 hours/2 days

Level 2: 2 Questions - 72 hours/3 days per question

Level 3: 3 Questions - 96 hours/4 days to 7 days (depending on the type of question) per question

Level 4: 2 Questions - 2 weeks for each question

Level 5: 1 Question - 22 days

View more FAQs
Press

Press

What's up with Turing? Get the latest news about us here.
Blog

Blog

Know more about remote work.
Checkout our blog here.
Contact

Contact

Have any questions?
We'd love to hear from you.

Hire and manage remote developers

Tell us the skills you need and we'll find the best developer for you in days, not weeks.

Hire Developers