Mobile App Developer Interview Questions Mumbai NI10021
Mobile App Developer Interview Questions and Answers - Mumbai (Remote)
Job ID: NI10021
This guide covers commonly asked interview questions for the Mobile Application Developer (Android & iOS) position in Mumbai, Maharashtra. It is useful for candidates preparing for mobile developer interviews covering Android, iOS, cross-platform development, architecture patterns, and app deployment.
Top Interview Questions
1. What is the difference between native Android development and cross-platform development with React Native or Flutter?
Native Android (Kotlin/Java) or iOS (Swift) development gives full access to platform APIs, better performance, and tighter integration with OS features. Cross-platform frameworks like React Native and Flutter allow a single codebase to target both platforms, reducing development time and cost. Native is preferred for performance-critical or deeply platform-integrated apps. Flutter or React Native suits apps where speed of delivery and code reuse are priorities.
2. Explain the Android activity lifecycle and why it matters for app development.
The Android activity lifecycle defines the states an activity passes through: onCreate, onStart, onResume, onPause, onStop, onDestroy. Mishandling the lifecycle causes crashes and data loss. For example, save state in onPause or onSaveInstanceState so users do not lose input when the app goes to background. Release heavy resources in onStop. Understanding the lifecycle is fundamental to writing stable and memory-efficient Android apps.
3. How do you handle API integration and network calls in a mobile application?
Use Retrofit with OkHttp on Android or Alamofire on iOS for structured API calls. Always run network calls on background threads using coroutines on Android or async/await on Swift. Implement error handling for network failures, timeouts, and server errors. Show appropriate loading states and error messages to the user. Use interceptors for auth token injection and logging. Cache responses where possible to reduce redundant network calls.
4. What is MVVM architecture and how do you implement it in an Android or iOS app?
MVVM separates the UI (View), business logic (ViewModel), and data layer (Model). On Android use ViewModel with LiveData or StateFlow from Android Architecture Components. The View observes the ViewModel for state changes and the ViewModel calls the Repository for data. This makes code testable, maintainable, and keeps UI logic out of Activity or Fragment. On iOS implement it with ObservableObject and @Published using SwiftUI or combine with UIKit.
5. How do you implement push notifications in a mobile app?
On Android integrate Firebase Cloud Messaging (FCM) by adding the Firebase SDK, obtaining the device token, and implementing FirebaseMessagingService to handle incoming messages. On iOS use APNs through Firebase or directly via the UserNotifications framework. Request user permission at an appropriate moment. Send the device token to your backend for targeting. Handle both foreground and background notification states with appropriate UI responses.
6. How do you optimise a mobile app for performance and low battery consumption?
Avoid running heavy operations on the main thread — use background threads for network calls and database operations. Implement pagination for large lists instead of loading all data. Use lazy loading for images with libraries like Glide or Coil on Android. Minimise wakelock usage and background sync frequency. Profile the app using Android Studio Profiler or Instruments on Xcode to identify CPU, memory, and battery hotspots.
7. What steps do you take before publishing an app to the Google Play Store or Apple App Store?
Conduct thorough testing on multiple device screen sizes and OS versions. Fix all crashes reported in beta testing. Optimise app size by enabling ProGuard/R8 on Android or bitcode on iOS. Prepare store listing with keyword-optimised title, description, and high-quality screenshots. Set up crash reporting with Firebase Crashlytics. Review against Play Store and App Store guidelines to avoid rejection. Sign the release build with the correct keystore or certificate.
8. Describe a challenging bug you fixed in a mobile app and how you approached it.
Use the STAR method. Describe a real scenario such as a memory leak causing OOM crashes. Explain how you used the profiler to identify retained references, discovered a static context leak in a listener, and fixed it by using a WeakReference or clearing the listener in the appropriate lifecycle callback. Emphasise systematic debugging, tool usage, and preventive measures implemented to avoid recurrence.
Tips for the Interview
- Bring links to your published apps on the Play Store or App Store — it is the strongest proof of your skills
- Be ready to walk through a recent project: architecture decisions, challenges faced, and performance optimisations made
- Know the mobile app lifecycle thoroughly — this is tested in almost every mobile developer interview
- Demonstrate awareness of both Android and iOS ecosystems even if you specialise in one platform
- Show knowledge of state management and data flow patterns — interviewers value architectural thinking in mobile engineers