Mobile Developer interview questions
100 real questions with model answers and explanations for Senior candidates.
See a Mobile Developer resume example →Practice with flashcards
Spaced repetition · Hunter Pass
Questions
I choose native Swift and Kotlin because existing expertise and latency-sensitive UI outweigh code-sharing gains.
- Trading charts and sign-in screens stay in SwiftUI or UIKit and Compose within the 16.7 ms frame budget, while authentication credentials and biometric policy live in platform security adapters using Keychain, Keystore, LAContext, and BiometricPrompt rather than in UI code.
- I share API schemas and behavior specifications so the two established teams can release without waiting for a cross-platform runtime.
- I revisit KMP for domain and networking code only after measuring at least 30% duplicated maintenance work.
Why interviewers ask this: The interviewer is testing whether the candidate weighs team topology, rendering latency, and release independence instead of choosing a framework by preference.
I choose React Native with native checkout edges because it matches the team while keeping critical platform integrations isolated.
- Shared TypeScript covers navigation, catalog state, validation, and API clients, targeting about 80% shared product code rather than 100%.
- Payment SDKs, startup tracing, and camera scanning stay in small Swift and Kotlin modules behind typed asynchronous interfaces.
- A two-week prototype must meet cold-start, scrolling, and checkout p95 budgets on the oldest supported devices before commitment.
Why interviewers ask this: The interviewer is evaluating whether the candidate can make a cross-platform choice with an explicit reuse target and a performance validation gate.
I choose Flutter because one rendering model and one team fit the identical UI and schedule constraints.
- Dart owns screens, validation, persistence, and sync, while camera, GPS, and background work sit behind three narrow plugins.
- Acceptance budgets are 2 seconds for cold start and 16.7 ms p95 frame build time on low-tier Android hardware.
- Plugin contracts remain asynchronous and versioned so native implementations can change without leaking platform types into the domain.
Why interviewers ask this: The interviewer is checking whether Flutter is selected for concrete product and staffing reasons with native boundaries and measurable exit criteria.
I share deterministic domain and data logic with KMP while keeping navigation, lifecycle handling, and UI native.
- Common Kotlin owns pricing, validation, DTO mapping, and sync orchestration, with platform adapters for storage and HTTP.
- SwiftUI and Compose consume immutable view data through a narrow boundary without shared UI or lifecycle abstractions.
- One eligibility flow migrates first and must pass identical golden fixtures with no more than 5% startup regression.
Why interviewers ask this: The interviewer is testing whether the candidate draws a practical shared-domain boundary instead of forcing platform UI into KMP.
I give every executable its own composition root and allow extensions to link only an explicitly extension-safe shared domain.
- Pure models, validation, serialization, and narrow repository contracts can be shared, but UIApplication access, navigation, analytics, payment SDKs, and main-app singletons remain in the app target.
- Cross-process state uses a minimal App Group container or Keychain access group with explicit ownership and atomic writes, never an assumption that an in-process cache is shared.
- CI checks target link maps and forbidden symbols, then measures launch RSS below 50 MB and verifies that each extension completes through its NSExtensionContext or service-extension deadline path.
Why interviewers ask this: The interviewer is testing process isolation, extension-safe dependency boundaries, and controlled cross-process sharing rather than general feature modularization.
I reject the 15-minute guarantee and map each workload to an approved, quota-aware execution mode.
- iOS uses BGAppRefreshTask for short refresh, BGProcessingTask for deferrable indexing, and background URLSession for transfers; Android uses unique WorkManager jobs with constraints, reserving expedited work or a declared user-visible foreground service for genuinely urgent work.
- A durable work ledger stores prerequisites, checkpoints, retry time, and an idempotency key, so OS callbacks merely grant an execution window and any worker can resume safely.
- Server push reduces polling, the UI exposes deferred work, and telemetry measures grant delay, expiration, quota rejection, and completion only for active reachable devices rather than promising work after force-quit.
Why interviewers ask this: The interviewer is testing whether the candidate classifies background workloads, respects iOS and Android quotas, and builds resumability instead of relying on periodic timers.
I choose a reducer-driven state machine with one immutable checkout state and explicit effects.
- User actions and external callbacks become typed events, and only the reducer can move between the 12 steps.
- Network and payment effects return results correlated to an attempt ID, so stale responses cannot overwrite a newer attempt.
- I persist minimal resumable state and test every legal transition, including duplicate callbacks and process restoration.
Why interviewers ask this: The interviewer is evaluating whether the candidate can use unidirectional state to make concurrency and restoration deterministic.
I keep frame processing native and send only compact scan results across the bridge.
- Swift and Kotlin own camera buffers, threading, and detection, avoiding 30 large allocations and serializations each second.
- Shared code receives a versioned asynchronous result containing value, format, confidence, and timestamp.
- The contract exposes start, stop, permissions, and errors, with a target below 1% dropped frames on reference devices.
Why interviewers ask this: The interviewer is checking whether the candidate recognizes high-volume bridge traffic and designs a native data-reduction boundary.
I share semantic tokens and behavior contracts, not rendered components across all three platforms.
- Color, spacing, typography roles, icon names, and motion durations come from one versioned token package with code generation.
- Components share states, anatomy, analytics names, and accessibility requirements, while SwiftUI, Compose, and Flutter each render a platform-appropriate implementation.
- Visual tests cover 20 reference components, and platform tests enforce font scaling, focus order, and back behavior.
Why interviewers ask this: The interviewer is testing whether the candidate can standardize a design system without erasing platform-specific interaction and accessibility rules.
I choose KMP for business and data layers while keeping native playback and UI for all three apps.
- Shared code covers catalog, entitlements, download metadata, and API clients, where the 70% overlap is stable and testable.
- AVFoundation and Media3 remain behind platform interfaces because DRM, background audio, and controls differ materially.
- The pilot must cut duplicated feature effort by 25% without raising playback-start p95 above 800 ms.
Why interviewers ask this: The interviewer is assessing a platform choice that balances three-app reuse against deep native media requirements.
I use normalized SQLite tables for mutable entities plus indexed search projections and a durable operation log.
- Forms, answers, attachments, and sync metadata have stable UUID keys, foreign keys, tombstones, and server revisions.
- Composite indexes follow measured queries, and an FTS table handles text instead of scanning serialized JSON blobs.
- Attachments remain encrypted files outside the database while metadata and upload state stay transactional in SQLite.
Why interviewers ask this: The interviewer is testing whether the candidate can design local storage for scale, query latency, and synchronization rather than treating it as a cache.
I choose resumable bidirectional sync with ordered client operations and cursor-based server deltas.
- The client uploads about 100 operations per batch with monotonic sequence numbers and stores the highest acknowledged sequence.
- The server returns changes after an opaque cursor, capped by bytes and count so responses remain bounded on slow links.
- Upload and download checkpoint independently, so cancellation or process death never restarts all 10,000 edits.
Why interviewers ask this: The interviewer is evaluating whether the candidate can define a concrete sync protocol for long offline periods and constrained bandwidth.
I make symbol files immutable release artifacts keyed to the exact identity of each shipped binary and gate rollout on verified symbolication.
- The iOS archive preserves every dSYM indexed by Mach-O UUID and records app version, build number, source commit, and CI run in a signed release manifest.
- Each Android variant preserves its R8 mapping.txt and unstripped native symbols for every ABI, indexed by versionCode and ELF build ID rather than a mutable latest-release folder.
- The protected release job uploads checksummed symbols to the crash service and write-once object storage with 24-month retention; retries are idempotent and an existing UUID or build ID cannot be overwritten.
- Before weekly rollout, deterministic Swift, Kotlin, and native smoke crashes must produce at least 99% symbolicated frames in the release dashboard within 10 minutes, otherwise CI blocks promotion.
Why interviewers ask this: The interviewer is testing immutable release provenance across platform-specific symbol formats, retention, and a measurable symbolication gate.
I use field-specific conflict rules rather than last-write-wins for the entire record.
- Scalar profile fields use server timestamps only where lost edits are acceptable, with the losing value retained for audit.
- Notes are append-only entries with unique IDs, so concurrent additions merge without overwriting each other.
- Approval follows a monotonic server-enforced state machine that rejects every transition to an earlier state.
Why interviewers ask this: The interviewer is testing whether the candidate selects conflict semantics from domain invariants instead of applying a universal timestamp rule.
I use opaque cursors over a durable server change feed and provide a bounded snapshot fallback.
- Each page returns upserts, tombstones, the next cursor, and a checksum within a 2 MB mobile-response budget.
- The client applies a page and advances its cursor in one database transaction, preventing partial progress after process death.
- An invalid cursor triggers a paged snapshot into shadow tables, which replace live tables only after validation.
Why interviewers ask this: The interviewer is assessing delta efficiency, atomic cursor advancement, and a safe full-resync path.
I use SQLCipher with a random 256-bit database key and separate authenticated encryption for attachment files.
- Android wraps the database key with a non-exportable Android Keystore key that is hardware-backed when KeyInfo confirms it; devices without hardware backing either use a documented lower-trust software-backed key or lose offline access, according to the threat model.
- iOS stores the database key with kSecAttrAccessibleWhenUnlockedThisDeviceOnly and uses Secure Enclave P-256 key agreement or wrapping only when hardware-bound user presence is required, not as arbitrary AES-key storage.
- Per-file AES-GCM keys rotate independently, and release benchmarks cover open, migration, and search below 2 seconds without redundant column encryption unless the threat model requires it.
Why interviewers ask this: The interviewer is testing whether the candidate balances key management, authenticated encryption, and measured device performance.
I partition all 250 MB by data class and enforce a quota even for user-saved content.
- Saved article bundles receive 60 MB, roughly 88 average article-plus-lead-image bundles, and reaching the cap asks the user to remove or replace downloads rather than silently exceeding it.
- Feed metadata receives 30 MB with a seven-day TTL, and non-saved images receive 140 MB with size-aware LRU eviction.
- The remaining 20 MB is reserved for transactional download staging, and the cache ledger rejects a write unless cleanup can keep total usage within 250 MB.
Why interviewers ask this: The interviewer is evaluating whether the candidate translates a storage budget and product semantics into an explicit cache policy.
I use OS-managed resumable transfers and treat overnight completion as best effort rather than a guarantee.
- iOS uses background URLSession, while Android uses WorkManager with network and charging constraints.
- Each file supports chunks or server-side resume with persisted offsets, checksums, and an idempotent finalize call.
- The UI shows queued, uploading, and deferred states and lets users require Wi-Fi because neither OS guarantees the deadline.
Why interviewers ask this: The interviewer is checking whether the candidate respects mobile operating-system constraints instead of designing a permanently running worker.
I keep the foreground migration additive and bounded, then run resumable data backfills after the compatible schema opens.
- Every supported source schema has a tested path to version 12; startup performs only required DDL and compatibility metadata, while 1,000-row backfill batches checkpoint independently.
- A migration manifest preflights peak occupied space as the existing database plus any shadow copy, temporary indexes, peak WAL or journal, and filesystem headroom, using measured worst-case sizes for that exact path rather than a fixed multiplier.
- Reads tolerate old and new representations until validation finishes, and insufficient space leaves the original database untouched with a read-only recovery and explicit storage-management path.
Why interviewers ask this: The interviewer is testing migration safety for skipped releases, large local data, and a strict startup budget.
I standardize operation semantics across platforms while keeping scheduler and runtime types inside native adapters.
- Contracts distinguish one-shot asynchronous results from ordered streams and state who owns cancellation, buffering, and terminal delivery; Swift implements them with actors and AsyncSequence, while Kotlin uses structured CoroutineScope and Flow.
- A feature-owned task or scope cancels its children, infrastructure never launches an unowned detached Task or GlobalScope job, and only the final UI adapter hops to MainActor or Dispatchers.Main.
- Shared contract tests use a virtual clock and slow consumers to verify ordering, bounded buffering, one terminal result, and cancellation within 100 ms on both implementations.
Why interviewers ask this: The interviewer is testing a cross-platform concurrency contract that preserves native structured-concurrency rules without exposing one runtime to every caller.
Locked questions
- 21
A finance app needs 15-minute access tokens, 30-day sessions, biometric re-entry, and immediate revocation after a password reset. How do you structure mobile authentication?
authpasswordstokens - 22
A corporate app authorizes only one managed phone per account, and copying a refresh token to another device must fail. What device-binding design do you choose?
swiftuidesigntokens - 23
An app stores a refresh token, a database key, and a preference to require biometrics after 5 minutes. Which values go into Keychain or Keystore, and with what access policy?
tokenssecure-storagedatabase - 24
A ticketing app loses $200 per automated account takeover and wants device attestation on login without blocking legitimate users on unsupported devices. How do you use App Attest and Play Integrity?
- 25
A regulated app requires certificate pinning, but API certificates rotate every 60 days and an emergency rotation must not strand installed clients for months. What pinning strategy do you choose?
api - 26
A wellness app serves EU and US users, collects location and health notes, and must support account export and deletion within 30 days. What mobile data design do you choose?
design - 27
An iOS and Android app signs users in with an external OAuth/OIDC provider, and intercepted callbacks and replayed authorization codes are in scope. What sign-in architecture do you choose?
authoautharchitecture - 28
A marketplace sends 20 million push notifications per day across iOS and Android, users may have five devices, and duplicate order alerts must stay below 0.1%. What push architecture do you choose?
android-componentsalerting - 29
A mobile checkout supports cards, 3D Secure, and wallets, and a user may kill the app after bank authorization but before the result screen. Which payment state model do you choose?
auth - 30
A child-focused app needs push notifications and analytics but must not expose personal data on lock screens or send advertising identifiers without consent. What architecture decision do you make?
android-componentsdiscovery - 31
Product sets cold startup under 1.8 seconds p75 and warm startup under 500 ms on a four-year-old phone. How do you allocate the startup budget and choose what initializes eagerly?
- 32
A trading screen receives 200 price updates per second and must sustain 60 fps, giving 16.7 ms per frame. Which rendering architecture do you choose?
architecture - 33
A 4K camera pipeline runs at 60 fps through capture, analysis, and preview on iOS and Android. Six retained YUV 4:2:0 frames consume about 72 MB before model buffers. How do ARC, GC, and native allocations change your buffer-ownership design?
ownershipdesignci-cd - 34
An app binary is 180 MB, store conversion drops above 120 MB in target markets, and three rarely used ML models total 70 MB. What packaging decision do you make?
- 35
On a 400 ms RTT network, a home screen makes 18 requests and takes 5 seconds to become useful. Which network design reaches 2 seconds p75?
design - 36
A video app allows up to 20 offline movies within 4 GB, access must end after at most 48 hours offline, and revocations must apply within 15 minutes when connected. What protected-media architecture do you choose?
architecture - 37
A commerce feed displays 1,000 product images at 60 fps, and image cache may use only 100 MB RAM and 500 MB disk. How do you build the image pipeline?
cachingci-cd - 38
A messaging inbox has 100,000 conversations, receives 20 updates per second, and must keep scroll jank below 1% on low-end Android. Which list architecture do you choose?
rendering - 39
You need observability for 5 million daily sessions, but telemetry must add under 1% CPU, 5 MB per user daily, and no raw personal data. What do you instrument?
discoveryobservabilitysessions - 40
An app has 98.7% crash-free sessions and 0.9% Android ANR; the release gate requires 99.8% and below 0.3%. Which quality gates and diagnostics do you choose?
sessionsquality-gatesanr - 41
Two apps release weekly, store review can take 48 hours, and a checkout change must be reversible without a new binary. What release architecture do you choose?
decision-makingarchitecture - 42
A risky search redesign should reach 10% of users, remain stable across restarts, and exclude versions below 8.4. How do you implement its feature flag?
feature-flags - 43
Remote config controls image quality, page size, and retry count for 3 million devices, but a malformed value could break the app. Which validation and fallback design do you choose?
designresilienceconfig - 44
An Android version expects 200,000 daily sessions, and Google Play managed rollout supports 1%, 5%, 20%, 50%, and 100% phases. How do you choose promotion gates over 72 hours?
sessions - 45
A feed API is moving from offset pages to cursor pages while 15% of active devices are over 90 days old, deployments happen hourly, and a user may resume a page chain after 24 hours. How do you evolve version negotiation and the pagination contract?
paginationdeployment - 46
A repository contains iOS, Android, and KMP; pull requests need feedback within 15 minutes, while full device tests take 90 minutes. How do you structure mobile CI/CD?
feedbackcode-reviewci-cd - 47
A CI provider builds both stores, but no long-lived signing key or store credential may be available to pull-request jobs. What signing and secrets architecture do you choose?
state-managementsecretsarchitecture - 48
A 60-module app has ambiguous ownership, and a shared-navigation change requires reviews from eight teams. What module ownership model avoids a central bottleneck?
navigationownershiptracking - 49
A sync engine has 12 durable boundaries between local edit, upload, acknowledgement, delta apply, and cursor commit. How do you build a deterministic mobile fault-injection strategy that covers process death and unreliable networks?
injectionconcurrency - 50
A KMP repository exports suspend functions and Flow to SwiftUI, but cancelling a Swift Task leaves Kotlin work running and domain failures arrive as opaque NSError values. What Swift concurrency bridge do you design?
concurrencycoroutineskotlin - 51
After targeting Android 13, notification permission acceptance is only 34%, and medication-reminder opens fall 41% because the app prompts on cold start before explaining the value. The rollout is already at 30%. What do you change?
permissionsandroid-components - 52
A warehouse AR scanner starts at 60 fps but falls to 18 fps after 12 minutes on mid-range phones; thermal state reaches serious, CPU stays near 180%, and memory is flat. Scan accuracy may not drop below 98%. How do you recover sustained performance?
memorywarehouse - 53
After a release adds a derived Room column, user-perceived ANRs rise from 0.22% to 1.10%; opening the database blocks launch for 6.4 seconds while 310,000 rows are backfilled. Room still needs a compatible schema before any DAO can open. What do you ship?
databaseschemaroom - 54
On iOS 18, 0.7% of 600,000 daily sessions freeze for 8 to 15 seconds after tapping Search, yet watchdog reports show no crash. Main Thread Checker is clean. How do you isolate the hang?
concurrencysessions - 55
After an Android 14 release, 23% of overnight inventory syncs are deferred for more than 12 hours. The app schedules 180 expedited WorkManager jobs per device each day, and affected users are in the Restricted App Standby Bucket. How do you recover?
jetpack - 56
An iOS share extension is killed on older phones when users send six 24-megapixel photos. Jetsam reports show a 118 MB footprint immediately before termination, while the containing app is healthy. How do you fix the extension?
- 57
Version 7.2 increases median background battery use from 2.1% to 11.8% per day for 400,000 Android and iOS users, while sync freshness improved by only 30 seconds. How do you contain and correct it?
- 58
An iOS notification service extension attempts to download a 12 MB rich-media asset and times out at its platform deadline. In a 500,000-notification campaign, 31% show neither the media nor the intended fallback. How do you contain and correct the failure?
android-componentsestimation - 59
After offline search ships, 1.6% of Android sessions freeze for four seconds while sync writes to a 2.5 GB Room database. Traces show the UI waiting for a connection, but production telemetry does not record journal mode or checkpoint state. What do you investigate and change?
databaseroomsessions - 60
A Flutter map screen misses 38% of frames on mid-range devices; the UI thread stays below 5 ms but raster time reaches 28 ms whenever 600 markers animate. How do you fix it without removing markers?
flutterconcurrency - 61
During a 40-minute outage, 3,200 field agents create 70,000 records; after reconnection, 4.8% disappear even though the API returned success before an asynchronous server worker committed them. How do you repair the contract?
asyncconcurrencyapi - 62
After connectivity returns, a foreground refresh and a background worker both drain stock adjustments, creating 1.9% duplicates. The backend cannot add idempotency this week, and a process can die after send but before acknowledgement. What containment do you ship?
idempotencyconcurrency - 63
Two devices edit the same inspection report offline for 48 hours; reconnecting silently combines an old status with a new signature in 0.3% of 500,000 reports. How do you prevent conflict corruption?
combine - 64
During a video interview, an incoming call interrupts capture for 18 seconds. After the call, 6.2% of iOS sessions show a frozen preview and 2.1% resume with no microphone audio, while the recording timer keeps running. How do you recover safely?
sessions - 65
Security finds refresh tokens in plaintext logs uploaded by 14,000 devices over nine days. Tokens live for 30 days, and a store update will take at least 24 hours. What do you do?
tokens - 66
A fraud-rule rollout treats App Attest and Play Integrity as one boolean and blocks 7.4% of legitimate logins. iOS failures cluster on restored app installations, while Android failures cluster on devices without a strong device-integrity verdict. How do you recover?
- 67
Password-reset emails use a custom app scheme that a malicious Android app can register on every supported OS version. About 900,000 unexpired links have already been sent. How do you close the takeover path without assuming a platform update fixes custom schemes?
passwords - 68
After a subscription release, 3,800 users have a store charge but no premium access, while 620 keep access after refund. Incidents span StoreKit 2 and Google Play Billing. How do you reconcile entitlements?
incidents - 69
A background upload finishes on the server, but iOS terminates the app before the background URLSession completion is persisted. On next launch, 2.6% of 80,000 attachments are uploaded again under a second object key. What semantics do you implement?
networking - 70
A diagnostics SDK captured precise location and clipboard contents from 38,000 users despite consent being limited to crash data. Legal requires containment within four hours. What do you do?
- 71
Apple rejects version 9.0 two days before launch because the in-app Delete Account action opens a generic support home page and does not let the user initiate deletion. Four hundred thousand preorders depend on the date. How do you respond?
generics - 72
During a seven-day App Store phased release, day four at 10% shows crash-free sessions dropping from 99.9% to 98.6% only on iPhone 12. Marketing insists on continuing. What do you decide?
sessions - 73
A Play staged rollout reaches 25% of 5 million users when ANRs rise from 0.30% to 0.82% on Android 10. Halting the artifact stops new exposure but cannot remove it from devices that already updated. What do you do?
gtmartifacts - 74
A server-issued flag typo enables a new checkout for 100% instead of 1%, raising payment failures from 0.4% to 7.2% in six minutes across 900,000 active users. Both checkout paths pass through server routing. How do you contain it and make the control reliable?
- 75
After migrating the photo importer to iOS 18, users with limited Photos access see 18% of previously selected assets marked deleted, and an import screen repeatedly asks for full-library permission. How do you repair the migration?
migrationspermissions - 76
A third-party identity SDK outage blocks startup for 42% of 1.1 million daily users because initialization has no timeout. You cannot replace the SDK during the incident. What do you ship and change later?
incidentsdependenciesresilience - 77
App Store Connect blocks tomorrow's iOS release because the archive reports an undeclared required-reason API in an analytics SDK and its privacy manifest is missing from one embedded framework. Four white-label targets use the dependency. What do you do?
android-componentsapidependencies - 78
Mobile CI now takes 45 minutes at p95 for 120 pull requests per day, and eight engineers are waiting more than two hours for a runner. You have one sprint and no runner-budget increase. What do you change?
agilecode-review - 79
A modularization effort creates a cycle among Checkout, Profile, and Analytics, increasing clean build time from 18 to 31 minutes and blocking independent tests. How do you break it without merging the modules back?
modularizationtesting - 80
A required React Native framework upgrade moves the app to the new architecture, breaks 11 native modules, and regresses cold-start p95 by 18%. The current branch loses security support in six weeks. How do you run the upgrade?
reactarchitecture - 81
Six months after choosing Flutter, a shared media abstraction exposes iOS AVAudioSession categories and Android AudioFocus constants to Dart. Three features now branch on platform in 27 call sites, and Bluetooth recovery fails in 8% of sessions. How do you repair the boundary?
oopdartsessions - 82
Two native apps with 420,000 lines duplicate networking and validation; leadership wants KMP to reach 60% shared code in nine months without pausing monthly releases. How do you migrate?
validation - 83
Modules containing 22% of a 350,000-line app generate 68% of production crash events and 46% of emergency fixes. A full rewrite is estimated at 18 months while product requires weekly releases. How do you choose the migration path?
estimationmigrations - 84
Design system version 5 changes spacing and button APIs across 74 screens and four apps, while checkout conversion cannot fall more than 0.2%. How do you roll it out?
system-designdesignapi - 85
A mobile app has 2 million daily sessions. Checkout currently completes in 99.93% of attempts, only 96.8% of syncs finish within five minutes, and support reports freezes that crash dashboards miss. Define reliability SLOs and release policy for the next quarter.
sessionsslo - 86
Version 14.0 corrupts cached profiles for 3% of users after rollout reaches 35%; stores do not support instant binary rollback, and the installed reader cannot be changed remotely. How do you recover?
cachingrollback - 87
A four-hour mobile outage caused 18,000 failed bookings because an expired remote-config value had no default. The incident involved mobile, backend, and release teams. How do you run the postmortem?
incidentsconfig - 88
A WebView vulnerability is being actively exploited; the app has 4 million installs, 27% cannot update the system component, and store review may take 48 hours. An external-browser flow already exists, but there is no native replacement. How do you contain and patch it?
componentsvulnerabilitiessystem-design - 89
Your analytics vendor doubles cost to $1.2 million and has caused three SDK outages, but 240 dashboards depend on its event schema. You have four months to replace it without losing experiments. What is your plan?
experimentsschemaprocurement - 90
A checkout fix must reach four white-label apps on iOS and Android before a partner launch in nine days. Rebuilding after QA has previously caused configuration drift, and reviews finish at different times. How do you coordinate the eight artifacts?
configartifactsiac - 91
A checkout screen shows the wrong total once per 8,000 sessions after users rapidly change currency, rotate the device, and return from 3DS. Logs contain three valid totals. How do you lead the debugging?
sessions - 92
A passkey sign-in flag reaches 40% of users and completion drops from 92% to 78%. The app checked only OS version: some Android devices have no usable credential provider or screen lock, and some iOS accounts have iCloud Keychain unavailable. How do you repair the rollout?
state-managementsecure-storage - 93
Two senior engineers disagree for three weeks about native versus Skia rendering for a dashboard with 20 animated charts at 60 fps; the decision blocks a 12-week roadmap. How do you resolve it?
roadmapconflict - 94
A junior engineer used GlobalScope for location uploads. After 40 navigation cycles, 40 coroutines keep polling and sending after the screen closes, adding 9% battery drain and 18,000 requests per hour. How do you contain the incident and mentor them?
mentoringincidentsnavigation - 95
A custom-drawn checkout keypad looks correct, but VoiceOver exposes the entire canvas as one unlabeled element and Switch Control cannot activate Delete or Pay. Assisted checkout completion falls from 91% to 54% at 50% rollout. What do you change?
- 96
You hand off mobile on-call during an incident with checkout failures at 3.8%, a mitigation active for only iOS, and the next engineer starts in 15 minutes. What information must the handoff contain?
incidentson-call - 97
Sales promises a feature to 300 customer employees by Friday, but it still needs one full day of device testing, today is Wednesday, and current App Review time is three days. No already approved binary contains the feature. What do you tell stakeholders?
stakeholder-managementpromisescommunication - 98
The backlog has 180 mobile debt items and two engineers for one quarter. One three-engineer-week fix would remove a crash cluster costing 9,000 of 12,000 failed sessions weekly; a four-engineer-week cache fix would recover 50 of 70 build hours weekly. How do you prioritize?
backlogcachingprioritization - 99
You need a 90-minute hiring exercise for a senior mobile candidate; take-home completion has fallen below 35%, and the role owns offline sync for 800,000 users. What exercise do you design?
design - 100
Six weeks after a severity-one mobile incident, only 4 of 17 actions are complete and the same retry storm nearly recurs at 60,000 requests per second. How do you run the retrospective?
incidentsresilienceseverity-priority