Skip to content

lcsm29/goog-foobar

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Google Foobar Challenge

I recently heard about Google's foobar challenge, which is an invitation-only coding test platform of Google. The exact criteria of invitation is unknown (to me), but I think there are certain programming-related search terms that could trigger the invitation. I tried some of those proven working methods, including c++ move semantics, mutex lock, python list comprehension, python try except, arraylist java and angularjs directive, but nothing seemed to work out for me. I quickly gave up and created this repository so that I could just search and solve those problems, but I got an invitation soon after I solved one problem. If you want to know about the invitation criteria, here are the circumstances that caused the invitation for me.

Table of Contents

Level Name Solution Date Received
(Invitation No)
1 Braille Translation Python Jul 10, 2021 (#A1, #B1)
1 Minion Work Assignments Python Jul 11, 2021 (#A3, #A4)
1 Skipping Work Python Aug 29, 2021 (#A5)
1 Re-ID Python Jul 12, 2021 (#C1)
1 The cake is not a lie! Python Jul 11, 2021 (#A2)
2 Hey, I Already Did That! Python Aug 29, 2021 (#A5)
2 Lovely Lucky LAMBs Python Jul 10, 2021 (#A1)
2 Power Hungry Python Jul 11, 2021 (#A1)
Aug 29, 2021 (#A5)
3 Bomb, Baby! Python Jul 13, 2021 (#A1)
Aug 30, 2021 (#A5)
3 Find the Access Codes Python Jul 13, 2021 (#A1)
3 Prepare the Bunnies' Escape Python Jul 12, 2021 (#A1)
Aug 30, 2021 (#A5)
3 The Grandest Staircase Of Them All Python Aug 30, 2021 (#A5)
4 Escape Pods Python Aug 02, 2021 (#A1)
4 Running with Bunnies Python Jul 14, 2021 (#A1)

Levels

There are 5 levels and each level gives you a different number of challenges (which are randomly selected from a question bank), time limits, and perks when you finished the level. In order to progress to the next level, you need to submit solution(s) for every challenge it throws at you, and your solution must pass the blind unit tester provided by Google.

Level # of Challenges Time to Solve / C Perk
Level 1 1 168 hours None
Level 2 2 168 hours 1 x single-use invitation code
Level 3 3 168 hours Google recruit survey
Level 4 2 360 hours 2 x single-use invitation code
Level 5 1 528 hours

Environments

Initially, I thought the invitation only appears to someone who uses Chrome and/or logged into their Google accounts, because I didn't get the invitation when I tried those search terms without signing into my accounts, even though I did it on many browsers1 and platforms2 (1-2 times each). But Invitation #B1 changed everything. You can sign into your Google accounts on Level 1, and you're required to sign in for Level 2 problems, but no Google account (or specific browsers, etc) is required to get an invitation.

Invitation #A1: July 10, 2021

  • Search terms: headless chrome
  • The exact behavior that triggers the invitation:
    • Search the term above -> Click the first result -> Go back to search result -> Go to page 2 -> Go to page 3 -> Scroll up and down and wait a little;
    • then the invitation popped up, that reads;
      • Curious developers are known to seek interesting problems. Solve one from Google? I want to play No thanks Don't show me this again
      • (FYI, there are other variants, like You're speaking our language. Up for a challange? I want to play No thanks Don't show me this again)

Invitation #A2: July 11, 2021

  • Exact behavior: Search the term above -> Click the first result -> Go back to the search result tab -> Go to page 2 -> Go to page 3 -> Scroll up and down and wait a little

Invitation #A3: July 11, 2021

  • Exact behavior: Search the term above -> Click the first result -> Go back to search result -> Go to page 2 -> Go to page 3 -> Go to page 4 -> Go to page 5

Invitation #A4: July 11, 2021

  • Exact behavior: Search the term above -> Click the first result -> Go back to search result -> Go to page 2 -> Go to page 3 -> Go to page 4 (by clicking the next, not number)

Invitation #A5: August 29, 2021

  • Exact behavior: Search the term above -> Wait a few sec and it pops right up

Invitation #B1: July 11, 2021

  • Search terms: python list comprehension
  • Exact behavior: (After a few failed attempts on headless chrome and c++ move semantics) Search headless chrome -> Invitation started to pop up after I clicked one of the result already -> Went back to search result page but no invitation -> Search python list comprehension

Invitation #C1: July 12, 2021

  • Search terms: python try except
  • Exact behavior: (After a few failed attempts on python list comprehension and c++ move semantics) Search python try except -> Go to page 2 -> Go to page 3 -> Go to page 4
More details (which turned out to be irrelevant)

Invitation #A1: July 10, 2021

  • Browser: Google Chrome 91.0.4471.124 (Official Build) (64-bit)
  • Chrome setting (non-Incognito mode, logged into one of my Google accounts)
    • You and Google: Logged into one of my Google accounts (non-primary), sync enabled (encrypted with sync passphrase)
    • Cookies and other site data: Block third-party cookies in Incognito, send a "Do Not Track" request with your browsing traffic
    • Security: Enhanced proection, use secure DNS with Google (Public DNS)
    • Extensions: uBLock Origin
  • Google account settings
    • Web & App Activity: On, Include Chrome history and activity from sites, apps, and devices that use Google services, Auto-delete off
    • Location History: On, Auto-delete off
    • YouTube History: On, Include the YouTube videos you watch, Include your searches on YouTube, Auto-delete off
    • Ad personalization: On
    • Advanced Protection Program: Enrolled
    • Contact info: None (other than the email address of this account)
  • Google services tied to this account: Other than the basic ones (like Gmail, Drive, etc), Google Cloud (trial)
  • OS: Windows 11 Pro 64 bit (Build 22000.65) (Windows Insider Preview - Dev Channel)

Invitation #A2: July 11, 2021

  • Only the differences (from Invitation #A1) are listed.
  • Google account settings
    • Contact info: Two emails, two phones
  • Google services tied to this account: Google Cloud (paid), Google Domains, Google Voice
  • Google.com search settings: Open each selected result in a new browser window

Invitation #A3: July 11, 2021

  • Only the differences (from Invitation #A1) are listed.
  • Google account settings
    • Contact info: Two emails, one phone
  • Google services tied to this account: Google Fi (this account is not tied with Google Cloud)

Invitation #A4: July 11, 2021

  • Only the differences (from Invitation #A1) are listed.
  • Google account settings
    • Web & App Activity: Auto-delete On (3 Months)
    • YouTube History: Paused
    • Advanced Protection Program: Not enrolled
    • Contact info: Two emails, zero phone

Invitation #B1: July 11, 2021

  • Browser: Firefox 89.0.2 (I didn't sign in to any of my Google accounts on this browser, thus no Chrome or Google account related info on this section)
  • OS: Ubuntu 21.04

Invitation #C1: July 12, 2021

  • Browser: Chrome Canary 93.0.4570.0 (Official Build) canary (arm64) (I also didn't sign in on this browser, thus no Chrome or Google account related info on this section)
  • OS: macOS 12.0 beta 2 (21A5268h)

1: Brave 1.26.74, Chrome 91.0.4472.124, Chrome Canary 93.0.4570.0, Chromium 93.0.4573.0, Edge 91.0.864.64, Firefox 89.0.2, Firefox Developer Edition 90.0b12, Firefox Nightly 91.0a1 (2021-07-11), Opera 77.0.4054.203, Safari Version 15.0 (17612.1.18.1.3)

2: Arch 5.12.15-arch1-1, Fedora 34 (Workstation Edition), macOS 11.4 (20F71), macOS 11.5 beta 5 (20G5065a), macOS 12.0 beta 2 (21A5268h), Manjaro 21.0.7, Ubuntu 21.04, Windows 10 Pro for Workstations 19043.1083, Windows 11 Pro 22000.65, Windows Server 2019 17763.107, Windows Server 19042.508