dice-free-license-cc0-980x649

Random ID Generator

Let’s continue our system design interview questions discussion. If you are new to this series, you can check our previous posts. Basically, each week we are going to pick several interesting interview questions and provide in-depth analysis.

It’s worth to note that the post is not about giving you something like a standard answer. Instead, we focus more on analyzing the problem and how to come up with reasonable approaches. This is even more true for system design interviews because the question can be extremely open-ended.

This week, we will talk about how to a random ID generator. We will cover a bunch of topics including scaling the ID generator and pros and cons of each approach.

(more…)

Share on FacebookTweet about this on TwitterShare on LinkedInShare on Reddit

Read More

pinky-swear-329329_640

Design a Recommendation System

It starts with a simple question: How to design a recommendation system?

It seems that this question has been asked for multiple times in recent system design interviews. In addition, recommendation system is so important nowadays that almost every company has its own recommendation systems which can be used to provide all sorts of suggestions. So this topic can be quite interesting to discuss.
(more…)

Share on FacebookTweet about this on TwitterShare on LinkedInShare on Reddit

Read More

departure-platform-371218_640

Design a Cache System

Similar to our previous posts, we would like to select system design interview questions that are popular and practical so that not only can you get ideas about how to analyze problems in an interview, but learn something interesting at the same time.

If you have no idea about system design interviews, I’d recommend you read this tutorial first. In this post, we are addressing the problem – how to design a cache system. Topics covered by this post include:

  • LRU cache
  • Eviction policy,
  • Cache concurrency
  • Distributed cache system

(more…)

Share on FacebookTweet about this on TwitterShare on LinkedInShare on Reddit

Read More

IQTQKY4OJ6 (1)

Design Facebook Chat Function

One of the most interesting parts of preparing system design interview is that you can get to know a lot of details about how existing systems are built.

To make the weekly post more helpful, I’d like to cover a wide range of topics. We’ve been talking about stuff like recommendation, ranking a lot in the past few weeks, this time I want to cover something different.

(more…)

Share on FacebookTweet about this on TwitterShare on LinkedInShare on Reddit

Read More

system design interview questions

Design News Feed System (Part 2)

This is the 2nd part for system design interview question analysis – design news feed system. If you haven’t seen our first post, please go check it.

Just briefly summarize what we have discussed in part 1. We started with a simple question – how to design news feed system for Facebook that allows users see feeds/updates from friends. We modeled the whole system using relational database and talked about pros and cons of different design. (more…)

Share on FacebookTweet about this on TwitterShare on LinkedInShare on Reddit

Read More

how to design google docs

How To Design Google Docs

System design interviews can be quite open-ended and require a wide range of knowledge.

To prepare well for such kind of interviews, it’s important to cover different areas instead of focusing on a single topic. We’ve spent a lot of time selecting system design questions to analyze, our main criteria are:

  • The question is popular and classic
  • We care about the diversity of questions we select
  • The analysis can be helpful to other interview questions

(more…)

Share on FacebookTweet about this on TwitterShare on LinkedInShare on Reddit

Read More