0% found this document useful (0 votes)
21 views10 pages

200 System Design Questions for Engineers

The document outlines a comprehensive guide to system design questions, categorized into five phases ranging from beginner to expert-level challenges. Each phase contains a series of design problems that focus on various aspects of system architecture, scalability, and specific domains like machine learning and security. Additionally, it provides a structured approach to tackling these questions, including requirements clarification, capacity estimation, and design considerations.

Uploaded by

dotaiproject
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
21 views10 pages

200 System Design Questions for Engineers

The document outlines a comprehensive guide to system design questions, categorized into five phases ranging from beginner to expert-level challenges. Each phase contains a series of design problems that focus on various aspects of system architecture, scalability, and specific domains like machine learning and security. Additionally, it provides a structured approach to tackling these questions, including requirements clarification, capacity estimation, and design considerations.

Uploaded by

dotaiproject
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

200 System Design Questions: Beginner to Google Senior

Engineer Level
Phase 1: Fundamentals (Questions 1-30)
Learn basic concepts, simple systems, and core building blocks

1. Design a URL shortener (like [Link]) for 1000 users with basic requirements

2. Design a simple key-value storage system that runs on a single machine

3. Design a basic parking lot system with entry/exit tracking

4. Design a simple library management system for book checkouts

5. Design a basic online shopping cart that stores items in memory

6. Design a simple blogging platform where users can create and read posts

7. Design a basic contact management system (address book)

8. Design a simple task/todo list application for personal use

9. Design a basic elevator control system for a single building

10. Design a simple voting/polling system for a classroom (100 users)

11. Design a basic rate limiter for an API (allow N requests per minute per user)

12. Design a simple notification system that sends email alerts

13. Design a basic file storage system for a small team (like Dropbox for 50 users)

14. Design a simple chat application for two users (one-on-one messaging)

15. Design a basic online reservation system for a restaurant

16. Design a simple leaderboard system for a gaming application

17. Design a basic calendar/scheduling system for personal use

18. Design a simple event registration system for local meetups

19. Design a basic commenting system for a blog

20. Design a simple image upload and display service

21. Design a basic search functionality for a small e-commerce site (1000 products)

22. Design a simple music playlist management system


23. Design a basic analytics dashboard showing daily user counts

24. Design a simple recommendation system showing "you might also like" based on categories

25. Design a basic inventory management system for a small store

26. Design a simple auction system with bidding functionality

27. Design a basic user authentication system with username/password

28. Design a simple news feed showing posts in chronological order

29. Design a basic ticket booking system for a small movie theater

30. Design a simple collaborative document viewer (read-only shared documents)

Phase 2: Intermediate Systems (Questions 31-70)


Scale to thousands/millions of users, introduce caching, databases, and distribution

31. Design a URL shortener for 10 million users with custom short URLs and analytics

32. Design a distributed key-value store with replication across 3 nodes

33. Design a parking lot system for a multi-level garage across 10 locations in a city

34. Design Instagram's core functionality (photo upload, feed, likes) for 1 million users

35. Design a pastebin service (like [Link]) with expiration and private pastes

36. Design a distributed cache system (like Memcached/Redis) with eviction policies

37. Design a basic content delivery network (CDN) for serving static files globally

38. Design a ride-sharing service like Uber (matching drivers and riders) for a single city

39. Design Twitter's core functionality (tweets, timeline, following) for 10 million users

40. Design a web crawler that can index 1 million web pages per day

41. Design a type-ahead/autocomplete system for search queries

42. Design a distributed job scheduler that runs cron jobs across multiple machines

43. Design a messaging system like WhatsApp for 100 million users with delivery receipts

44. Design Dropbox's file synchronization for 10 million users with conflict resolution

45. Design a collaborative text editor like Google Docs (real-time editing for 10 users per document)

46. Design a hotel booking system like [Link] handling overbooking scenarios

47. Design a social network news feed with ranking algorithm (not just chronological)
48. Design a scalable notification system supporting email, SMS, and push notifications

49. Design YouTube's video upload and streaming service for 100 million users

50. Design a distributed logging system that collects logs from 1000 servers

51. Design a proximity service finding nearby restaurants/places (like Yelp) for a country

52. Design an online judge system (like LeetCode) that executes user code safely

53. Design a scalable email service with folders, search, and attachments

54. Design a real-time collaborative whiteboard application for teams

55. Design a food delivery service like DoorDash with order tracking

56. Design a stock exchange system handling thousands of trades per second

57. Design a distributed rate limiter working across multiple API servers

58. Design a metrics monitoring system collecting and displaying time-series data

59. Design a video conferencing system like Zoom for 100 participants per room

60. Design an e-commerce search and filtering system for 10 million products

61. Design a recommendation engine for an e-commerce platform using collaborative filtering

62. Design a distributed lock service (like Zookeeper) for coordination

63. Design a payment processing system handling transactions with idempotency

64. Design a gaming leaderboard showing top 100 players globally with real-time updates

65. Design a system for booking airline tickets with seat selection

66. Design a distributed configuration management system

67. Design a trending topics system (like Twitter trends) detecting popular hashtags

68. Design a code deployment system deploying to 1000s of servers

69. Design a live commenting system for sports events with millions of concurrent users

70. Design a marketplace like Etsy with sellers, products, and transactions

Phase 3: Advanced Scalability (Questions 71-110)


Handle billions of users/requests, advanced caching, sharding, and consistency

71. Design Facebook's News Feed for 2 billion users with complex ranking algorithms

72. Design Google Search's indexing and ranking system for 50 billion web pages
73. Design WhatsApp with end-to-end encryption for 2 billion users

74. Design Netflix's video streaming and recommendation for 200 million subscribers

75. Design Amazon's product catalog and search for 500 million products

76. Design Twitter with timeline fanout for 500 million users and 500M tweets/day

77. Design Spotify's music streaming for 400 million users with offline playback

78. Design LinkedIn's connection graph and "People You May Know" feature

79. Design TikTok's video recommendation algorithm and infinite scroll feed

80. Design Google Maps' navigation system with real-time traffic data

81. Design Instagram Stories with 24-hour expiration for 1 billion users

82. Design Airbnb's search and booking system with dynamic pricing

83. Design a distributed database like Google Spanner with global consistency

84. Design Reddit with upvoting, downvoting, and hot/trending algorithms

85. Design Uber's dispatch system matching millions of riders and drivers globally

86. Design a global payment system like Stripe processing millions of transactions

87. Design Gmail's email search for billions of emails with complex queries

88. Design YouTube's video recommendation system using ML models

89. Design Amazon's inventory and order fulfillment system for same-day delivery

90. Design Facebook Messenger supporting billions of messages daily

91. Design Twitch's live video streaming for millions of concurrent viewers

92. Design Pinterest's image discovery and recommendation system

93. Design Slack's real-time messaging for large enterprises (100K+ users per workspace)

94. Design Wikipedia's content storage and versioning system

95. Design DoorDash's real-time delivery tracking and ETA prediction

96. Design Shopify's e-commerce platform supporting millions of stores

97. Design Venmo's social payment system with transaction feeds

98. Design Discord's voice/video chat for millions of servers

99. Design Medium's content publishing and recommendation platform


100. Design Salesforce's CRM system with complex data relationships

101. Design GitHub's distributed version control and merge conflict resolution

102. Design Zoom's real-time video encoding and adaptive bitrate streaming

103. Design Robinhood's stock trading platform with real-time price updates

104. Design Snapchat's ephemeral messaging with screenshot detection

105. Design Quora's question-answer platform with personalized feed

106. Design Yelp's review system with fraud detection

107. Design Zillow's real estate search with map-based filtering

108. Design Instacart's grocery delivery with inventory synchronization

109. Design PayPal's dispute resolution and refund system

110. Design Coinbase's cryptocurrency exchange with order matching

Phase 4: Specialized Systems (Questions 111-150)


Focus on specific domains: ML, real-time, security, analytics

Machine Learning Infrastructure

111. Design a distributed training system for large neural networks across 1000 GPUs

112. Design an A/B testing platform measuring experiment results for 100M users

113. Design a feature store for ML models serving features with low latency

114. Design a model serving infrastructure deploying 1000s of ML models

115. Design an ML pipeline orchestration system (training, validation, deployment)

116. Design a real-time fraud detection system for financial transactions

117. Design a clickstream analytics system processing billions of events

118. Design a personalization engine delivering customized content in <100ms

119. Design a computer vision system for autonomous vehicles processing camera feeds

120. Design a natural language processing pipeline for sentiment analysis at scale

Real-Time and Streaming Systems

121. Design a real-time bidding (RTB) system for online advertising with <100ms latency

122. Design a stream processing system like Apache Kafka handling 10M messages/second
123. Design a real-time analytics dashboard showing metrics with 1-second freshness

124. Design a change data capture (CDC) system synchronizing databases in real-time

125. Design a real-time multiplayer gaming backend for 1 million concurrent players

126. Design a financial market data feed processing millions of stock quotes/second

127. Design a real-time collaborative coding platform like Replit

128. Design an IoT data ingestion system for billions of sensor devices

129. Design a real-time anomaly detection system for infrastructure monitoring

130. Design a live sports scoring system updating millions of clients instantly

Security and Privacy

131. Design an OAuth 2.0 authorization server supporting millions of applications

132. Design a secrets management system like HashiCorp Vault

133. Design a DDoS protection system filtering malicious traffic at network edge

134. Design a data privacy compliance system (GDPR) with right-to-be-forgotten

135. Design a certificate authority and PKI infrastructure

136. Design an intrusion detection system analyzing network traffic patterns

137. Design a secure multi-tenant database with row-level security

138. Design a password-less authentication system using WebAuthn/FIDO2

139. Design a data encryption system with key rotation and access controls

140. Design a blockchain-based system ensuring data immutability and transparency

Analytics and Data Processing


141. Design a data warehouse like Google BigQuery handling petabyte-scale analytics

142. Design an ETL pipeline processing terabytes of data daily

143. Design a customer data platform (CDP) unifying user data from 100 sources

144. Design a real-time dashboard for business intelligence with complex aggregations

145. Design a log aggregation and analysis system like Splunk

146. Design a data lake architecture storing structured and unstructured data

147. Design a recommendation system using deep learning on user behavior graphs
148. Design a time-series database for metrics storage (100M data points/second)

149. Design a distributed query engine like Presto for interactive analytics

150. Design a customer segmentation system processing billions of user events

Phase 5: Expert-Level Challenges (Questions 151-200)


Complex trade-offs, cutting-edge problems, architecture at Google scale

Global-Scale Infrastructure
151. Design Google's global load balancing system routing traffic across continents

152. Design a multi-region active-active database with conflict-free replication (CRDT)

153. Design a global rate limiting system with distributed consensus

154. Design a content delivery network serving 50% of internet traffic

155. Design a DNS system handling billions of queries per day with <10ms latency

156. Design a distributed tracing system like Google Dapper for microservices

157. Design a chaos engineering platform testing system resilience at scale

158. Design a network traffic engineering system optimizing bandwidth usage

159. Design a global time synchronization service (like Google TrueTime)

160. Design a planetary-scale distributed storage system

Advanced Data Systems


161. Design a distributed graph database for social networks with 5 billion users

162. Design a multi-model database supporting documents, graphs, and key-value

163. Design a versioned data store supporting point-in-time queries for compliance

164. Design a real-time OLAP system with sub-second query latency on petabytes

165. Design a data replication system across heterogeneous databases

166. Design a distributed transaction coordinator using two-phase commit at scale

167. Design a temporal database tracking historical changes to all records

168. Design a federated query engine querying across 1000 data sources

169. Design an event sourcing system with CQRS for financial applications

170. Design a vector database for semantic search on billions of embeddings


Complex Application Domains

171. Design a high-frequency trading system executing millions of trades per second

172. Design a global supply chain management system with real-time tracking

173. Design a healthcare records system with HIPAA compliance and interoperability

174. Design a smart city traffic management system controlling signals in real-time

175. Design a space satellite communication network with intermittent connectivity

176. Design an autonomous drone fleet coordination system

177. Design a quantum computing job scheduler and result processing system

178. Design a genomic data processing pipeline for precision medicine

179. Design a climate modeling system processing exabytes of sensor data

180. Design a brain-computer interface system processing neural signals in real-time

Cutting-Edge Architectures
181. Design a serverless computing platform like AWS Lambda at Google scale

182. Design a service mesh infrastructure managing 100K microservices

183. Design a multi-cloud orchestration system spanning AWS, GCP, and Azure

184. Design an edge computing platform processing data on 1M edge devices

185. Design a zero-trust security architecture for enterprise applications

186. Design a container orchestration system beyond Kubernetes capabilities

187. Design a distributed machine learning inference system with model parallelism

188. Design a privacy-preserving analytics system using differential privacy

189. Design a decentralized identity system using blockchain and zero-knowledge proofs

190. Design a neural architecture search system automatically discovering ML models

Ultimate Integration Challenges


191. Design Google's entire infrastructure: search, ads, YouTube, Gmail, Maps integrated

192. Design a fully automated cloud platform with self-healing and auto-scaling

193. Design a disaster recovery system with zero data loss across global failures

194. Design an anti-money laundering system analyzing global financial transactions


195. Design a misinformation detection system for social media at scale

196. Design a carbon-neutral cloud infrastructure with optimal resource allocation

197. Design a accessibility system making all digital content universally accessible

198. Design a pandemic early warning system processing global health data

199. Design a universal translation system supporting 1000 languages in real-time

200. Design a digital twin platform simulating an entire city's infrastructure in real-time

How to Approach These Questions


For Each Question, Cover:

1. Requirements Clarification (5 min)


Functional requirements

Non-functional requirements (scale, latency, availability)

Constraints and assumptions

2. Capacity Estimation (5 min)


Traffic estimates (QPS, users)

Storage estimates (GB/TB/PB)

Bandwidth requirements

3. System Interface/API Design (5 min)


Key APIs and their signatures

Data models

4. High-Level Design (10 min)


Major components and their interactions

Draw architectural diagram

5. Detailed Design (15 min)


Database schema and choice

Caching strategy

Load balancing

Sharding/partitioning
Replication

6. Bottlenecks and Trade-offs (10 min)


Identify system bottlenecks

Discuss trade-offs (CAP theorem, consistency vs availability)

Failure scenarios and mitigation

7. Extended Requirements (5 min)


Monitoring and alerting

Security considerations

Future scalability

Recommended Learning Path:


Weeks 1-4: Questions 1-30 (Fundamentals)

Weeks 5-10: Questions 31-70 (Intermediate)

Weeks 11-18: Questions 71-110 (Advanced)

Weeks 19-26: Questions 111-150 (Specialized)

Weeks 27-36: Questions 151-200 (Expert)

Key Concepts to Master:

Scalability: Vertical vs horizontal scaling, sharding, partitioning

Databases: SQL vs NoSQL, indexing, normalization, ACID vs BASE

Caching: Cache strategies, CDNs, cache invalidation

Load Balancing: Algorithms, health checks, DNS

Consistency: CAP theorem, eventual consistency, strong consistency

Messaging: Queue systems, pub-sub, message brokers

Networking: HTTP/HTTPS, WebSockets, TCP/UDP, DNS

Storage: Object storage, block storage, file systems

Monitoring: Metrics, logging, tracing, alerting

Security: Authentication, authorization, encryption, DDoS protection

Good luck on your journey to becoming a senior system design engineer!

You might also like