Skip to content
RED SAGSkills
easyMobile App Developer interview question

What is MVVM and why is it used in mobile apps?

What the interviewer wants to hear

  • Model: data and business logic
  • View: UI that displays state and sends user events
  • ViewModel: holds UI state and handles events, no direct UI references
  • Easier testing and separation of concerns
  • Works well with reactive state like StateFlow or Observable

Model answer

MVVM stands for Model, View and ViewModel. The Model is the data layer, such as repositories that talk to the network and local database. The View is the UI, a Compose screen or SwiftUI view, which only displays state and forwards user actions. The ViewModel sits in between: it holds the screen state, handles events like button taps, calls the repository, and exposes the result as observable state, such as a StateFlow or an @Observable object. The ViewModel never holds a reference to the View. This separation keeps UI code simple, makes business logic easy to unit test without a device, and on Android the ViewModel also survives rotation. Many teams combine it with unidirectional data flow, where state goes down and events go up.

Can you answer it under time pressure?

Take a timed easy round and get scored on every answer.

Start mock interview

More easy Mobile App Developer questions