How to prepare for a system design interview?

How to prepare for a system design interview?

How to prepare for a system design interview?

Claudia Roca

18 de enero de 2023

18 de enero de 2023

18 de enero de 2023

How to prepare for a system design interview?
How to prepare for a system design interview?
How to prepare for a system design interview?

Have you ever wanted to create software for a big company? Well, today we will bring this dream closer to your reality, but for that you will have to pass the system design interview.

Come on, we know you're really good, but you'll have to prove it one way or another, won't you? It's like that final exam they used to give you at school to see if you had learned the lesson.

Well, it's time for you to prepare yourself for one of the most important challenges of your career. It's time to do your bit for the company where you work.

What's a system design interview?

The system design interview is a test that a company will give you to evaluate your knowledge in the area of software development. In fact, the most interesting thing is that they will ask you to create an app on a web scale to determine that you are the profile they are looking for.

It's true that job interviews happen in all recruitment processes, but the truth is that no two interviews are the same. Therefore, forget about memorising patterns or common questions, because each one is different from the other.

Experts say that it all depends on the role you are going to play in the company. Thus, the first 10 minutes should be focused on understanding the problem and the requirements you need to meet to overcome the obstacle.

Then you can spend the rest of the time on the high-level design of the platform and then finish with the deep dive.

It's time for you to come along with us to discover all the elements you need to fulfil to pass this interview successfully.

Questions that are usually asked in a system design interview 

Of course, a person will be in charge of asking you the questions they deem necessary to determine that you have the skills to fill the role of software developer.

The process is actually very simple, they will give you a brief overview of the site and then ask you to design it according to some very specific parameters.

Although each test is different, most of the time they will ask you questions like:

How would you design Facebook?

While this may seem like an easy question, the truth is that it has a lot to hide. It's true that you know how the app works, but you have to connect it to the idea that’s been proposed.

Here you can take the opportunity to talk from a technical point of view about the web architecture and design of the platform. Then, you can emphasise the project and what you would do to make the most of it. 

Justify why this framework would be a better fit

We recommend that you spend some time thinking about the right answer, because every site uses frameworks that fit their interests better or worse. 

What you say will greatly influence the outcome of the interview. 

Steps to get you through a system design interview

So, you found out that you are going to be in a system design interview and you don't know how to deal with it? Don't worry, that's what we're here for. 

Let's take a look at the steps you need to follow to get through it successfully: 

1. Understand the problem

The mistake that many people make when they go to an interview is to let the interviewer ask all the questions without raising any objections.

It's true that he or she is in control, but any questions you have should be answered without fear of what the interviewer could say.

Best of all, someone who asks questions gives a very good image to recruiters because it reflects security and self-confidence.

In this sense, ask questions such as: What are the needs of the users? Who exactly is the target audience?

2. Make the proposal

Closely related to the previous point. When you are with the interviewer there will come a time when you have to make a proposal to make sure your idea matches what they are looking for in the project. 

Divide the site into 6 parts and then ask: What is the real problem the target client is facing? From there, you'll have everything much clearer to start working. 

3. Don't lose sight of the design

OK, you've got the right focus and all the information you need to get down to work, so it's time to get down to the design of the site.

Discuss with both the interviewer and the other members involved in the project important details such as the platform's backend features, caching, frontend functionality, the site's database and the interface you'll be using.

On the other hand, it's essential that you investigate which technologies you are allowed to use to create the site.

4. Emphasise points for improvement

You know what will surprise your interviewer? At the end of the interview, make a summary of the points that can be optimised for the project in question. 

Make sure that you don't sound arrogant by taking credit where credit has not been given to you. However, it never hurts to give your respectful point of view on how they can work to achieve success with that platform. 

Steps system design Interview

6 Tips for your next interview

The interview is a mechanism that not only evaluates your knowledge, but also the confidence in how you perform and solve the problem in question. 

Let's take a look at some tips to help you get through it and get the job you've been hoping for:

1. Talk to the interviewer

Come on, you may find the recruiter intimidating, but that doesn't mean you'll let them do whatever they want with the interview.

In fact, one of the things HR professionals value most is the candidate's character and personality. If you come across as shy and obedient you will generate doubts, as this could be reflected in the field.

That's why you need to have a conversation with your counterpart. Ask any questions you consider necessary to clear up any doubts about the project.

2. Clear and concise communication

Communication is one of the soft skills most valued by interviewers, so don't be afraid to speak up and make your point. 

State your solution, explain why you would go for each strategy and listen carefully to their comments. This will leave a good impression and you are likely to be called back for the next screening.

3. Justify your choices

If you choose a solution, you need to spend enough time explaining why you chose it.

Be careful, this point is crucial as it will demonstrate your real level of expertise. You can rely on other projects you've done or on a theory you have recently developed.

It doesn't matter how bad or good the app is, the most important thing is that it reflects your problem-solving skills and confidence above all.

4. Always take a standard approach

Once you're designing the app, if you spot a challenge the best thing to do is to apply the standard approach before innovating on practices you've never executed before. 

Many candidates try to surprise their recruiters this way, but the thing is that there is a good chance it will go wrong. Therefore, always play it safe and execute methods that have been successful over time. 

5. Keep up to date with new solutions

The world of digital marketing is always moving forward and graphic design is not far behind, so you need to be aware of the new implementations that are in vogue. 

There's nothing worse than a candidate who looks good but makes a completely outdated app design. This is a good enough reason to dismiss them right off the bat. 

Don't let it happen to you!

6. Be flexible

You need to be flexible to adjust to the different scenarios that the project demands of you. 

Interviewers often do this on purpose to understand how adaptable you are at times of peak demand. 

tips interview

What not to do in an interview?

If you've made it this far, you already know what to do in a system design interview. Now, don't you think it's interesting if we show you what the least recommended practices are?

Take out pencil, paper and pay close attention: 

1. Memorising the resolution

Yes, it may sound strange, but memorising the solution to the problem is not the best thing you can do to answer an interview.

The fact is that you will rarely find an identical problem in two situations. Therefore, if you memorise something, you won't be able to apply it in the next context.

In this sense, focus on developing the basic knowledge to solve multiple challenges. Once you become more fluent, you will see how everything becomes easier.

2. Going into details earlier than necessary

Not getting to the details too early can make the difference between the success or failure of the project. 

You see, from the outside it may look good, but the inside of the platform is where you will realise how good or bad the platform is. 

That's why we recommend that you develop your backend development skills so that you can see what others miss. 

3. Simplicity always

We've always heard that simplicity is your ally, but the truth is that this doesn't apply all the time. 

In interviews you will meet recruiters who will ask you very specific requests that demand time and effort. So how can you solve this if you only focus on simplicity? 

4. Closing yourself off to new alternatives

A closed mind cannot succeed in today's demanding world. In most cases it happens with developers who have a lot of experience in the market and who feel they have enough knowledge to solve any kind of problem. 

Sooner or later this will become evident, so it’s better to overcome it so that no challenge escapes from your hands. 

Importance of the system design interview

For many, the system design interview is an irrelevant mechanism, but the truth is that it is becoming more and more important in the internal processes of companies.

Having your own website is a must if you want to be a competitive company in the 21st century. It's no longer enough to have optimised social media profiles, as we have seen examples of accounts being closed down for various reasons and causing terrible damage to companies.

So, the solution is to have your own page and for that you need professional experts in the field, but to hire them you must go through a rigid process to ensure that they are the ideal candidate.

Therefore, it's important that you understand how this type of interview works so that you can get through it without much difficulty. With a bit of luck, you will get the job you've been dreaming of.

Final recommendations 

Today we wanted to shed some light on a topic that is becoming more and more widespread in the world of web development, the system design interview.

At first we thought it was an ordinary interview, but after doing some research we realised that it's a much more demanding test that involves other elements that you have to take into account if you want to apply for this type of job.

It's time to start understanding how the mechanism works so that you can get the best out of yourself. It's important to work on your profile so that you develop both technical skills and soft skills.

The latter are the ones that will really make you win over your recruiters, because a company can have the best technicians in the world, but if no one is a problem solver or has communication skills, it's very unlikely that they will achieve the top positions in the market.

Now it's your turn to prepare yourself to stun the interviewers. Study as much as you can and practise until you have developed a basic knowledge of the subject.

No doubt you'll be writing to us soon to tell us how you got through the system design interview!