1.png

Part 1. Introduction: Why Mobile System Design Isn’t About Databases

Let’s be honest: when a mobile developer hears “System Design Interview,” their palms start to sweat. We’re used to thinking this is backend territory. You immediately picture questions about PostgreSQL sharding, Consistent Hashing, or whether to choose Kafka over RabbitMQ.

But if you're interviewing for a senior/lead iOS developer position at a major tech company, no one expects you to be able to design data centers, but you should be able to handle the mobile side of things.

Mobile System Design is about something else that goes for backend engineers. It’s about the harsh reality of mobile devices. Your main enemies are not RPS (requests per second), but:

  1. Unstable network: The user steps into an elevator, and 5G becomes Edge.
  2. Battery: If your app drains the battery in an hour, it’ll be deleted the next day or that very moment.
  3. Memory and UI: How do you scroll through a 500-item menu with images at 60 FPS without crashing from an OOM (Out of Memory) error?

Our Task

Today we’re designing the core of a food delivery app. Imagine you’re in an interview, and you’re asked:

“Design the client side of a food ordering app. Ordering from Restaurant feature”

Important note: Always narrow the scope during interviews. Don’t try to design the entire app at once. We won’tdiscuss:

We’ll focus on the “Money Flow”, the user journey that drives business value:

Restaurant menu → Add to cart → Order validation → Order status tracking.

Before jumping into flowcharts and backend endpoint discussions, let’s define the Functional and Non-functional requirements. They’re the foundation of any solid design.

By the way, if you’re currently preparing for mobile interviews and want to practice not only system design but also classic Swift, UIKit/SwiftUI, and architecture questions — check out my app “Prepare for mobile interview” on the App Store.

Just search for “Prepare for mobile interview” or use this direct link: https://apps.apple.com/cy/app/prepare-for-mobile-interview/id6756423817