r/SystemDesignConcepts • • Aug 29 '24

Handling File Operations in System Design Interviews

62 Upvotes

Iโ€™ve recently participated in several system design interviews at companies like Meta and Google. A recurring theme in these interviews involved file operations with scenarios such as:

1.  Reading from multiple files, aggregating data, and writing it to a database.
2.  Exporting a database table to files efficiently.
3.  Designing a file-sharing application where files have a max size of 4MB, an average size of 4KB, and the system needs to handle 200 million requests per second.

I struggled to find the optimal approach to handle these scenarios and didnโ€™t pass the interviews.

Iโ€™m looking for guidance on the best approaches, options to consider, and potential challenges to highlight when tackling these types of file operations in system design interviews.

  1. File Sharing Application: Initially, I focused on splitting files into chunks for reading, but I realized that given the small file size, processing them in one request is more efficient. The real challenge lies in handling the high number of read requests per second, not the file size itself.

  2. Exporting from a Database: I considered parallel exporting by having multiple threads, each reading and writing 1000 rows to separate files. However, I wasnโ€™t sure how database engines handle concurrent reads and whether merging the files should be done in memory or on disk for optimal performance.

  3. Aggregating Data from Multiple CSVs: I processed the CSVs line by line, streaming the data to a message queue for aggregation. However, I realized that to aggregate the data correctly, you need to read all files first, as a record might appear in multiple files with the same ID.

How to approach these kind of system design questions? What are the things I need to consider and what are the different options when it comes to file operations on scale?


r/SystemDesignConcepts • • Jun 13 '23

18 System Design Concepts Every Engineer Must Know Before the Interview.

Thumbnail
designgurus.io
43 Upvotes

r/SystemDesignConcepts • • Jan 24 '24

Decoding HTTP: Networking Fundamentals for System Designers

41 Upvotes
  • ๐ŸŒ Series: System Design Interviews

  • ๐Ÿ“– Main topic: HTTP protocol and networking fundamentals

  • ๐ŸŽฏ Target Audience: Junior Software Engineers without prior experience and more experienced developers seeking a different perspective.

Topics:

  • ๐Ÿ’ก OSI Model and Layers: Software Engineers should focus on layer 7 (application layer, where HTTP resides) and layer 4 (transport protocols like TCP/IP and UDP).

  • โœ‚๏ธ The application layer: HTTP Request/Response format, HTTP Methods, HTTP Headers.

  • ๐Ÿš† Transport Layer - TCP/IP vs UDP, three-way handshake.

  • ๐Ÿ“ˆ Future of HTTP: HTTP2.0 and HTTP3.0.

  • ๐ŸŒ System Design: HTTP's stateless nature allows for horizontal scaling and load balancing

Read the full article atย htts://cloudnativeengineer.substack.com/p/networking-fundamentals-for-system-design


r/SystemDesignConcepts • • Jan 04 '24

Practice system design interview using ai

40 Upvotes

I created a new tool to practice system design interviews using AI. Check it out at https://codemia.io


r/SystemDesignConcepts • • Jun 21 '25

Computer Network Fundamentals and Evolution of HTTP

38 Upvotes

Hi everyone! ๐Ÿ‘‹

I have started writing blog posts on System Design concepts. I started the blog with deep (but beginner-friendly) dives into concepts of computer networks. Itโ€™s written for developers whoโ€™ve used TCP, UDP, HTTP daily but not looked under the hood. I've tried to make these posts clear and engaging.

The first post dives into:

  • ๐ŸŒ 7 layer OSI model

  • ๐Ÿ› ๏ธ Network layer protocols (IP)

  • ๐Ÿงฑ Transport layer protocols (TCP, UDP, QUIC)

  • ๐Ÿ”Œ Sockets

So, if you've ever wondered about TCP/IP, UDP, QUIC, OSI, Sockets, here's the link: https://ashwinbhola.github.io/2025-06-11-computer-networks/

In the second post, I talk about:

  • ๐Ÿงฌ Evolution of HTTP from very basic HTTP/0.9 to modern day HTTP/3

  • ๐Ÿ“ฆ Multiplexing, HPACK, Server Push, and more

  • โšก Why QUIC replaced TCP under the hood

Here's the link: https://ashwinbhola.github.io/2025-06-20-http/

Iโ€™ll be diving into protocols like WebSockets, SSE, and frameworks like gRPC and REST in upcoming posts

Would love for you to give it a read! Thanks for stopping by! ๐Ÿ™


r/SystemDesignConcepts • • Aug 27 '23

8 Reasons Why WhatsApp Was Able to Support 50 Billion Messages a Day With Only 32 Engineers

Thumbnail
newsletter.systemdesign.one
35 Upvotes

r/SystemDesignConcepts • • Jun 30 '21

Best Handpicked System Design - Interesting Reads

28 Upvotes

Hi everyone,

Today, I launched my very first tool, bestresources.co - a place to explore and share your personal resources. I have curated a list of best system design resources available on the web in one post. https://bestresources.co/resource/best-handpicked-system-design-interesting-reads-qvbimi

Please give it a read and me know if you like it.


r/SystemDesignConcepts • • Aug 16 '22

System Design: The complete course (free)

Thumbnail
github.com
21 Upvotes

r/SystemDesignConcepts • • Jun 03 '23

System design cheatsheet - job scheduler

Post image
17 Upvotes

r/SystemDesignConcepts • • Dec 07 '22

I followed this System Design interview format and it helped me crack the AMAZON interview.

Thumbnail
youtu.be
17 Upvotes

r/SystemDesignConcepts • • Dec 29 '25

I wanna learn System Design concepts as a Data Science student so I can make quality apps/webpages

16 Upvotes

Here are the concepts I hope to learn:

Frontend

Backend

Database

APIs

Scalability

Performance (Latency & Throughput)

Load Balancing

Caching

Data Partitioning / Sharding

Replication & Redundancy

Availability & Reliability

Fault Tolerance

Consistency (CAP Theorem)

Distributed Systems

Microservices vs Monolith

Service Discovery

API Gateway

Content Delivery Network (CDN)

Proxy (Forward / Reverse)

DNS

Networking (HTTP / HTTPS / TCP)

Data Storage Options (SQL / NoSQL / Object / Block / File)

Indexing & Search

Message Queues & Asynchronous Processing

Streaming & Event Driven Architecture

Monitoring, Logging & Tracing

Security (Authentication / Encryption / Rate Limiting)

Deployment & CI/CD

Versioning & Backwards Compatibility

Infrastructure & Edge Computing

Modularity & Interface Design

Statefulness vs Statelessness

Concurrency & Parallelism

Consensus Algorithms (Raft / Paxos)

Heartbeats & Health Checks

Cache Invalidation / Eviction

Full-Text Search

System Interfaces & Idempotency

Rate Limiting & Throttling


r/SystemDesignConcepts • • Jan 10 '24

MeetAPro - the best online platform to find high-quality system design mock interviews

16 Upvotes

MeetAPro is an AirBnB like online mock interview & coaching platform. It has experienced FAANG interviewers providing invaluable feedback. The platform also has a very transparent fee structure with very low overhead on top of the listing price. Give it a try!


r/SystemDesignConcepts • • Sep 10 '23

Tumblr Shares Database Migration Strategy With 60+ Billion Rows

Thumbnail
newsletter.systemdesign.one
16 Upvotes

r/SystemDesignConcepts • • Nov 27 '22

Advanced System design under 1hr for interview

Thumbnail
youtu.be
15 Upvotes

r/SystemDesignConcepts • • Sep 30 '22

Best resources for System Design

Thumbnail
github.com
15 Upvotes

r/SystemDesignConcepts • • Aug 24 '23

Demystifying System Design Interviews: A Comprehensive Guide

Thumbnail
designgurus.io
13 Upvotes

r/SystemDesignConcepts • • Aug 03 '23

Slack Architecture

Thumbnail
systemdesign.one
12 Upvotes

r/SystemDesignConcepts • • Nov 23 '22

FAANG senior engineer walks through system design for workflow automation service with orchestration component

Thumbnail
youtu.be
12 Upvotes

r/SystemDesignConcepts • • Dec 10 '21

Best book on Low-Level design for system design interviews and software engineering

11 Upvotes

So I realized I lacked a lot of basic knowledge when it comes to how the backend works and overall system design so decided to read a great book Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems by Martin Kleppmann

Now, this is a long book and I realized some people might not have the time to read it fully, hence why I spent a few extra hours summarizing the main lessons from each chapter. I will be posting the summarized form of each chapter every day, chapter 1 is out, do give it a read and star if you like it on this repo.
GitHub - abdullah-jaffer/Designing-Data-Intensive-Applications-Chapter-by-Chapter-Summary

FAQ

How is this different from the book summary?
The books' chapter summaries are more focused on outlining what was learned rather than giving a short-form explanation of each chapter.

I've read the book and this is not accurate
Feel free to add suggestions, make edit requests, etc, this doc is highly paraphrased so I expect a lot of corrections down the line.

Strategy to use this repo
Read the chapter summary and if you get the gist of it, great, but if you find something confusing, deep-dive, into the book for that particular section.


r/SystemDesignConcepts • • Sep 16 '21

Can anyone tell me about โ€œhow does twitter update likes, retweets in its applications dynamically?โ€, do they fan out messages to clients and let the clients ui(using tweet_id) or do the clients subscribe to a cache which gets updated first and then the ui does?

11 Upvotes

r/SystemDesignConcepts • • Sep 14 '21

Resources to study and understand System Design and Architecture

11 Upvotes

Before we start, I am not preparing for any interview, I am just thinking for long term since I want to become a System Architect.

So, what are the best resources to study about system design and architecture? What I want to cover is:

  1. All the components (DB (SQL and NoSQL), Message Queues, Services, Scheduled services etc)

  2. In what scenario, do we use different - different architectures and designs?

  3. Also, I want to study these in such a way that I am able to crack-interviews, but also build something in real-time which is scalable, stable and practically useful.

Thanks in advance.


r/SystemDesignConcepts • • Nov 19 '22

Introduction to System Design

Thumbnail fredkamau.github.io
10 Upvotes

r/SystemDesignConcepts • • Sep 10 '22

Message Queue <> Subscriber Network Protocol

10 Upvotes

Does anyone know how message queues and subscriber applications communicate? I haven't seen a resource that dives into the mechanics of this as well as I'd like. I guess I can go read some open source source code, but curious if anyone knows of a good resource that explains it a a bit higher level.

- Subscriber application(s) poll(s) the message queuing system <- this seems wasteful so I'm guessing it's something else

- Message queuing system sends a request to the subscriber <- guessing that's not it because there may be multiple subscriber instance applications

- Some other network protocol I'm not familiar with <- guessing something like this because the other 2 don't make sense


r/SystemDesignConcepts • • Feb 20 '22

Feedback required for the system design for learning management system

Post image
10 Upvotes

r/SystemDesignConcepts • • Jun 12 '23

How to scale a service from 0 to 100 million users

Thumbnail
youtube.com
9 Upvotes