Google: Software Developer Intern - Fall 2018

How it worked: 

  • I applied on WaterlooWorks & Google's website
  • Recruiter reached out via email, they had an NDA I had to sign, then I made a profile on their recruiting website
  • They held an interview prep session at MC the night before of the interview
  • The morning after I had two back-to-back 45 min interviews.
  • Interview is broken down to:
    • 5 mins introduction
    • 35 mins coding challenge
    • 5 mins for Q&A (if you have any)

Tips: 

  • Google interviews ALWAYS ask you to write code on a white board, there won't be any fancy coderpad or IDE's so be sure to practice just doing something on a white board. Write a merge sort, heap sort, whatever... Just do it on a white board because it's a different experience.
  • Write code, not pseudocode! The assumption is that if they run your code, it will work. Be sure to follow the syntax rules, the interviewer pointed my syntax issues out cuz I was going off on the whiteboard, and didn't pay attention to the syntax at first.
  • If they tell you to walk them over your code after you're done, it's probably because u have a bug, and they wanna notice if you catch it. That's their hint.

First Interview:

Question: Given a hangman game, write a function that takes guesses.

  • You may assume input board is of the format '---a--b–' every time it calls ur guess function. The dashes are the inputs that have not been guessed yet.
  • No special chars, only lower-case alphabets.
class Solution(object):
	def __init__():
		pass
	def guess(board):
		return '' # some character

Second Interview:

Question: Let's say the email system breaks in a company, and the CEO wants to send a message to everyone, how he does that is that he messages all of his direct reports, and his direct reports message their direct reports, and so on and so forth until everyone gets that message. Assume that you know for every person, when they check their phone next. Write a function that tells you the time after which everyone will have received the CEO's message.