How to Effectively Use Mock Interviews to Prepare for FAANG Software Engineering Interviews

Think Software
6 min readNov 7, 2021

One of the best ways to prepare for a technical job interview is to have mock interviews. If you are preparing for software engineering positions in FAANG (Facebook, Amazon, Apple, Netflix, Google) or similar other big technology companies (e.g., Microsoft, Salesforce, Oracle, VMWare, and others) then you should also look into mock interviews for improving your interview skills. This advice is applicable whether you are preparing for coding or system design interviews. Please read this article till the end because, in the end, we are discussing how you can effectively use mock system design interview videos to prepare for system design interviews in FAANG and other big technology companies.

If you have friends working in these big technology companies, who are also experienced interviewers in these companies, then best is to ask them to take your mock interviews and provide you feedback. Nothing beats having a good friend, who is also an experienced interviewer in these companies and who knows first-hand knowledge about the interview process and what the interviewers in an interview loop usually look for in candidates while interviewing them for software engineering positions, to take your mock interviews, whether coding or system design and provide you detailed feedback with areas that you performed well in the mock interviews and areas where you need some improvements.

Unfortunately, most candidates don’t have the luxury of having a good friend, working in these companies, and also an experienced interviewer. In this case, they look for other alternatives. You may find some paid mock interview services. However, we don’t know whether you can receive the right level of guidance and help in your preparation from those paid services. People have complained about those services that it all depends on the interviewer that you may get from those paid services. Sometimes you are connected with an experienced interviewer who can provide you with good guidance but other times you may not be that lucky.

The best, in this case, would be that you find free mock interview examples that you can go through to prepare for your technical interviews. However, the important question is that how can you utilize the mock interview examples to improve your interview skills. This is what we are going to discuss in this article. We are going to discuss how to utilize the system design mock interview examples to improve your interviewing skills, especially for the system design interviews.

You can find great system design mock interview examples on Youtube. E.g. consider the following Youtube video. This video is an excellent example of how deep an interviewer can go in evaluating a candidate in a system design interview, especially if you are targeting software engineering positions equivalent to Google L5/L6, etc. Also it shows how the candidate should tackle the questions from the interviewer.

However, most people use these mock interview examples to determine what is the solution for designing such a system. This is a wrong approach to learn anything from these mock system design interview videos. It is never guaranteed that the way a system is designed in a mock interview is the right way to design such a system. A system design interview is an open-ended interview that could start with the interviewer asking the candidate to solve a vague problem. However, the design of the solution and the direction where the interviewer wants to take the candidate in designing the system may vary from interviewer to interviewer and from candidate to candidate. It is not something that is set in stone. Thus, if you watch a system design mock interview and then think that you can design the same system the same way if asked in your system design interview, then you are wrong. E.g., consider the following Uber system design mock interview:

If you have gone through this video, you can notice that the way the candidate designed the system is totally dependent on the set of requirements that were agreed upon between the interviewer and the candidate at the beginning of the interview. Also, the way the candidate designed the service and the details that were discussed in the mock interview is totally dependent on the circumstances that were present to the candidate at that time. So, you must be thinking now that if this is the case then how can you use these mock interview videos to your advantage?

The main thing to understand is that you should use these mock interviews to identify what are the things that the candidate has done right and what are the things that the candidate has done wrong in the mock interview. Usually, this can be done only if you are yourself an experienced interviewer, or you have gone through a large number of mock interview videos having detailed feedback in those videos that has taught you what the candidate has done right and what he has done wrong. For this purpose, we have introduced a large collection of mock system design interviews that are available free, as a bonus, with our course “The Distributed System Design Interview Bible”.

This course is the best online resource that you can use to learn about various aspects of distributed systems, improve your distributed system design skills, and ace your next distributed system design interview. We have added a large number of free mock system design interview videos as a bonus feature in this course and more mock interview videos are being added every month.

When you go through these mock system design interviews, you will find that these mock interviews have some texts feedback embedded within the mock interview at different positions that highlight the do’s and don’ts at that specific time in the mock interview. There are feedbacks providing what the candidates have done right at a certain time and what the candidates have done wrong. You will also find multiple mock system design interview videos for the same system and you can compare how the different interviewers performed w.r.t. each other in those mock interviews. Thus the main things that you should look into these mock interview videos are:

  1. The correct format of the system design interviews i.e. what is the structured way to solve any system design interview.
  2. The different mistakes that a candidate has made in a mock interview, learn from those mistakes so that you don’t repeat those mistakes in your system design interviews.
  3. How a candidate is supposed to drive a system design interview? Understand in the example videos what went good and what went wrong so that you can be considerate of them in your system design interview.
  4. What types of questions an interviewer can ask in a system design interview? So that you will be ready for such questions in your system design interview.
  5. Check what answers given by the candidate were red flags so that you can avoid them.
  6. Check how the candidate gave answers to some other questions, if they were good (as mentioned in the feedback of the mock interview videos), then you should adopt a similar approach in your interviews.
  7. Put yourself in the position of the candidate and think how would have you performed in the interview? How would have you answered a question that the interviewer asked in the mock system design interview if you were the candidate?
  8. Look at the way the candidate answers some questions and evaluate yourself if there is a better way to answer or not.

In the end please note, nothing comes for free or without an effort. If you want to get a job in FAANG or other big technology companies, then you need to improve your interview skills (including your system design). For improving your system design, you should look at different avenues for improving your system design skills. One way is to go through Youtube videos such as the following:

The other examples are some books/courses like “Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems” or the “The Distributed System Design Interviews Bible”. Eventually, what you need is to gain enough knowledge of how distributed systems are designed and how they work so that you should be able to design any system that is asked by the interviewer whether you have read about its design somewhere or not.