What is this FooBar Challenge...
So for the last couple of months I have been addicted to these challenges. Its a fun game to test your programing knowledge; I also hear it’s a Google recruiting tool, but I haven’t made it far enough to really know. From all I have looked up online it seems the challenges I am doing are newer than the “Beta Rabbit” ones that people saw in an earlier challenge and have posted answers to. Not sure if Google is making a new hiring push or just opening up the challenge again with new problems. What I do know is that the challenges are fun, if you are in to coding challenges. They definitely have tested my coding abilities, and have broadened my algorithm knowledge. I know all the basic data structures and algorithms that were taught while getting my degree. But, some of the questions lead me to new algorithms I hadn’t been taught in any of my schooling. I enjoy learning and being challenged so these challenges are right up my ally. I don’t ever think it will lead to anything with Google, and that’s not why I’m really attempting them; although I wouldn’t mind. I just enjoy the process of learning and it is getting my coding skills back up to par as I prepare to look for software engineering and development jobs.
The Google Search
The challenge start out simple enough your type “request” in the terminal receive the challenge and have 48 hours to solve the initial challenge as a guest. They can usually be solved in a couple hours at most, but its nice that they give you a couple days in case your at work or have other obligations that need your attention. The one caveat is that the browser window can’t be closed, or lose internet connection, otherwise your challenge will be over. You need to complete the first challenge to be able to login to again. Once you have completed the first challenge you are prompted to sign-in to your Gmail account to continue. Once you have done this you can request another challenge or request another challenge at a later date when you have more time.
So what do these challenges consist of? Well the initial problems are pretty straight forward, testing your basic coding abilities. I don’t want to give away the problems for people who might still be trying to get into the challenge, but I will slowly be adding my solutions to my GitHub repo. To the left is an example of one of the initial challenges and the test cases they provide you to make sure your code works. The solution to the problem is in my repo now, but don’t look if you want to figure out the challenge yourself. I have been taking screen shots like these of all the challenges I have faced so that way I can post them somewhere down the line when this version of the challenge is over. My reasoning for wanting to do this is when I was doing research on the web about the challenge a lot of people commented that they wanted to see what the questions were likes, so they could try to solve them just for fun. Knowing this, I want to post them for those people, and my solutions to the questions. I don’t have solutions for all of the challenges as there have been a few that I couldn’t pass. Either it was a single test case that I was unable to pass due to bounds, or with later the challenges they get pretty difficult and I couldn’t figure out the correct answer. As others have stated on other blogs or posts on these challenges, someone creating these challenges probably has advanced math degree of some sort. From what I’ve seen so far a solid understanding of data structures and commonly used algorithms is needed, as well as a good grasp on linear algebra for some problems. A lot of the challenges are variations on other coding problems that are out in the wild.
Just Some Final Thoughts
If you actually read this whole post you are probably wondering how I got into the challenge so many times. You need some patience and those search phrases I mentioned earlier. I removed all my history to the begging of time a couple times, and also uninstalled chrome a couple of times. That might work for a shot or two, but I also used the search phrases on multiple computers with different IP addresses. I work in IT so I had an abundance of computers to try the searches on. So try on any computer you can get your hands on, but remember you need to keep the browser window open to be able to move on. Once it is closed there goes your shot. Also, if you trick the system into giving you another shot make sure to create or use a different email than you used before. Google won’t give you another shot with a previously used email. As I stated before I enjoy these challenges and just wanted to see how many there were and which ones I could solve. I’m sure if I even got past the round where they supposedly request your information I wouldn’t get a call back. If your up for a challenge and can get the browser to talk Google’s language the best of luck coding, and enjoy the ride. Its fun and sometimes frustrating, but will make you a better coder in the end.