How to crack technical interview – Google, Amazon & more

Google Interview Amazon interview

Hello guys! If you are here, you are probably thinking about changing jobs. Or already giving interviews. You might have an offer in hand and want to try your luck with the big companies. It’s very tough to clear technical interview rounds at FAANG level companies and rightly so. If it was easy, everybody would be working at these companies.

This article will guide you through the technical interview process at software companies like Google, Amazon, etc. This post is not just limited to cracking interviews at just Google, Amazon, or any specific company. It is applicable for most product companies as the interview process is almost the same.

We will also go through the dos and don’ts in these technical interview rounds. These points will be very important in a software interview.

For each and every interview round, we have compiled a list of important questions. These interview questions have been asked in technical interview rounds at Google, Amazon, Microsoft, Facebook, Apple, Flipkart, and others. Also mentioned in the brackets are the names of the companies the respective question was asked in.

Before we get into the details, let me give you some information regarding coding interviews. It isn’t easy to find good courses for preparing for a coding interview. I found one such website that provides the best courses on interview preparation, that too at a very reasonable price. Please visit Grokking the Coding Interview, which is the best course available for coding interviews.

Let’s go through the technical interview rounds at these companies and what all do you need to prepare to clear these rounds of interviews.

Different Interview Rounds

1. Online Assessment round

This is usually the first round of any software company. The companies want to filter the candidates at the first level itself by giving them an online test. You will be given 1 or 2 problems which are generally designed to judge your problem solving skills.

In the case of Google, this interview round is usually there for new graduates and interns. In the case of Amazon, this round is there for all candidates applying for Software Development Engineer (SDE) positions. This round is generally a part of the technical interview structure at most software companies.

Companies That Have This Round

This interview round is generally a part of the interview structure of some companies. Companies that have online assessment rounds are:

  • Amazon
  • Microsoft
  • PayPal
  • Ola

Expectations from this round

You should be able to complete most, if not all of the questions in the online assessment. The code will run against a set of tests in the online assessment. If all the test cases pass, you are good. If not, you need to find the flaw in your logic and correct it. Make sure your code passes as many test cases as possible.

Important questions

2. Phone Interview round

Some companies have a phone interview round for assessing the technical knowledge of a candidate before the coding round. Usually, this interview lasts for a duration of half an hour to one hour.

In this round, 1 or 2 problem solving questions are asked to the candidate and the candidate is expected to explain the complete logic to the interviewer. You might also be asked some theoretical questions based on your primary coding language. A Coderpad/ Codility link will be provided, where the candidate will be writing the code. The interviewer can see what the candidate is writing and can judge on the basis of the code written.

Google usually has a telephonic interview round, it being the first round for an SDE role. Amazon, on the other hand, generally doesn’t have a phone interview.

Companies That Have This Round

Some of the companies that have phone interview rounds are:

  • Google
  • Uber
  • Golman Sachs
  • LinkedIn
  • Bloomberg

Expectations from this round

You are expected to write fully working code. Additionally, you must be able to explain your implementation. If you have used any approach, you might need to justify using that approach. Be ready for additional test cases from the interviewer which might break your code. You must handle all edge cases as well.

Important questions

3. Coding round

There are typically 2-3 coding rounds for all companies. This technical interview will evaluate your coding and programming skills. The questions in a Google interview or an Amazon interview are usually in the Medium to Hard range.

Typically you’ll be given 1 or 2 problem statements in each round and you’ll need to write code(working code preferably). After writing the code, you will need to run the code against a set of inputs (either provided by you or given by the interviewer).

For details on how to prepare and crack the coding interview, please refer to the article How to Prepare for and Crack the Coding Interview. It contains the topics and algorithms you need to study to prepare for the coding interview.

Companies That Have This Round

This round is a part of the interview structure of all companies.

Expectations from this round

Companies like Uber, Google, Amazon expect you to write perfect executable code in this interview and they will test your code against different inputs. Other companies are a bit flexible. Suppose you wrote the correct code for 2 out of 3 questions. And for one remaining question, you are not able to write executable code but are able to explain the correct logic & write a major part of the code, it’s fine.

Important questions


Also check: Best Coding Platform To Become A Coding Expert


4. Machine Coding round

This is a new round that has been introduced in the interviews for the past few years. In machine coding rounds, you will have to design the entire system in approximately 2-3 hours. You may be asked to design a small system like a coffee machine or digital wallet. And you need to write the code and run it at the end of the interview.

Companies That Have This Round

There are a handful of companies that have machine coding rounds. Some of the software companies that have machine coding rounds are:

  • Flipkart
  • Uber
  • Swiggy
  • Gojek
  • PhonePe
  • Razorpay
  • Navi
  • Udaan
  • Supr Daily
  • Cred
  • BrowserStack
  • WhiteHat Jr

As this is a pretty new interview round, I have written an entire article on it and covered it in detail. It also contains the list of questions asked in Machine Coding Rounds. Please visit Machine Coding Round – What is it & how to crack it for more details.

Machine Coding Round Questions & Solutions:

The list of questions for machine coding rounds can be found on the link above. As of now, I have included the machine coding round solution for one of the questions, Digital Wallet Design. You can find the solution and the code in the link below.

5. Design round

There are typically 1-2 design rounds and the questions vary from company to company. There are two types of design rounds. Google interview focuses on HLD, Amazon interview has both HLD & LLD rounds. Similarly, some companies have either one or both of these rounds.

LLD(Low Level Design)

In this round, you will be given a problem statement and you will need to write low-level code. This might consist of classes and interfaces and you will need to define the relationship between the different classes in your code. You will need to write the data members of these classes as well and explain the design to the interviewer.

You might also need to give different tables in your database and the relationships between them.

Companies That Have This Round

Some companies that have Low Level Design rounds are:

  • Amazon
  • PayPal
  • Goldman Sachs
  • Microsoft
  • Flipkart

HLD(High Level Design)

This round focuses on your system design skills at a high level. The goal of this technical interview round is to design the system w.r.t different components like a load balancer, web server, app server, etc. You might also need to mention caching mechanisms used in your design.

The discussion can also include the type of database you will be using, whether it will be a SQL database or a NoSQL database. You will also need to justify why you have used one and not the other.

Companies That Have This Round

Some companies that have High Level Design rounds are:

  • Google
  • Facebook (Meta)
  • Amazon
  • Microsoft
  • LinkedIn
  • Uber
  • Flipkart

Expectations from this round

This is a type of discussion round(not always though). In this round, you need to consider scalability, availability among other things while coming up with a solution. Your approach need not be the best approach but it needs to fulfill the requirements effectively.

Important questions

  • Airline Booking System (Amazon, Flipkart, PayU, Priceline)
  • API Rate Limiter (Flipkart, Atlassian, Amazon)
  • Parking Lot Design (IBM, Swiggy)
  • Library Management System (Amazon)

6. HR round

Your behavioral skills will be judged in this interview. Basically, you will be asked a lot of hypothetical questions and you will be judged on the basis of how you tackle the situation.

In the case of Google, this interview round is known as Googleyness round. This Google interview round typically lasts for 45 minutes.

Some companies don’t have a separate round for behavioral/ HR questions. Instead, in each round, you’ll be asked some questions which will be based on behavior or past experiences. In the case of Amazon, you will be asked a lot of questions related to leadership principles (specific to Amazon only) in each round, so they don’t have a separate HR round.

Companies That Have This Round

Most companies don’t have a separate HR round. Some companies that have HR rounds are:

  • Google
  • Facebook (Meta)
  • Uber
  • Bloomberg

Expectations from this round

You will be given some hypothetical situations and you need to come up with ideas to handle them. You can use past experiences to come up with a solution. And if you haven’t encountered such a situation before, you need to think and come up with a solution.

Important questions

  • You need help while doing something at work, but your colleague isn’t cooperating. In this case, what will you do?
  • Have you ever missed a deadline? What did you learn from it?
  • What is the most challenging work you have ever done?
  • Have you ever had a disagreement with your manager? How did you handle it?

7. Hiring Manager round

This is a type of Techno-HR round where you can be asked just about anything covered in all the other rounds. It might contain technical questions, design questions, or HR-related questions. But the questions won’t be very difficult. This round will be mostly of medium difficulty.

Companies That Have This Round

Most companies have a hiring manager round in their interview structure. This is the round where candidates meet their future managers if they are hired. Some companies that have hiring manager rounds are:

  • Google
  • Amazon
  • Microsoft
  • PayPal
  • Bloomberg
  • Flipkart

Expectations from this round

This will most likely be the last round before the offer is released. The goal of this round is to check if you are fit for the role and the company. So, don’t be too worried about his round.

Important questions

  • If something goes wrong in Production, how will you deal with it?
  • What is your weakness in the current project? What are you doing to improve it?
  • How do you deal with conflicts at the workplace?
  • If you have to improve one thing in yourself, what would it be?

Also check: The ultimate guide to interview preparation


Resources for the Technical Interviews

Google interview Amazon interview

Now that we have gone through the different rounds of technical interviews, we’ll be covering the different resources you can use for interview preparation. These resources will help you prepare for the technical interview if you dedicate enough time and attention.

Coding round

Leetcode – One of the best resources available for the coding rounds. There are a lot of questions that you can solve with difficulty levels ranging from Easy to Hard. Our suggestion is to initially pick the Easy level questions, and then gradually move onto Medium level. If you are interested in going all the way through, you can try Hard level as well. You can find a lot of good solutions in the Discussion section of the problems on Leetcode.

If you want to find out what options are available in terms of coding platforms other than Leetcode, you can check the article Best Coding Platform To Become A Coding Expert. It lists the features of all the platforms along with their pros and cons.

Abdul Bari – If you want to understand concepts and then go on to solving coding problems, this Youtube channel is one of the best places to start. You won’t learn coding from here, but the concepts you learn here will help you code better.

Aditya Verma – This Youtube channel is one of the best resources for Dynamic Programming concepts and coding. Not just that, this channel also contains a large number of resources for topics like Recursion, Stack, Binary Search, etc. This channel has videos in the Hindi language, so it might not cater to the non-Indian public. This channel has good English subtitles though.

Coding Ninjas – This is another good platform for coding. They have a lot of good problems and you can check which problems were asked by which companies.

Machine Coding round

Machine Coding Round – This article covers machine coding rounds in detail. It covers in detail what you need to study to prepare for this round. It also covers the approach you need to use to crack this interview as well as a list of sample questions.

Digital Wallet Design – This article contains the solution and code for one of the questions asked in Machine Coding Rounds. The question is to design a digital wallet like Google Pay or Paytm, but on a much smaller scale. You can refer to this article for detailed design as well as the thought process. This question was asked in Flipkart.

Design round

Gaurav Sen – This Youtube channel is undoubtedly one of the best resources available for system design. You can find a lot of videos on this channel related to system design concepts. And you can also find a lot of system design videos here. This channel has important videos on concepts like load balancing, consistent hashing, database sharding, etc. Some popular system design videos on this channel are Tinder design, Instagram design, WhatsApp design, etc.

Tech Dummies Narendra L – This Youtube channel is also a valuable resource for system design interviews. This channel has videos on some of the most important system design questions like Uber design, Netflix design, Twitter design, etc.

codeKarle – This is also a good channel for system design videos and they cover a lot of different system designs you can take advantage of. This channel has a lot of system design videos, most popular of which are Zoom design, WhatsApp design, Google Maps design, etc.

Grokking the System Design Interview – One of the best resources available on the internet for system design interviews. This is a paid service though, you’ll need to pay a nominal price for the course.

How To Crack The Technical Interview

Now that you know what the rounds are in these technical interviews and what resources you can use to prepare for these interviews, you can get yourself ready for the interviews. It is up to you to use these resources to prepare. Some people might take days to prepare for the interview, while some might take months.

But what should we do during the interview to make sure we clear the interview? Here are some of the things you need to keep in mind for these technical interviews:

Planning

  1. Once you receive the problem statement, read and re-read the requirements carefully. Understand the scope of the problem, the expected input, and the output for the problem.
  2. Convey any assumptions you make to the interviewer. If they have any issues, they will point those out.
  3. If you have any doubts, ask questions to the interviewer. There’s no issue in asking questions. In fact, it is a positive trait.
  4. Don’t jump directly into implementation. First, evaluate all the approaches and decide on the best one. There may be a better approach than the first one that comes to your mind. Relax and think if it can be done in a simpler/ better way.
  5. Once you have decided on an approach, tell the interviewer about the approach you have in mind. And if the interviewer is okay with it, you can start with the implementation.
  6. Plan your time accordingly. Think about how much time you need to code/ design, how much time you need to try some tests, how much time you need to do a dry run. Always have some buffer time for changes later.

Implementation

  1. In coding interviews, think from extensibility and readability point of view. In design rounds, keep availability, scalability, fault tolerance in mind.
  2. The most important thing in these technical interviews is the requirements. If the requirements are fulfilled correctly, the interviewer might look over some other minor issues you implementation might have.
  3. Design/ code keeping edge cases in mind. If you handle all the edge cases on you own without the interviewer suggesting it, you might score some brownie points.
  4. If midway through the implementation, you find the approach you had initially suggested won’t work and you are going to implement it some other way, communicate to the interviewer about the new approach so that they are aware of what you are doing.
  5. Don’t be in a hurry to tell the interview about the implementation after your coding/ design is done. First, do a dry run of the implementation in your mind. This way you’ll be able to catch any mistakes faster.

Review

  1. Explain the interviewer the design you have chosen for your implementation. Explain why you thought this approach is better than the other approaches.
  2. Do a sample demonstration of some input cases and what the output will be for the input provided.
  3. The interviewer might ask you to run the code/ design against some inputs of their own. These inputs will most likely test boundary conditions.
  4. It’s possible your implementation might not work for all the test cases. Don’t panic. Think over what you could do different to handle that test case.
  5. Make corrections if necessary. At this point, it is not advisable to do any major modifications in your implementation.

Most importantly, be calm. Because a calm mind is always able to come up with solutions better than a nervous mind.

Good luck with your interviews. 🙂

If this article helped you in any way in preparing for interviews or getting a job at Google, Amazon, or elsewhere, please leave a comment below or email me at techwithkp06@gmail.com. I would be very happy to know that I helped someone achieve greater heights in life. 🙂

To keep yourself up to date with our latest content, please subscribe to our newsletter by dropping your email address here: Signup for Our Newsletter.

Please follow us on Medium.

Further Reading

Leave a Reply

Your email address will not be published. Required fields are marked *