Mobile System Architecture and Offline-First Design Questions

Architecting the mobile side of a distributed system: client-server sync, offline-first storage and conflict resolution, background processing, push notifications, and modular mobile architecture at scale. Covers syncing state across intermittent connectivity and designing backends for millions of mobile clients. The mobile-specific slice of distributed design.

EasyTechnical
91 practiced

Describe a step-by-step manual QA test plan to validate offline behavior of a mobile feature: creating and editing notes while offline, then reconnecting and syncing. Include tests for sync correctness, retry/backoff handling, conflict cases, app restarts during sync, and UX messaging to users.

EasyTechnical
73 practiced

Describe the main background synchronization mechanisms available on Android and iOS (for example WorkManager/JobScheduler/Foreground Service on Android, BGTaskScheduler/Background Fetch/Notification-triggered tasks on iOS). For each, note typical constraints (battery, scheduling precision, network requirements) and how those constraints affect an offline-first sync design.

MediumTechnical
74 practiced

In Kotlin, implement a thread-safe in-memory LRU cache class for Bitmaps with a configurable maximum size in bytes. API should include get(key), put(key, bitmap, sizeInBytes), and automatic eviction of least-recently-used entries until total size is below the limit. Operations must be O(1). Provide the class structure, key data structures used (LinkedHashMap or custom doubly-linked list + hashmap), and note concurrency considerations.

MediumTechnical
91 practiced

Case: After a release, support tickets report increased battery drain correlated with notifications and background syncs. Outline a methodical investigation plan: which client-side and server-side data to collect, instrumentation to add, experiments to run (A/B), and potential fixes you might push to reduce battery impact while preserving feature behavior.

MediumTechnical
90 practiced

Design a push-based sync trigger system where the server sends silent push notifications to mobile clients to indicate new data. Discuss strategies to avoid thundering-herd (e.g., staggered sync delays, interest-based routing), rate limiting, interaction with platform background limits, and when to include payload vs minimal wake-up-only notifications.

Unlock Full Question Bank

Get access to all Mobile System Architecture and Offline-First Design interview questions and detailed answers.

Sign in to Continue

Join thousands of developers preparing for their dream job.