system-design-interview

How to Choose the Right Database?

Databases are a critical component of the world’s most complex technology systems, and how they are used has a significant impact on their…

EnjoyAlgorithms

Long Polling in System Design

Whenever we build any Web Application dealing with real-time data, we need to consider delivering data to the Client. While building such a…

EnjoyAlgorithms

Database Indexing In System Design

Indexing is an excellent way to improve database performance. An index is nothing more than a reference to data in a table. We should think…

EnjoyAlgorithms

Load Balancers in System Design

What are Load Balancers? A load balancer is a software or a hardware device that sits between clients and a set of servers and basically has…

EnjoyAlgorithms

SQL vs NoSQL

Have you ever been in a dilemma while choosing the most appropriate storage type for your application? What could be the most viable storage…

EnjoyAlgorithms

Availability: System Design Concept

In this blog, we will learn about the availability of systems. Availability is an important concept that is Involved in most sought-after…

EnjoyAlgorithms

Server Sent Events - System Design Concept

Whenever we build any Web Application dealing with real-time data, we need to consider delivering data to the Client. While building such a…

EnjoyAlgorithms

Proxy Server

In this blog, we will learn about Proxy, an important concept in most sought-after questions in a system design interview. Many of us have…

EnjoyAlgorithms

Design a URL shortening service like TinyURL

Asked in: Google, Facebook, Amazon, Adobe Let’s understand the problem Design a URL Shortening service like Tiny-URL service. The goal is to…

EnjoyAlgorithms

Latency in System Design

Have you ever noticed how water comes out of the pipe? The speed of water coming out of the pipe varies, right! Sometimes water comes out…

EnjoyAlgorithms

Distributed System in System Design

Introduction Nowadays, almost every large scale application is based on distributed computing. Technological expansion and the increasing…

EnjoyAlgorithms

Data Partitioning - System Design Concept

Introduction With the growth in services and user base, it becomes quite difficult for a single server or database to keep functioning…

EnjoyAlgorithms

Network Protocols - System Design Concept

A network can be defined as a group of computers and other devices connected in some ways to exchange data. It is a group of computers that…

EnjoyAlgorithms

Caching - System Design Concept

In this blog, we will learn about Caching, an important fundamental concept in a system’s design. Have you ever experienced that when you…

EnjoyAlgorithms

Design PasteBin - System Design Interview Question

Asked In Amazon, Ola Cabs Introduction Have you ever thought of any such service that could make our life easier by allowing us to store…

EnjoyAlgorithms

How to approach System Design Interview

The system design interview is an open-ended conversation. As a candidate, we are expected to lead it along with a discussion with the…

EnjoyAlgorithms

Subscribe our Newsletter

Get well-designed application and interview centirc content on ds-algorithms, machine learning, system design and oops. Content will be delivered weekly.