Blog Cover Image
Youtube System Design

YouTube is a frequently used social networking platform for video sharing and advertising. It is a widely used service, so our system should be cost efficient, highly available, scalable, and reliable. It should offer low latency and high throughput. This blog will focus on youtube system design and discussion around various components.

Blog Cover Image
Design Key-Value Store

A key-value database is a non-relational database that stores data using a simple key-value mechanism. Data is stored in a key-value database to collect key-value pairs, with a key serving as a unique identifier. Both keys and values can be any object, from simple to complex compound objects.

Blog Cover Image
Bloom Filter Data Structure: Introduction and Implementation

Bloom filter is a space-efficient data structure that tells whether an element may be in a set (either a false positive or true positive) or definitely not present in a set (True negative). It will take O(1) space, regardless of the number of items inserted. However, their accuracy decreases as more elements are added.

Blog Cover Image
Least Frequently Used (LFU) Cache Implementation

The least frequently used (LFU) is a cache algorithm used to manage memory within a computer. In this method, the system keeps track of the number of times a block is referenced in memory, and when the cache is full, our system removes the item with the lowest reference frequency.

Blog Cover Image
Design WhatsApp Messenger: System Design Interview Question

Whatsapp is a social messenger platform, which allows users to send messages to each other. It is a messaging system that is widely used throughout the globe. Here in this blog, we’ll be discussing WhatsApp’s generic architecture and which could also be used as a base for designing any such chat application. So let’s get started by discussing the key requirements of our service.

Blog Cover Image
Typeahead or Autocomplete System Design

As users type their search query, the Typeahead feature guesses the rest of a word and offers the top suggestions that begin with whatever they have written. Here frequency and recentness of a query are used to sort suggestions. Autocomplete is used by many search platforms like Facebook, Instagram, Google, etc.

Blog Cover Image
Implement Least Recently Used (LRU) Cache

The Least Recently Used (LRU) is one of the popular caching strategies, which defines the policy to discard the least recently used items first from the cache and make room for new elements when the cache is full. It is used to organize items in order of their use, which allows identifying items that have not been used for a long time.

Blog Cover Image
Designing Google Docs - System Design Interview Question

Google Docs is an online word processor that is part of Google’s free, web-based Google Docs Editors package. It is a massive system with tons of features. If you spend a few minutes thinking about how Google Docs is built and how it works, you may realize that it is much more complex than it seems to be. Without any much delay let’s see how Google Docs work :)

Blog Cover Image
Designing Dropbox - System Design Interview Question

Dropbox is a cloud storage service that allows users to store their data on remote servers. The remote servers store files durably and securely, and these files are accessible anywhere with an Internet connection.

Blog Cover Image
Designing Instagram: System Design Interview Question

Instagram is a photo and video-sharing social media platform that allows users to share their creations with others. The original poster can set the visibility of these posts (photos/videos) to private or public. Posts can be liked and commented on by users. Users can follow and see the news feeds of other users (a collection of posts from the users they are following).

Blog Cover Image
Designing Twitter: System Design Interview Question

Twitter is a social media platform where users may post and interact with “tweets.” Users submit and engage with “tweets” on Twitter, a microblogging and social networking site. Users can subscribe to other users’ feeds and receive tweet notifications from those they follow. Tweets are almost 140–280 character communications.

Blog Cover Image
Designing Notification Service: System Design Interview Question

In today’s world, notification services are widely employed in almost every product. They’re helpful if you’d like to be alerted of a price change or availability of a product you’re interested in, or if you’d want to be told if a new job specification for a job search criterion you’ve provided becomes available.

Blog Cover Image
Designing Yelp (Nearby Friends Service): System Design Interview Question

Design a Yelp like service, where users can search for nearby places like restaurants, theaters, or shopping malls, etc., and can also add/view reviews of places.

Blog Cover Image
Designing QR Code Generator: System Design Interview Question

QR code payment is one of the contactless payment methods to transfer funds from the buyer’s wallet to the seller’s wallet or account. here Payment is performed by QR code at POS from the mobile app.

Blog Cover Image
Designing API Rate Limiter: System Design Interview Question

At its most basic level, a rate limiter restricts the number of events a certain object (person, device, IP, etc.) can do in a given time range. A rate limiter, in general, restricts the number of requests a sender can send in a given period of time. Once the cap is reached, Rate Limiter blocks requests.

Blog Cover Image
Designing Uber: System Design Interview Question

Uber continues to improve its operations and services by deploying and developing new services to meet market demand, find the best and most efficient routes, detect any potential fraud, provide more customer-centric services, and monitor and update data to provide the most efficient real-time services. In this blog, we’ll be looking at how to design the Uber system.

Blog Cover Image
Designing Web Crawler: System Design Interview Question

A web crawler is a system for downloading, storing, and analyzing web pages. It is one of the main components of web search engines that compile a collection of web pages, index it, and allow users to issue index queries and find web pages that match queries.

Blog Cover Image
Workflow in a Distributed System

Ever wondered how does 1-click-buy works on Amazon? How does an e-commerce platform show the status of your order after the order is placed? What happens when you cancel your order right after you place an order, or after your item is shipped, or even delivered? How is all the activity related to an order tied to just one order Id? This blog will try to tackle such system design challenges and lay out key insights on designing a workflow system.

Blog Cover Image
Designing URL Shortening Service like TinyURL

Design a tiny-URL service. Tiny-URL is a URL-shortening web service that creates shorter aliases for long URLs. Whenever the user visits the short URL, he/she will be redirected to the original URL. The goal is to design a highly scalable service that could allow users to create shorter URLs, given long URLs, and have read and write functionality.

Our weekly newsletter

Subscribe to get free weekly content on data structure and algorithms, machine learning, system design, oops design and mathematics.

Follow us on:


© 2020 EnjoyAlgorithms Inc.

All rights reserved.