My Experience with Google Foobar

My Experience with Google Foobar

My experience in accidentally encountering the final boss of leetcode grinding, as a certified leetcode hater

·

4 min read

There are some nights that i just can’t go to sleep, so i spend my time on researching random subjects that interest me. During my midnight research streak about Byfron Technology’s use of techniques similar to movfuscator in their binary packaging technology packaged as an anticheat solution, i saw the infamous screen.

Untitled 65.PNG

It’s Google Foobar Challenge Popup.

Google monitors certain CS search terms in Google and if your search history is filled with enough technical questions it will show the popup. The challenge is intended to be a secret hiring process of Google to recruiting top programmers and developers around the world, with those who are able to complete the challenge having the possibility to be contacted for an interview at Google.

Now the appearance of the challenge kinda surprise me because usually Google Foobar appears in search terms relating to software development on Java and Python. I guess it could be that Google is expanding the reach of Google Foobar to encompass more positions, in this case either relating to hardware engineering or security

Screenshot 2022-10-13 23.28.30.png

Upon accepting the challenge, you’ll be greeted with a UNIX-like interface which will probably be your most visited website for the next several days. You can request challenges to the system and the Foobar challenge is comprised of 5 levels branching off to 9 questions, each with increasing levels of difficulty that has a time limit of 7 to 22 days.

Anyone that has talked to me knows that i have a distinct hatred towards leetcode interviews. I always thought that its an interview that doesn’t give candidates a clear picture of their day-to-day responsibilities, have led thousands of CS programs and bootcamps to turn into classes for leetcode-grinding, and disadvantages neurodivergent individuals like myself.

But i decided to take this challenge, not only because it seems interesting but also the prospect of a job offer at Google is frankly too tantalizing to give up. Frankly, given the current tech winter i didn’t expect Google to offer me a position and a H-1B visa, but i think it would be an interesting challenge to crunch over a slow weekend.

I was planning on writing all of the solutions in either this blog post or in GitHub Gists, but it seems that many other publications have done so and in a more dignified way. And frankly i do think their coding implementations are way better than the lovecraftian nightmares i've created among my 10 active sublime tabs.

Screenshot 2022-10-14 12.09.28.png

The first 3 questions were basic, comprising of what i would consider medium-level Leetcode questions covering mathematical concepts you probably slept through during DSA class (i know that i slept through mine). What i would say is that the challenges even at a basic level are structured in such a way that there is really no single way of solving it, which lends well to creative solutions.

Screenshot 2022-10-14 10.45.36.png

You can only solve the questions in Java and Python, and while my Python has been abit krusty i can still get around to solving the questions. There is a provided IDE and a test-case validator, the provided IDE is okay but the test-case validator doesn’t give alot of context to the errors encountered.

Screenshot 2022-10-14 20.53.51.png

At the completion of Level 3, you’ll be given the chance to forward your data including your coding performance on the Google Foobar Challenge to a Google Recruiter. This is probably where it gets real as the last 3 questions include multiple complex algorithms and mathematical concepts, frankly this is the final boss of leetcode grinding.

As someone who vehemently hates coding tests, Google Foobar really seems like a cool way to approach it. Frankly its still a brain teaser, but the lack of a visible live interviewer seeing your code as you type it really makes me less anxious and i feel like i can experiment with several different solutions without the fear of being silently judged (which is frankly what engineering is, a loop of trial and error to find the most optimal solution).

Screenshot 2022-10-15 21.58.16.png

At the end you finally get to the end screen with a bunch of animated ASCII bunnies. There is a final string of code in the encrypted flag that seems to be Base64. Decrypting the string using your name as the key in a cyclic-manner would give you the following :

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

In short, Google Foobar is one of those types of hiring events that only a company as big as Google can manage to deploy. Not only the mythical status of the Google Foobar challenges make this entire puzzle interesting but also the complexity of the questions coupled with the cute plot strung together makes this more than just a boring old coding interview, and frankly that deserves some level of appreciation.