system design interview - exercices

Tips

https://www.educative.io/blog/complete-guide-system-design-interview#sdifundamentals

  • State what you know/Clarify the goals: Start each problem by stating what you know. This could include required features of the system, problems you expect to encounter, and what kind of traffic you expect the system to handle. This process shows your interviewer your planning skills, and also allows them to correct any possible misconceptions before you jump into the solution.
  • Describe trade-offs: Your interviewer will want insight into any system design choice you make. At each decision point, explain at least one positive and one negative effect of your decision.
  • Discuss emerging technologies: Conclude each question with an overview of how and where the system could benefit from machine learning, for example. This demonstrates that you’re not just prepared for current solutions, but future solutions as well.

cheatsheet|800

Design a rate limiter

Transclude of system_design-rate_limiter.excalidraw

Design a unique id generator in distributed systems

Transclude of system_design-unique_id_generator.excalidraw

Design a URL shortener

Transclude of system_design-url_shortener.excalidraw

Design a Web Crawler

Transclude of system_design-web_crawler.excalidraw

Design a Notification System

Design a flight price alert

Design a News feed system

Design a Chat system

Design a search autocomplete system

Design Youtube / Video Streaming Engine

Design Google drive

Design a calendar

Design Uber

Design Instagram

Design a host logging solution

Design banking transaction aggregation system

Design an app that will aggregate your bank account balance and send notifications if it goes below a certain threshold.

Design a game with no latency constraint

Design a highly available distributed stats collection system

We need to be able to pull up recent data quickly to view them in a dashboard. All historical data needs to be persisted. Eventual consistency is acceptable.

Design a web service to play chess