Google foobar challenge, a secret recruiting process

Kenneth Cheung
< />
Published in
4 min readJun 22, 2019

It has been nearly two years since I took the Google FooBar Challenge(A secret recruitment process). I would like to write something before I forget it, also telling everybody it is real!

TL;DR

1. Google FooBar is real.
2. I study a lot of Data Structure and Algorithm but still failed in the phone interview.

How I get into this challenge

A normal weekday, I searched for some web technology on Google’s web developer documentation. Later on, I found out something is shining and I clicked it. The screen split and pop up a text box said something like “you are speaking the same language with us. Do you want to challenge?”, and of course, I clicked the “yes”. I am kind of sad that I didn’t capture any screenshot during this challenge :(

Coding Problems

The challenge contains 5 levels, total of 9 coding questions with an interesting adventure story about helping bunnies to escape from a space ship.

level 1 has 1 question
level 2 has 2 questions
level 3 has 3 questions
level 4 has 2 questions
level 5 has 1 question

The first 5(1–1, 2–1, 2–2, 3–1, 3–2) questions are similar to Leetcode questions (Easy-Medium). The rest are transformations of college textbook Algorithm, Data Structure, and Math. I didn’t search any keywords of the question on the internet, but I did research some DSA and math that I thought it is related to the question.

Time limitation

Google gives foobar challengers a lot of time to solve these problems. For easy questions, the time limitation is days, for harder questions the time limitation is about 2–3 weeks. When you solve a problem, the next question won’t show up until you request it. I can take a break facing the next challenge in good shape.

After starting the challenge, I search for some information about it. Allegedly, a challenger who passes the level 3–3 or above will be approached by Google’s recruiter. After a lot of hard work, I solved all the questions, but I received nothing. I didn’t think too much. It was an interesting experience and I really enjoy solving those problems.

6 months later I received an email from a recruiter:

I was very excited and couldn’t wait to take this challenge. Since I am a frontend developer and Google didn’t have any frontend position in Taipei, I was transferred to another recruiter who was in charge of Shanghai and Beijing.

After a brief recruiter screening phone interview(background questions and basic DSA questions), I scheduled the next interview 3 months later for preparing Computer Science fundamentals. Google has a document particular for frontend engineer. I think it is a good guideline for being a solid developer.

Study

I am not graduated from Computer Science related department. As a developer, I have been thinking consolidate my CS knowledge for a long time. I think it is an excellent opportunity to push myself forward to pick up those fundamentals.
I went through MIT open courseware 6006 twice, took some other courses from MIT open courseware, studied crack the coding interview and practiced a bunch of Leetcode questions…

Failed

Based on information on the internet, a phone interview usually asks easy to medium Array, String, BFS or DFS Questions. Luckily, I got a medium to hard DP question. I gave the interviewer a recursion solution, but the interviewer asked me to solve it iteratively. I stuck even the interviewer gave me many tips. I didn’t prepare enough for DP problems. On the same day, I received a call from the recruiter. He told me that I failed and the feedback of the interview.

Later on…

It is still a good experience. I learned a lot of fundamentals and have a nice experience interview with a real google engineer. This failure won’t stop me from keep challenging those giants in the industry. I will keep sharpening my skill to become a better developer. Thanks for spending time reading this article :)

--

--