74 Mobile Essentials interview questions with answers
74 Mobile Essentials interview questions with detailed answers, sorted from basic to advanced. Free to practice, with progress saved automatically.
All Mobile Essentials interview questions
What is a `Future` in Dart and how is it different from a `Stream`?
What is the difference between `StatelessWidget` and `StatefulWidget`?
What is `BuildContext` and why is it important?
Explain the widget tree, element tree, and render tree in Flutter.
What is the purpose of widget `Key`s and when should you use them?
What is `const` constructor and why is it important for Flutter performance?
What is `setState()` and why does calling it trigger a rebuild?
Explain the BLoC pattern and why interviewers ask about it.
Compare Provider, Riverpod, and BLoC: when would you use each?
What is the difference between the old `Navigator` (v1) and modern routing approaches?
What is clean architecture and why is it important for large apps?
What are isolates in Dart and when do you use them?
What are platform channels and when do you use them?
How do you test Flutter apps? What's the difference between unit, widget, and integration tests?
What are suspend functions in Kotlin?
Explain the Android Activity lifecycle and each method's purpose.
What are Intents in Android and what are the two types?
What is a Service in Android and when should you use it?
What are the different Android permission types and how do you handle runtime permissions?
Explain state management in Jetpack Compose using `mutableStateOf` and `remember`.
What is MVVM architecture and how is it structured?
Explain the difference between LiveData and StateFlow.
What is a ViewModel and why should you use it?
What is Room database and why use it instead of SQLite directly?
What are Interceptors in Retrofit/OkHttp and how do you use them?
What is certificate pinning and how do you implement it?
What is Hermes and how is it different from JSC?
Fundamental differences — RN vs Flutter vs native (Swift/Kotlin) for new 2026 projects?
How does Flexbox in RN differ from CSS on the web?
react-navigation v7 — when to use Stack vs Tab vs Drawer?
How does FlatList stay smooth with 10k items? How to tune `windowSize`/`maxToRenderPerBatch`/`getItemLayout`?
`useCallback` / `useMemo` in RN — when do you really need them?
What is the New Architecture, what does it include, and from which RN version is it default?
What is JSI, and how is its native call mechanism different from the old Bridge?
TurboModules vs old NativeModules — concrete differences?
Animated API vs Reanimated — which one should you use?
App size optimization — ProGuard/R8, Hermes, ABI splits, asset compression?
Push notifications — FCM + APNs, Expo Notifications, how to set up?
What is the difference between hot reload and hot restart?
How does Flutter store data locally and when do you use which option?
What is a Fragment and how does its lifecycle differ from an Activity?
What is recomposition in Jetpack Compose?
What problem does the Jetpack Navigation Component solve?
How are hooks used in React Native and how do useState and useEffect differ?
Why do React Native apps jank, and how do the JS thread and UI thread differ?
What is the mobile app lifecycle (foreground/background) and how does React Native track it?
How should you handle API integration and caching in a mobile app?
What is deep linking, and how do custom schemes, App Links and Universal Links differ?
What is code signing when releasing an app, and why is it needed?
How do responsive and adaptive UI differ in mobile?
What matters when optimizing memory and battery for a mobile app?
What is offline-first architecture and how do you handle sync and conflicts?
What are the essentials of storing sensitive data and basic mobile security?
What is the difference between `lateinit` and `by lazy` in Kotlin?
How do native, hybrid and cross-platform apps differ?
What is the difference between `versionCode` and `versionName` when releasing an app?
What are flavors in Flutter and what are they used for?
A countdown timer (OTP, payment hold) drifts when the app goes to the background — how do you handle it?
How does background work (sync, uploads) differ between iOS and Android, and how should a cross-platform app handle it?
How do you protect a mobile app against reverse engineering and tampering?
How do you track crashes of an app in production?
The OS kills the app while it is in the background and the user comes back to find their input gone — how do you handle it?
What are the steps to publish an app to Google Play and the App Store?
The access token expires while many requests run in parallel — how do you refresh it without firing multiple refresh calls?
The app works in debug but crashes or shows a white screen in release — how do you debug it?
How do you integrate biometric login (fingerprint, Face ID) securely?
When should an app use a WebView, and how do web and native communicate safely?
A list with many images makes memory keep climbing and the app stutter — how do you fix it?
How do you design uploading large photos/videos over an unstable network?
What is `Context` in Android? Contrast Application context vs Activity context (memory-leak angle).
What is an ANR (Application Not Responding) and how do you prevent it?
What is `RecyclerView` and how does its view-recycling mechanism work?
Distinguish cold / warm / hot start and how to optimize app startup time.
What is `InheritedWidget` and how does it pass state down the widget tree? (the foundation of Provider)