Google | L4 | Oct 2019 [No Offer]
Anonymous User
15126

I want to share my experience with the LeetCode community. Although I got rejected, I would like to give my 2 cents. Please do solve some quality problems, dont focus on solving more and more problems, just think about the problems and give it enough time to sink in. I have seen people cracking Google interviews just by solving 40 50 leetcode problems and have seen people getting flunked even after doing 200+ problems. The Only thing which can save you in interviews is your thinking ability. So, do some logical thinking everyday and read some Engineering Blogs that can help enhancing your Logical Thinking.

Round 1

Given a byte[] array, write a function byte[] readBits(int numBits) starting from LSB towards MSB. for ex, if function called to read 3 bits, read the last 3 bits from the byte and mask the remaining bits with zero. The algorithm has to be designed in such a way that we should read the bits based on the given input and save remaining bits for subsequent reads.

Round 2

RateLimiter Java: We need to write a function to rate limit the functions based on the time, for example, if we pass Runnable and time to a function, system should detect if the function is authorised to run. Basically, we want to limit the functions to run given the time. second part to this was we are also given a total number of executions it can run during that time frame. It was more like a sliding window concept.

Round 3

This was a NP Hard problem, Interviewer asked to write an algorithm to find Perfect Squared Square. You can find some examples of Perfect squared square online.

Here is how the Perfect sqaured square looks like, every square inside a square with distinct sizes.

image

Round 4

Given a String, validate if it is a valid identifier. If any characters in a string are appearing more than 3 times consecutively, the string is invalid else valid. Follow up to design a algorithm to find such valid identifiers and design a system.

Round 5 (behavioral)

  1. Tell me a time when you disagree with your code reviewer and have some conflicts, how will you deal with it
  2. Tell me a time when you faced failure and what are the learnings
  3. Tell me about a time when proper details were not given for a project and how did you go about finding all the details.
  4. imagine a time when you were not getting along with your coworkers and your WLB is messed up, you as an Individual contributor, what can you do about it
  5. Imagine you are senior manager and your teammates are not getting along, how will you dela with that
  6. Imagine if you are an HR and you want to encourage inclusion in your company, what steps would you take for that.

Comments

For some reason , I am not able to reply to any of the comments because of a LeetCode bug it seems, but here are few comments.

  1. I have around 3.5 Yrs of Experience.
  2. Regarding Round 2 , The reason I mentioned this as a Sliding Window is because at every request, the new window is created, let say we are allowed 2 requests every 500 ms, and the request comes at 100, 499,701,702,703 etc , then if you have a fixed window, you will accommodate reauest starting at 702 as well which is a violation for a window 499-999. Hope it clarifies.
  3. Also, Grokking the System design can be of great help to crack System design interviews, apart from that, HighScalability.com, FB engg blogs, Indeed Blogs( they have solved some crazy problems related to scalability), Palantir, PayPal etc. I will update the thread with more information.
Comments (32)