Author: Serhat Giydiren

Join me to stay up-to-date and get my new articles delivered to your inbox by subscribing here.

System Design Interview – News Feed Service (Facebook, Twitter, Instagram) - January 26, 2023

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 […]

Read more

System Design Interview – Ride-Sharing Service (Uber / Lyft) - January 26, 2023

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 […]

Read more

System Design Interview – Search Autocomplete Service (Typeahead) - January 26, 2023

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: […]

Read more

System Design Interview – URL Shortener Service (TinyURL) - January 26, 2023

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: […]

Read more

System Design Interview – Video Streaming Service (Youtube / Netflix) - January 26, 2023

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 […]

Read more

System Design Interview – Web Crawler Service (Google Search) - January 26, 2023

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 […]

Read more

System Design Interview – Message Board Service (Quora / Reddit) - January 26, 2023

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 […]

Read more

System Design Interview – File Storage and Sharing Service (Google Drive / Dropbox) - January 26, 2023

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 […]

Read more

System Design Interview – Chat Service (Facebook Messenger / Whatsapp) - January 26, 2023

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 […]

Read more

System Design Interview Topic: Vertical / Horizontal Scaling - January 26, 2023

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 […]

Read more

1 2 3 8