Mobile Engineer
What architecture pattern do you use to structure your app's screens and logic, and why that one?
What the interviewer is looking for
- This question tests mobile ui & app architecture. Structures apps with a clear pattern, separates interface from logic, supports different screens, dark mode and accessibility settings.
- Strong answers: A named pattern used in practice, clear separation of concerns, testability, unidirectional data flow, and awareness of trade-offs.
- Likely follow-up: When has that pattern felt like too much for a simple screen?
Another way it may be asked: When you start a new screen, how do you split the code between what's displayed and the logic behind it?
A structure to follow: Requirements, sketch, deep-dive, trade-offs
- Step 1
Requirements
Ask who uses it, what it must do, and which qualities matter most: speed, reliability, cost, consistency.
- Step 2
Sketch
Draw the main parts and the path one request takes through them before adding detail.
- Step 3
Deep-dive
Pick the riskiest part (storage, queueing, failure handling) and go deeper there.
- Step 4
Trade-offs
Name what you gave up for each choice, and what you would do first if it needed to grow.
This is guidance on shape, not a script. Use your own real experience and facts; never invent details to fill a gap. See the STAR guide and answer frameworks.
Common slips
- Naming tools before establishing requirements.
- Drawing every box at the same depth instead of going deep where it matters.
- Presenting one design as the only answer, with no trade-offs.
How to practise it
Time yourself: two minutes on requirements, five on the sketch, five on one deep-dive, two on trade-offs.
Related questions
- How do you make sure your app's screens adapt to different screen sizes, dark mode and larger text settings?
- Would you choose native development or a cross-platform framework like Flutter or React Native for a new app? What would drive that decision?
- Can you explain the lifecycle of a screen in an iOS or Android app, and why it matters when you load data?
- Imagine a user opens your app on a subway with no signal. What should the app do, and how would you build that?
- How would you build a scrolling list of thousands of items so it stays smooth on an older phone?