Mobile Engineer
How would you build a scrolling list of thousands of items so it stays smooth on an older phone?
What the interviewer is looking for
- This question tests performance & battery. Uses platform profilers, keeps the main thread free, and names concrete fixes for jank, memory and battery drain.
- Strong answers: Recycled or lazy list views, image downsizing and caching, moving work off the main thread, pagination, and profiling to confirm.
- Likely follow-up: Which tool would you use to prove where the stutter comes from?
Another way it may be asked: Your feed stutters when users scroll quickly on a three-year-old phone. How do you make it smooth?
A structure to follow: Frame, structure, analyse, recommend
- Step 1
Frame
Restate the goal and ask what success is and what the constraints are.
- Step 2
Structure
Split the problem into a few separate parts you can check one by one, and say what you will look at first and why.
- Step 3
Analyse
Reason with the information you have, state your assumptions out loud, and say what data would change your mind.
- Step 4
Recommend
Give a clear recommendation, the main risk, and the first step you would take.
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
- Listing ideas without choosing between them.
- Hiding assumptions instead of stating them.
- Finishing without a recommendation.
How to practise it
Answer in four spoken parts, one per step, then check you ended on a recommendation.
Related questions
- How would you find and fix an app that users say drains their battery?
- Can you explain the lifecycle of a screen in an iOS or Android app, and why it matters when you load data?
- How do you make sure your app's screens adapt to different screen sizes, dark mode and larger text settings?
- Imagine a user opens your app on a subway with no signal. What should the app do, and how would you build that?
- What architecture pattern do you use to structure your app's screens and logic, and why that one?