Wednesday, March 9, 2022

Google interview: Case study

 Here is the article on Leetcode.com

Google [was in hiring committee stage]

  • Position
    • Software Engineer
  • Application
    • Google recruiter cold-messaged me on LinkedIn like 6 months earlier, when I wasn't interviewing
    • I followed up with that recruiter and was able to go directly to an onsite interview somehow
  • Stage 1: Call with recruiter
    • Quick and straightforward conversation about the position, the company, my background/experience, and the interview process
  • Stage 2: Virtual Onsite
    • Interview 1: Coding Challenge
      • Coding Challenge
        • Write a function that takes an array of words and returns their shortened letter-count version, i.e. ["google", "word"] => ["g4e", "w2d"]. If the shortened version is not unique, expand out 1 letter at a time
    • Interview 2: Coding Challenge
      • Coding Challenge
        • The question was a real-world application of weighted Dijsktra's algorithm
      • Coding Challenge Result
        • I made the mistake of not practicing Dijsktra's algorithm, so I pretty much bombed this round, but I tried to fail as gracefully as possible
        • Tried to rack up points on the parts of the problem which were more general math, and then I just kept asking questions, including questions about how Dijkstra's algorithm works
        • The interviewer was nice and answered all of my questions where possible, which helped me feel less embarassed/incompetent
        • The prep materials said to practice Dijkstra's algorithm but I ignored it because i was like, "nah i doubt they would ask that during a 45-min interview", and lo and behold. Moral of the story, study EVERYTHING on your guide (whichever study guide the company gives you)
    • Interview 3: Coding Challenge
      • Coding Challenge
        • Something about tracking when RPC calls were made and detecting when a particular call exceeds the timeout threshold
    • Interview 4: Googlyness
      • Was asked several situational behavioral questions
    • Interview 5: Coding Challenges
      • Overview
        • Was asked 1 coding challenge, and to discuss the start of a second technical challenge
      • Coding Challenge 1
        • Don't remember the exact problem, but something related to taking an array of numbers and a target number, and then rotating the array upon the target number without changing the original order
      • Technical Question 2 (no coding)
        • Given a map as a square, and a set of locations on the map, users are able to select a rectangle on the map and all of the locations on the map are returned
        • How would you preprocess the map data so that the find operation for the locations in the inner rectangle can be done in less than O(n) time?
  • Interview Result
    • Feedback on my performance was mostly positive, so I made it to the hiring committe stage. At this point, the HC decided that because of my poor performance in the second interview but strong performance in the other rounds, they wanted me to do two more 45-min interviews focused on front-end and JavaScript (since JS is my strongest language)
    • While waiting to schedule the additional two interviews, I started the team-matching process and met with a team that I ended up feeling really strongly/positive about
    • Shortly before my interviews, however, FB made me an offer, and that was my top choice so I accepted FB and ended my application/candidacy with Google and thanked them for the great opportunity and experience
  • Interview Experience
    • Very positive
    • Recruiters were outstanding
    • Interviews were challenging
    • I enjoyed the engaging feedback from the interviewers during the coding challenges

No comments:

Post a Comment