Did you know that you can navigate the posts by swiping left and right?

I Finished Google's Foo.Bar Challenge


03 Oct 2019 . 4 mins : experience . Comments
#coding #experience #guide #intern #internship #moments #programming #google

On June 13 2019, I received the invitation for the [in]famous Google Foo.Bar challenge: sent to those who are deemed fit by Google for working with them.

FooBar Invitation

Why Did I Get The Invitation?

I’ve no concrete idea why I got the invitation. Being a software developer, my searches mostly involve programming related queries and that could have been the very reason why I got the invitation for the challenge. More on this can be read here. The article contains lot more information and also explains what is the Foo.Bar challenge.

NOTE: I got an email invitation for the challenge and not an easter egg.

My Experience

I will not go into the details (can be read here). There are 5 levels and a total of 9 problems.

Level 1 had only one question and mostly involved simple concepts that just check if you know how to code or not. It literally takes 5 minutes to solve if you know well your programming basics. For each question you get an hour.

Level 2 had two questions and both were pretty entry level competitive coding questions. They were solvable with a little bit of research and mathematical discovery. For each question we get a day.

It is after level 2 that we get a referral code; this can be sent to your friend whom you want to do the challenge as well. You can keep the chain going on if he is able to clear his second round. Again, I did not get my invitation this way but I shared the code with my friends and helped them get onboard. I was able to do both the problems in an hour or so.

Level 3 is an important milestone as post this level you are asked to submit your contact details for potential internship / placement contact by Google staff. This level consisted of 3 problems and each was of moderate difficulty but required me to implement only a single concept to solve them. I did this with break in between and took me around 2 weeks to complete them. For each problem we get 3-4 days to solve.

As I said above, after level 4 you are asked to submit your consent and contact details for a potential interview chance with Google.

Level 4 had two questions and each of them had a time limit of 1 week (IIRC). These problems required me to implement multiple concepts to solve a single problem and are above the level of questions that you’d usually encounter in interviews.

On solving both Level 4 problems, another referral code is unlocked.

Level 5 is the final level with only a single question. The problem was a bit let down since it required knowledge of a complex mathematical theorom (which I read about on Wolfram Alpha) and afterwards, it was just 10 lines of code.

Once foo.bar challenge is completed, we get an encrypted string which can be decrypted using the code present in this gist. It took me around 3 months in total for completing the challenge; mostly because I took long breaks in between asking for the problems (yes! after solving each problem we can choose to take a break or ask for the next problem).

Conclusion

I would like to make it clear that I don’t do Competitive Coding very often though my maths is above average. All the questions (apart from Level 5 problem) are perfectly doable with doing online research and learning the concepts on the go.

Tell us, what happened afterwards?

Oh sure! After level 3 I got contacted by a Google staff who asked me for my details. He suggested me to apply through Google Careers page when internships start accepting applications and inform him which ones I’m applying to. I did the same.

Few days after making him aware of my application I got connected with a Google Recruiter and the selection procedure for internship began with Coding Round (which I’ve cleared as of now) and now is onto the telephonic interviews. If selected, I would be writing about the experience of that as well.


Me

I'm intrigued by human psychology and code backend for videogames. I live with a philosophy to be simple, true, and kind always. I enjoy taking days slowly and writing when I learn something new - ah! that reminds me, I enjoy learning from new experiences a lot.