Android Development

    25 Android System Design Interview Questions You Should Prepare

    A
    AzeemSep 29, 2026 · 8 min read
    99
    25 Android System Design Interview Questions You Should Prepare

    If you’re preparing for Senior Android Engineer, SDE2, or SDE3 interviews, you’ve probably noticed something:

    Knowing Kotlin, Jetpack Compose, MVVM, and common Android APIs is no longer enough.

    At senior levels, interviews increasingly test whether you can design systems, reason about trade-offs, understand Android deeply, and make architecture decisions under real-world constraints.

    You may know how to use Room.

    But can you explain why Room should be the source of truth?

    You may know Paging 3.

    But can you explain how you would handle new records arriving while the user is already on page 3?

    You may know WorkManager.

    But can you explain how you would design reliable background synchronization with retries, constraints, and process death?

    This is where many experienced Android developers struggle.

    They have years of development experience, but their preparation is still focused on individual APIs rather than advanced Android concepts in depth + system design.

    So, if you’re preparing for senior Android interviews, here are 25 system design questions worth preparing.

    A. App & Feature Design

    1. Design WhatsApp / Slack

    Design a real-time messaging application.

    You should think about:

    • WebSocket vs polling

    • Message delivery states

    • Sent → Delivered → Read

    • Offline message queue

    • Retry mechanisms

    • Message ordering

    • Room as local source of truth

    • Push notifications

    • Media upload

    • Duplicate messages

    • Handling network disconnection

    Follow-up: What happens if the user sends a message while completely offline?

    2. Design Instagram Home Feed

    Design a social feed with infinite scrolling.

    Think about:

    • Paging 3

    • RemoteMediator

    • Local database caching

    • Network pagination

    • Pull-to-refresh

    • Image loading

    • Video autoplay

    • Optimistic likes/comments

    • New posts arriving while scrolling

    • Cache invalidation

    Follow-up: If the user is currently on page 3 and 3 new posts arrive, how would you show them without suddenly moving the user to the top?

    3. Design Instagram Stories

    Design a stories feature where users can view photos/videos sequentially.

    Consider:

    • Story prefetching

    • Media caching

    • Video playback

    • Progress indicators

    • Seen/unseen state

    • Offline behaviour

    • Memory management

    • Background/foreground transitions

    • Expiry of stories

    Follow-up: How would you avoid downloading every story at once?

    4. Design Uber / Zomato / Blinkit

    Design a ride-hailing or food-delivery application.

    Think about:

    • Live location tracking

    • Maps

    • Foreground services

    • Battery optimization

    • WebSockets

    • Polling

    • FCM

    • Order state machine

    • Network failures

    • Location update frequency

    Follow-up: How frequently should the driver’s location be sent to the server, and how would you balance accuracy against battery consumption?

    5. Design Spotify

    Design a music streaming application.

    Important areas:

    • Media3 / ExoPlayer

    • Background playback

    • MediaSession

    • Audio focus

    • Playlist management

    • Caching

    • Offline downloads

    • Playback state

    • Network changes

    Follow-up: How would playback continue when the user leaves the app?

    6. Design YouTube

    Design a video streaming application.

    Consider:

    • Adaptive bitrate streaming

    • Media3 / ExoPlayer

    • Video buffering

    • CDN

    • Video caching

    • Playback state

    • Background restrictions

    • Offline downloads

    • Network quality changes

    Follow-up: What happens when the network changes from Wi-Fi to a slow mobile connection during playback?

    7. Design an Offline-First Notes App

    Design an application like Google Keep that works without internet.

    Think about:

    • Room

    • Single source of truth

    • Flow

    • WorkManager

    • Sync queue

    • Conflict resolution

    • Retry mechanisms

    • Idempotency

    • Process death

    Follow-up: Two devices modify the same note while offline. How would you resolve the conflict?

    8. Design an E-commerce Application

    Design product listing, search, cart, and checkout.

    Consider:

    • Product pagination

    • Search and debounce

    • Caching

    • Cart synchronization

    • Optimistic updates

    • Deep links

    • Checkout state

    • Payment failures

    • Process death

    Follow-up: What happens if the app is killed immediately after the payment request is initiated?

    9. Design Google Drive / Dropbox

    Design a file-sharing application.

    Think about:

    • File upload/download

    • Chunked uploads

    • Resumable transfers

    • Background work

    • Progress tracking

    • Retry

    • Offline files

    • Storage management

    10. Design Paytm / Google Pay

    Design a wallet or payment application.

    Important areas:

    • Transaction state machine

    • Idempotency

    • Security

    • Authentication

    • Token management

    • Network failures

    • Payment retries

    • Transaction reconciliation

    • Deep links

    Follow-up: How do you prevent a payment from being processed twice when the client retries the request?

    11. Design a Video Calling Application

    Consider:

    • WebRTC

    • Signaling

    • STUN/TURN

    • Audio/video streams

    • Network changes

    • Call state

    • Background handling

    • Permissions

    • Call reconnection

    12. Design a Location-Sharing Application

    Think about:

    • Location updates

    • Foreground service

    • Battery consumption

    • Network efficiency

    • Location accuracy

    • Background execution

    • Permission handling

    • Real-time updates

    13. Design an Android News Feed

    Consider:

    • Pagination

    • Caching

    • Room

    • Paging 3

    • Refresh

    • Offline access

    • New article indicators

    • Image loading

    14. Design an Android Camera Application

    Think beyond simply opening CameraX.

    Consider:

    • Camera lifecycle

    • Preview

    • Image capture

    • Video recording

    • Storage

    • Processing

    • Permissions

    • Background limitations

    • Memory management

    15. Design a BookMyShow Seat Booking System

    This one tests more than Android architecture.

    Think about:

    • Seat availability

    • Concurrent users

    • Temporary seat locking

    • Booking expiry

    • Payment flow

    • Network failures

    • Consistency

    • Real-time seat updates

    Follow-up: Two users try to book the same seat at almost exactly the same time. What happens?

    B. Android Library & SDK Design

    These questions are particularly useful because they test whether you understand Android beyond application-level development.

    16. Design an Image Loading Library like Glide / Coil

    Think about:

    • Memory cache

    • Disk cache

    • LRU

    • Request deduplication

    • Bitmap pooling

    • Downsampling

    • Lifecycle awareness

    • Cancellation

    • Threading

    Follow-up: 20 UI components request the same image simultaneously. How do you prevent 20 network calls?

    17. Design a File Downloader Library

    Requirements:

    • Download files

    • Pause

    • Resume

    • Retry

    • Progress

    • Cancellation

    • Background execution

    • Process death recovery

    Think about:

    • WorkManager

    • Foreground service

    • Persistent state

    • HTTP Range requests

    • Retry policy

    18. Design a Networking Library like Retrofit / OkHttp

    Think about:

    • Request creation

    • Interceptors

    • Authentication

    • Token refresh

    • Retry policy

    • Timeout

    • Error handling

    • Response caching

    • Certificate pinning

    • Request cancellation

    Follow-up: Multiple requests receive 401 at the same time. How would you ensure that only one token refresh happens?

    19. Design an Analytics SDK

    Imagine you need to build your own analytics SDK.

    Consider:

    • Event collection

    • Batching

    • Local persistence

    • Upload scheduling

    • Network constraints

    • Retry

    • Event ordering

    • Deduplication

    • Battery consumption

    Follow-up: What happens if the app generates 10,000 events while the device is offline?

    20. Design a Caching Library

    Design a reusable caching system.

    Think about:

    • Memory cache

    • Disk cache

    • LRU

    • TTL

    • Cache invalidation

    • Thread safety

    • Cache hierarchy

    • Serialization

    • Cache size limits

    21. Design a Crash Reporting / Performance Monitoring SDK

    Think about:

    • Uncaught exception handling

    • Crash persistence

    • Upload after restart

    • Batching

    • Sampling

    • ANR detection

    • Startup performance

    • Network/battery impact

    • Privacy and sensitive data

    22. Design a Pagination / Infinite Scroll Library

    Think about:

    • Page keys

    • Loading states

    • Refresh

    • Retry

    • Append/prepend

    • Database-backed pagination

    • Network failures

    • Concurrency

    • Cancellation

    You should be able to explain not only how Paging 3 works, but why its architecture solves common pagination problems.

    C. Android Platform & Infrastructure Design

    23. Design a Scalable Multi-Module Android Application

    Imagine an organization with 50+ Android developers working on the same application.

    Think about:

    • Feature modules

    • Core modules

    • Dependency direction

    • API modules

    • Build performance

    • Gradle configuration

    • Module ownership

    • CI/CD

    • Dynamic features

    Follow-up: How would you prevent every feature module from depending on every other feature?

    24. Design a Server-Driven UI Framework

    Imagine the server sends UI configuration and the Android application renders the UI dynamically.

    Think about:

    • JSON schema

    • Component registry

    • Versioning

    • Backward compatibility

    • Rendering engine

    • Validation

    • Error handling

    • Feature rollout

    • Local fallback

    This is especially interesting for developers working with large-scale SDUI systems.

    25. Design Push Notifications + Feature Flags / Remote Config

    Think about:

    Push Notifications

    • FCM

    • Notification vs data messages

    • Notification channels

    • Deep links

    • Background restrictions

    • Deduplication

    • Notification state

    Feature Flags

    • Remote configuration

    • Local caching

    • Default values

    • Rollouts

    • Kill switches

    • Version compatibility

    • Failure fallback

    What Should You Actually Prepare?

    Don’t just memorize these 25 questions.

    The same concepts appear repeatedly across different system design problems.

    For example:

    WhatsApp

    → WebSocket
    → Room
    → Offline queue
    → Sync
    → Retry
    → FCM

    Instagram Feed

    → Paging
    → Caching
    → Room
    → Image loading
    → Network
    → Optimistic updates

    Uber

    → Location
    → Foreground Service
    → WebSocket
    → Battery
    → Background execution

    Once you understand the underlying concepts, you can handle multiple system design questions instead of memorizing 25 separate answers.

    Preparing for Senior Android Interviews?

    If you’re preparing for senior Android interviews and feel that you’re lacking depth in advanced Android concepts, Android internals, architecture, or system design, this is exactly the gap you should work on.

    Building Android apps for years and being able to design, explain, debug, and defend an Android system in an interview are two different skills.

    That’s what we focus on in our Android Job Ready Bootcamp at TheCodingShef.

    More than 300 developers have already joined, with learners cracking packages in the ₹10 LPA–₹50 LPA range.

    We go beyond basic Android development and cover areas such as:

    • Advanced Kotlin

    • Coroutines & Flow

    • Jetpack Compose internals

    • Android architecture

    • Clean Architecture

    • Multi-module architecture

    • Performance optimization

    • Android system design

    • HLD & LLD

    • Machine coding rounds

    • Mock interviews

    • Real-world Android engineering problems

    If your goal is to move from “I can build Android apps” to “I can confidently explain how and why an Android system should be designed”, this is the kind of preparation you should be doing.

    Android Job Ready Bootcamp:
    https://thecodingshef.in/course/master-android

    Was this helpful?

    Comments (0)

    No comments yet. Be the first to share your thoughts!

    Leave a Comment

    Get the latest updates

    Join our newsletter and never miss an article.

    By subscribing, you agree to our Privacy Policy and consent to receive updates.

    Ready to Start Learning?

    Join thousands of students building their dream careers

    Explore Courses