Prices shown are a USD base. Your local-market price is calculated at checkout in your own currency, plus any local sales tax.
What is inside
20 chapters, in the order the interviews tend to ask them:
How an Android and an iOS app is put together
Activity, view controller and scene lifecycles
Layout, declarative UI and the render pass
State management and navigation
Threading, dispatch queues and structured concurrency
Memory, references and leaks
Local storage, databases and migrations
Networking, serialisation and API layers
Offline first, caching and conflict resolution
Background execution, scheduling and app startup
Permissions, consent and privacy on device
Secure storage, secrets and cryptography on device
Push notifications, intents and deep links
Camera, media and location APIs
Accessibility on both platforms
Profiling, launch performance and frame budgets
Testing mobile code
Build systems, modules and dependency hygiene
Release, signing, store review and staged rollout
Cross-platform frameworks and hybrid web views
How the answers are built
Each chapter opens with the checklist the question is really testing. A few from this pack:
An Application instance is created once per process, between attachBaseContext and the first content provider onCreate, so library providers land inside your startup window.
A configuration change destroys and recreates the activity on purpose, so the ViewModel rather than the activity fields is the owner of screen state.
Measure answers how big each view should be and layout answers where children go, and both are skipped entirely when nothing is dirty.
Scope state to the shortest lifetime that still covers every reader, which is the screen for most cases.
View property changes and hierarchy traversal stay on the main thread even with hardware accelerated rendering, and touching them elsewhere throws CalledFromWrongThreadException.
A retain cycle is an iOS and Swift failure mode; Android has used a tracing collector since 5.0, so cycles are collected and the Android problem is reachability from a static root.
Questions this pack covers
What does the Android Application object represent, and when exactly is it created?
Why must a long lived component hold the application context rather than an activity context?
Why does an Android activity get destroyed and rebuilt on an ordinary rotation?
What belongs in the saved instance state bundle, and what must stay out of it?
What actually happens during an Android measure and layout pass?
Why does deep view nesting make a layout pass measurably slower?
What is the right scope for state on a single screen?
When exactly should state be hoisted out of a composable?
Each one is answered in full in the pack, with the reasoning written out rather than a bullet list.