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:
→ 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
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.