Chapter 12
Level Signals Reference
Senior (L5) · Staff (L6) · Principal (L7/L8) — per topic
Ready to practise interactively?
Explore this chapter with quizzes, diagrams, and real-world examples in the full interactive experience.
Interview Question Types
Mobile system design questions fall into two types with different answer structures.
| Type | Example Questions | Answer Focus |
|---|---|---|
| App / Feature Design | Design a chat app. Design an Instagram feed. Design a ride-tracking screen. | User flows, architecture layers, state management, offline support, real-time sync, notifications, pagination, failure handling |
| Library / SDK Design | Design an image loading library. Design an analytics SDK. Design a networking library. | Public API surface, initialization, thread safety, memory management, caching strategy, error handling, testability, backward compatibility |
Interview tip: For a library, your 'user' is another engineer, not an end user. API clarity, thread safety, and memory management matter more than navigation or state hoisting.
Level Signals — Architecture
What distinguishes each level in architecture knowledge.
| Topic | Senior (L5) | Staff (L6) | Principal (L7/L8) |
|---|---|---|---|
| Architecture | Implements Clean Architecture correctly | Justifies layer boundaries, explains why Domain is Android-free | Defines architecture standards for the team, writes lint rules to enforce them |
| Modularization | Knows what modules are | Designs the module graph, explains API/impl split and build time impact | Owns the build system strategy for 100+ engineers, evaluates build tooling |
| State / MVI vs MVVM | Uses StateFlow and ViewModel correctly | Chooses MVI vs MVVM based on screen complexity, explains tradeoffs | Defines the state management pattern for the entire codebase |
| Process death | Knows ViewModel survives rotation | Handles process death with SavedStateHandle and Room restoration | Designs zero-data-loss state contract across all app states |
Level Signals — Implementation
What distinguishes each level in implementation depth.
| Topic | Senior (L5) | Staff (L6) | Principal (L7/L8) |
|---|---|---|---|
| Compose recomposition | Knows what recomposition is | Identifies instability, fixes with @Stable/@Immutable, derivedStateOf | Sets team performance budgets, builds automated recomposition regression tests |
| Networking | Uses Retrofit + OkHttp correctly | Designs interceptor chain, handles token refresh, chooses protocol with justification | Designs the mobile API contract with backend, owns the serialization strategy |
| Offline-first | Aware of the pattern | Implements outbox + WorkManager + Room end-to-end with retry and conflict resolution | Defines the consistency model for the app — what can diverge vs what must be strong |
| Caching | Uses L1/L2 cache | Designs full three-layer cache with appropriate invalidation strategy per data type | Owns the caching policy org-wide, measures and iterates on cache hit rates |
Level Signals — Operations
What distinguishes each level in operational excellence.
| Topic | Senior (L5) | Staff (L6) | Principal (L7/L8) |
|---|---|---|---|
| Coroutines / Flow | Uses coroutines for async work | Uses flatMapLatest, SupervisorScope, handles cancellation and exceptions correctly | Designs the concurrency model, identifies and eliminates shared mutable state |
| Performance | Knows to avoid blocking main thread | Profiles with Perfetto, implements Baseline Profiles, fixes memory leaks | Defines performance SLOs, builds performance CI gates, leads perf review culture |
| Security | Stores tokens in EncryptedSharedPreferences | Designs full auth flow with refresh, pinning, encrypted DB, per-data-type storage | Owns the security posture of the app, leads threat modelling, defines security standards |
| Testing | Writes unit tests | Designs test pyramid, uses fakes not mocks, tests Flow with Turbine | Defines testing strategy org-wide, sets coverage standards, builds test infrastructure |
The Thinking Difference at Each Level
The fundamental difference in how each level approaches problems.
| Level | What They Optimize For | What They Ask |
|---|---|---|
| Senior (L5) | Correctness. Does the solution work? | How do I implement this? |
| Staff (L6) | Tradeoffs. Why this solution over alternatives? | What are the failure modes? What am I trading off? |
| Principal (L7/L8) | Org impact. How does this scale to the entire team and product? | What does this decision cost us in 2 years? Who else is affected? |
Interview tip: Staff engineers are hired for their thinking, not their recall. Reason out loud. Say why at every step. The interviewer wants to see how you handle ambiguity — not whether you memorized this sheet.