Join me to stay up-to-date and get my new articles delivered to your inbox by subscribing here.
This guide is designed for final interviews. Generally, this type of interview panel consists of coding, system design and leadership / behavioural interviews. If you are here and reading this, highly likely you are preparing for this type of interview. If that is so, congratulations on making it to the final onsite interviews. Good luck. […]
Best Books for System Design Interviews Best Books for Coding Interviews Best Online Courses for Coding Interviews If you need further guidance or mentorship, drop me a line
Besides reading this post, I strongly recommend reading chapter 10 (Real-time Gaming Leaderboard) of the book System Design Interview – An Insider’s Guide: Volume 2 (Xu, Alex – Lam, Sahn) You can review alternative resources as well. Functional Requirements Non-Functional Requirements Hash table, single host Hash table, multiple hosts Hash table, multiple hosts, partitioning Count-min sketch […]
Besides reading this post, I strongly recommend reading chapter 4 (Design a Rate Limiter) of the book System Design Interview – An insider’s guide (Xu, Alex) You can review alternative resources as well. Functional Requirements Non-Functional Requirements Token Bucket Algorithm Interfaces & Classes Step into the distributed world Message Broadcasting How do we integrate all What […]
Besides reading this post, I strongly recommend reading chapter 10 (Design a Notification System) of the book System Design Interview – An insider’s guide (Xu, Alex) You can review alternative resources as well. Functional Requirements Non-Functional Requirements High-level Architecture FrontEnd Service Metadata Service Temporary Storage Sender What else is important… Final Look This content was excerpted […]
Besides reading this post, I strongly recommend reading chapter 4 (Distributed Message Queue) of the book System Design Interview – An Insider’s Guide: Volume 2 (Xu, Alex – Lam, Sahn) You can review alternative resources as well. Synchronous Communication Asynchronous Communication Functional Requirements Non-Functional Requirements High-level Architecture VIP and Load Balancer FrontEnd Service Metadata Service BackEnd […]
Besides reading this post, I strongly recommend reading chapter 5 (Design Consistent Hashing) and chapter 6 (Design a Key-Value Store) of the book System Design Interview – An insider’s guide (Xu, Alex) You can review alternative resources as well. Functional Requirements Non-Functional Requirements Some Tips LRU cache algorithm explanation LRU cache algorithm implementation Stepping into the […]
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 […]