Join me to stay up-to-date and get my new articles delivered to your inbox by subscribing here.
The News Feed Service is a system that provides users with a personalized feed of content from social media platforms such as Facebook, Twitter, and Instagram. The system collects and aggregates content from these platforms, filters it based on user preferences, and displays it in a single feed. • Data Collection: This component is responsible […]
High-Level Overview A ride-sharing service such as Uber or Lyft is a platform that connects drivers and passengers for the purpose of providing transportation services. The platform is responsible for managing the entire process from the initial request for a ride to the completion of the ride. This includes tracking the driver’s location, matching drivers […]
Overview A search autocomplete service (typeahead) is a service that provides suggestions for search queries as a user types. It is used to help users quickly find what they are looking for and to reduce the amount of typing required. High-Level Design The high-level design of a search autocompletes service consists of two main components: […]
Overview A URL shortener service, such as TinyURL, is a web service that provides short aliases for the redirection of long URLs. For example, the URL “https://example.com/very/long/url” can be shortened to “http://tinyurl.com/abc123”. System Design The database should store the following information: • Original URL: The original long URL that needs to be shortened.• Short URL: […]
High-Level Overview A video streaming service is a system that allows users to watch videos over the internet. It typically consists of a server that stores the videos, a client that requests the videos, and a network that connects the two. The server stores the videos in a format that can be streamed, such as […]
A web crawler service, such as Google Search, is a system that automatically visits web pages and retrieves information from them. It is used to index web pages for search engines, monitor websites for changes, and create web archives. The web crawler service consists of several components: • Web Crawler: This is the main component […]
Overview The goal of this system design interview is to design a message board service similar to Quora or Reddit. This service should allow users to post questions and answers, upvote/downvote posts, and comment on posts. High-Level System Design The high-level system design for a message board service should include the following components: Detailed System […]
The goal of the system is to provide a secure and reliable file storage and sharing service that allows users to store, access, and share files from any device, anytime, anywhere. The main components of the system include: • Storage: A secure and reliable storage system to store user files. • Access: A secure and […]
High-Level Overview The chat service system is a platform that allows users to communicate with each other in real time. It can be used for both one-on-one conversations and group conversations. The system consists of a client-side application (e.g. Facebook Messenger or Whatsapp) and a server-side application. Client-Side Application The client-side application is responsible for […]
Introduction: System design interviews are a crucial part of technical interviews for software engineering roles. They assess a candidate’s ability to design scalable, reliable, and efficient systems. Two common concepts that frequently come up in system design interviews are vertical scaling and horizontal scaling. In this blog post, we’ll delve into these concepts, understand their […]