Every System Design Question I Was Asked in Real Interviews at 10+ Companies
10 real system design questions from interviews I actually took — including the ones I bombed.
(Non-Medium members can READ the full article for FREE: here)

I’ve interviewed at more than 15 companies across multiple countries, including Canva, Grab, Foodpanda, and Agoda, as well as companies in Asia, Europe, and Australia. I documented every single interview in detail, and I’m now pulling together every system design question I was asked in one place.
“Design Twitter” and “Design a URL Shortener” are everywhere online. But none of those showed up in my real interviews. Instead, I got asked to replicate data across data centres, build a round robin load balancer, design a SIM card store, build real-time notification pipelines, etc. Questions that were far more specific and far harder to prepare for.
Where I bombed, I’ll tell you. Where I learned something unexpected, I’ll share that too. I’ve arranged these roughly in the order I experienced them, so you can trace how my system design thinking evolved.
1. 📄 Implement Pagination With Backend API and Database Support
Company: N26, Berlin | Role: Software Engineer |
Format: Theoretical Technical Interview (~45 min) | Pass: ❌
This was framed as a “theoretical” round but was essentially a lightweight system design problem: implement pagination on a website with a backend API and database. It sounds simple, but the interviewer expected depth on LIMIT/OFFSET pagination, keyset (seek method) pagination, and opaque cursor-based pagination for NoSQL databases.
This was the round that sank my interview. It was during my early days in my career, and I lacked fundamental website and database pagination knowledge at the time. I suggested the worst possible approach (fetch everything, paginate in memory). The interviewer’s face told me everything I needed to know. Looking back, it was a painful lesson, but it’s the reason I now know pagination inside out.
👉 Read the full N26 interview experience
2. 💬 Design a Real-Time Chat System (Like WhatsApp)
Company: Grab, Singapore | Role: Software Engineer |
Format: Dedicated system design round (~60 min) | Pass: ❌
This was one of my earlier interviews back in 2019, and at the time, my system design skills were admittedly poor. I had only two years of experience at Amazon, and I was still figuring out how distributed systems actually worked. The interviewer asked me to design a fully scalable, real-time chat infrastructure. It was a massive question for someone at my level. I didn’t know how WebSocket connections worked, had no idea about message queuing or delivery guarantees, and couldn’t even begin to talk about presence tracking or storage at scale.
I completely bombed this one. Walking away from that embarrassment was the single biggest push I needed to invest in proper system design preparation. I went straight to Educative.io’s “ Grokking the System Design Interview" course, and that foundation helped me crack my very next interview at Agoda.
👉 Read the full Grab interview experience
3. 🌐 How Would You Replicate Data Across Multiple Data Centres?
Company: Agoda, Bangkok | Role: Backend Engineer |
Format: Onsite Round 1 (~60 min) | Pass: ✅
This was part of a seven-round marathon at Agoda, my first international interview during 2019. The interviewer mentioned this was an open-ended question and asked me to think of different solutions. I initially proposed using NoSQL solutions like Cassandra and DynamoDB to keep multiple nodes from different data centres in the cluster. He then challenged me not to use built-in solutions, which pushed me to propose running local consumers in each DC, waiting for updates to sync.
After the system design question, I was also asked to whiteboard the high-level design of my current project at Amazon. The interviewer seemed to appreciate that I could adapt when he took away my initial approach.
👉 Read the full Agoda interview experience
4. 📱 Design a SIM Card Store
Company: Agoda, Bangkok | Role: Backend Engineer |
Format: Onsite Round 4 (~60 min) | Pass: ✅
Yes, Agoda had two system design rounds in the same interview loop. This one came in Round 4. The problem was to design a SIM card store that could efficiently store and retrieve unused phone numbers. I proposed using a Trie data structure to handle phone number storage with support for random retrieval, and the interviewer let me run with it.
The discussion went beyond just data structures. We covered availability versus consistency tradeoffs for the store and what happens when the system scales to millions of phone numbers. What I remember most is the contrast with my Grab interview just a few months earlier. At Grab, I couldn’t hold a meaningful architectural discussion. Here, I could actually hold my ground when the interviewer challenged me on consistency tradeoffs. That shift in confidence was night and day. This was the interview that eventually got me the Agoda offer.
👉 Read the full Agoda interview experience
5. 🔥 Design a Real-Time Chat System (The Staff-Level Version)
Company: Foodpanda, Singapore | Role: Staff/Principal Engineer (IC4) | Format: Technical Round 1, System Design (~90 min) | Pass: ❌
This was the most intense system design assessment I’ve encountered, and it was humbling. The round opened with deep questions on consistent hashing: what problem it solves, how it works in DynamoDB and Cassandra, and the tradeoffs. Then came the main design problem: a real-time chat system between riders and customers using WebSockets. What made it intense was the depth. It wasn’t enough to draw boxes and arrows. ==The interviewer wanted to know how I’d handle server failures, how I’d plan capacity, and how I’d observe the system in production. Every answer led to a harder follow-up.==
I left this interview realising that the bar for Staff/Principal roles is on a completely different level. The expectation wasn’t to design a system. It was to prove you understand every layer of the stack, from hashing algorithms to infrastructure capacity. The interviewer was an Engineering Manager, and he grilled me for a full 90 minutes. I was eventually rejected after completing only 2 of the 4 planned rounds, with no feedback provided.
👉 Read the full Foodpanda interview experience
6. 🔔 Design a Saved Search Notification System
Company: Talabat, Dubai | Role: Senior Backend Engineer |
Format: Technical Round 1, System Design (~60 min) | Pass: ✅
The problem: a secondhand book-selling site where users can save search terms to their favourites and receive a daily email whenever new books match that search term. For example, if a user saves the search “JavaScript,” they’d get a daily digest of any newly listed books with “JavaScript” in the title.
The round was conducted by a principal engineer and an engineering manager together, which was a first for me. Having two interviewers made the dynamic interesting. The principal pushed on technical depth while the EM watched how I communicated tradeoffs. It felt less like a test and more like a design review with senior stakeholders, which is actually closer to what system design looks like in a real job. I cleared this round with positive feedback, though I was eventually rejected in later stages.
👉 Read the full Talabat interview experience
7. 📲 Design a Push Notification System for User Posts
Company: Mercari, Tokyo | Role: Lead Software Engineer (MG3) |
Format: System design interview within technical round | Pass: ✅
The problem: design a service that allows users to follow each other and receive real-time push notifications when someone they follow makes a post. The system explicitly did not require a consolidated “news feed.” It was focused purely on the notification delivery path.
The round tested requirement analysis, high-level system design (block diagram), and then a deep dive into a specific component. The “no news feed” constraint was the interesting twist. I’d prepared for the full fan-out-on-write vs fan-out-on-read debate, but by stripping that away, the interviewer forced me to go deep on the notification delivery path itself. It was a good challenge. Narrower constraints actually made the problem harder, but also more rewarding to work through.
👉 Read the full Mercari interview experience
8. ⚖️ Design a Round Robin Load Balancer
Company: Coda Payments, Bangkok | Role: Staff Software Engineer | Format: Part of Round 1 with hiring manager (~15 min discussion + separate take-home) | Pass: ✅
The real test came as a take-home assignment: build a load balancer with round-robin distribution, exponential backoff retry, server health monitoring (EWMA), and circuit breaking. This was one of the more practical assessments I’ve done, and honestly, one of my favourites. Rather than whiteboarding abstract systems, I had to actually build something that worked. I spent a solid weekend on it and genuinely enjoyed the process. It reminded me why I became an engineer in the first place.
👉 Read the full Coda Payments interview experience
9. 🚲 Design a Bike Rental Service
Company: Glovo, Barcelona | Role: Backend Engineer (L4/L3) |
Format: system design round (~90 min, HLD + LLD) | Pass: 🟠 ⬇️
This was the most thorough and well-structured system design round I experienced. The 90-minute session was split into two distinct phases:
High-Level Design (60 min): Design a city bike rental service with electric and mechanical bikes equipped with low-speed internet connectivity. Users browse nearby stations, undock a bike, ride (with GPS coordinates sent every 20 seconds), and return it at another station to see a ride summary.
Low-Level Design (30 min): Build a complete domain class diagram with all entities, attributes, and relationships using UML diagrams.
If you only study high-level design, this interview would humble you. It’s the one that convinced me to take Low-Level Design seriously. Most of my preparation until that point had been purely HLD-focused, and Glovo’s LLD phase exposed that gap fast.
👉 Read the full Glovo interview experience
10. 💳 Design a Subscription Payment System
Company: Canva, Australia | Role: Senior Backend Engineer (B3) |
Format: System Design & Architecture round (~45 min) | Pass: ✅
The interviewer explained the requirements for designing Canva’s subscription payment system. The discussion stayed at a high level, focusing on the various components and endpoints needed to support different payment options. No whiteboard tool was provided. I was given a Google Doc to outline components and APIs, which made it difficult to visualise and organise my thoughts.
This round taught me that tooling matters more than you’d think. I’d practised exclusively on whiteboard tools like Excalidraw, and switching to a blank Google Doc mid-interview threw off my flow. If the company doesn’t tell you the format in advance, ask. The interviewer was clearly looking for depth in payment processing, idempotency, and subscription lifecycle management.
This was the interview that got me hired at Canva, where I now work as a Senior Backend Engineer.
👉 Read the full Canva interview experience
🔍 Patterns I Noticed Across All These Interviews
After going through 10+ system design rounds across very different companies and geographies, here are the patterns I observed:
🔴 Push-based systems come up a lot. Three of my interviews involved WebSockets, push notifications, or persistent connection management. If you’re preparing for system design, make sure you understand the difference between polling and push, and can design a messaging or notification pipeline end-to-end.
📈 The seniority bar matters. Junior and mid-level roles often skip system design entirely or keep it lightweight. Staff/Principal roles (Foodpanda, Coda Payments) go much deeper. Expect deeper dives into internals, tradeoffs, and production-level concerns at senior levels.
🏢 Domain-specific problems are common. Many companies ask system design questions inspired by their own product or infrastructure. Researching the company’s actual domain before the interview pays off.
📐 Low-Level Design catches you off guard. I’ll be honest, I’m not a fan of LLD rounds. Drawing UML class diagrams in an interview feels disconnected from how I actually design systems. But Glovo included a dedicated LLD phase, and it exposed a real gap in my preparation. Whether you enjoy it or not, don’t skip it.
💭 Final Thoughts
Looking back at these 10 questions, the biggest lesson wasn’t any specific architecture pattern or database choice. It was realising that system design is a skill that compounds with real experience. ==My Grab interview in 2019 was a disaster. My Agoda interviews a few months later were passable. By the time I reached Canva, Talabat and Glovo, I could hold my own against senior interviewers because every failure before that had taught me something I still use today.==
If you’re early in your career and system design feels impossible, I get it. I’ve been there. The gap closes faster than you think, as long as you’re willing to put yourself out there, fail publicly, and treat every interview as a learning opportunity rather than a verdict on your worth.
Thanks for reading! If this story resonated with you, I’d appreciate a few claps 👏 (did you know you can clap up to 50 times?). It really helps more people discover this post.
If you’re preparing for system design specifically, I wrote about my full preparation journey here:
How I Finally Cracked the System Design Interview
A personal journey into mastering system design & architecture, overcoming impostor syndrome, thinking like an…
blog.stackademic.com
If my work provided some value today, you can support me here 🤝.
Disclosure*: The Educative.io link in this article is an affiliate link. If you purchase through it, I may earn a small commission at no additional cost to you.*
Freeze Francis | Instagram, X | Linktree
Senior Software Engineer @ Canva | Australia
linktr.ee