How I failed Google, Amazon, Uber Interviews?

Vijay Mourya
Geek Culture
Published in
4 min readNov 30, 2021
Learn from your rejections!

It all started when I decided to leave my first company (CarWale) and started preparing DSA with the help of coding ninjas course…

I learnt necessary data structures and few algorithms and the best part was — I understood Recursion pretty well and good.

I failed in screening round of Microsoft but managed to crack offers from Tower Research Capitals and Flipkart.

Few months at Flipkart, then I got interview call from Airbnb. They have pretty long interview process:

2 online coding assessment tests, 2 problem solving rounds, a tech experience and an architecture round and finally 2 core values(behavioural) round.

I cleared all of them except one problem solving round didn’t go well (gave a proper working approach but couldn’t code within time frame), I felt quite positive with the results, so started applying and then came the re-interview schedule. But no luck! didn’t go well and Rejected!

Now calls started coming, I went in the flow and cracked one US based startup full time remote opportunity (35L Base and Esops), but I declined the offer due to job security concerns.

Then cracked one more offer from Gameskraft, opportunity was exciting and seemed to be matching my interest. Accepted!

Actual Job hunt started here!

Got calls from Google, Amazon, Microsoft, Swiggy, Uber, Sharechat, Meesho, OLA, OYO, Nutanix, Tekion, Piramal!

Started interviewing, got offer from Tekion Corp. (current company) and Microsoft.

Failed in Google, Amazon, Uber, Swiggy, Sharechat interviews! Few had to dropped due to companies budget constraint.

How I cracked Gameskraft, Microsoft, Tekion?

I started brushing up DSA, took a Udemy course DSA levelup by Prateek Narang, went through all the problems and tried solving it by myself.

Read few articles on Medium and other site on system design concepts.

During interviews, tried to come up with brute force atleast and then thinking on optimizations.

Ask clarifying questions during interviews

Discuss freely during system design interviews, as system design interviews are basically open ended discussions. Speak as if you are discussing it with your team member(depends on interviewer too).

Practice behavioural questions (those are basically situation based questions)

Practice! Practice as much as possible!

How I failed in Google, Amazon, Uber, Swiggy, Sharechat interviews?

There will be 2 sections here: first for Google and second for rest. As Google interview process differ from rest of them.

  1. Google

When you are interviewing with Google, make sure you have solved sufficient number of medium level problems on Leetcode, which I didn’t.

When the interviewer frames the questions, take a chill pill, relax and read the question, ask clarifying questions, discuss the edge cases if any and then think about the solution, here I did a mistake in my very first interview(you need to clear the screening round first to get your first interview and screening round doesn’t contributes to final decision, its a screening round no matter how well you performed)

Even if you couldn’t perform well in your first interview, it isn’t an end, try to perform well in rest of them you still got a chance of getting in. I felt low and messed the rest.

2. Amazon, Uber, Swiggy, Sharechat

Before interviewing for SDE2 or higher levels, make sure you are well versed with technical vocabulary. I mean, you know the concept, you are doing great but get yourself familiar with the names too, that will help you save your time during interviews in explaining those concepts.

You will be asked about your past projects, make a list, write the descriptions, and decide yourself which one looks worth explaining on basis of complexity, impact and your learnings OR ask for help from your seniors/mentors. I messed it pretty bad here, though I had worked on message queues, architecture involving multi service communication and even worked on adding a fault tolerant layer on microservice, I got a feedback that I lacked exposure, haven’t worked on complex projects, have no experience with message queues, etc. My bad, I didn’t picked wisely and that cost me pretty bad. But you should learn from my mistakes, instead of learning it hard way as I did.

Still there are so many concepts like distributed transaction, maintaining consistency and tons of stuffs we all need to get well acquainted with. Learn design patterns, to make your low level design clean and extendable. There are so many things to learn.

If you are into Software Engineering, you have to learn until the day you get retired.

Yesterday there was Jquery, then came BackboneJS, Now ReactJS, future? who knows! But JavaScript is common in all of them.

Similarly, learn concepts, design will come and go, frameworks will come and go, patterns will come and go, but the basic pillar will remain same!

The main motive of writing this article was basically I don’t want you to repeat the same mistakes as I did.

You can anytime reachout to me via Linkedin or Gmail, I will be happy to help you in my best possible capacity.

--

--

Vijay Mourya
Geek Culture

Software Engineer at Tekion Corp. | Ex-Flipkart, Carwale | Full Stack Developer | Backend Developer