← Whatnot Interview Insights

Whatnot·Mobile Engineer·Technical Phone Screen·Intermediate

Intermediate
Jul 2026

Summary

Whatnot mobile interview had me build a small app with two list views that had to stay in sync. The time pressure was real and caught me off guard more than the actual problem did.

Questions Asked (1)

Q1

Build a small app with two list views that both fetch and update data, where changes made in one view are reflected in the other in real time.

System DesignTechnical Trade-offsAPI & Integrations
Author's notes

The sync part is what trips you up if you're not thinking about it from the start.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying the requirements and constraints (e.g., real-time expectations, platform, data source) before diving into architecture. Then propose a high-level design that separates data fetching, state management, and UI, and discuss trade-offs of different real-time update strategies. Finally, walk through a concrete implementation plan, highlighting how you would ensure consistency and performance.

Pro tip: Emphasize the importance of a single source of truth for data and discuss how you would handle edge cases like offline support, race conditions, and error states—this shows you think beyond the happy path.

1. Clarify Requirements

Ask questions to understand the scope: What does 'real time' mean (seconds, milliseconds)? Are the lists independent or related? What platforms and data sources? This ensures you design the right solution.

2. Choose Architecture

Decide on a state management approach (e.g., Redux, MobX, Provider, or a shared repository) and a real-time mechanism (WebSockets, polling, Firebase, etc.). Consider trade-offs between complexity, latency, and scalability.

3. Design Data Flow

Define how data is fetched, stored, and updated. Ensure both views subscribe to the same data source so changes propagate automatically. Use observers or streams to push updates.

4. Handle Edge Cases

Address potential issues: network failures, conflicting updates, offline mode, and performance with large lists. Describe how you would implement retries, optimistic updates, and conflict resolution.

5. Summarize and Trade-offs

Recap your solution and discuss alternative approaches (e.g., polling vs. WebSockets) and why you chose your design. Mention any libraries or tools you would use.

Key Points to Mention

  • Single source of truth for data to avoid inconsistencies
  • Real-time update mechanisms: WebSockets, Server-Sent Events, or Firebase Realtime Database
  • State management patterns: observer pattern, streams, or reactive programming
  • Optimistic UI updates for better user experience
  • Handling offline scenarios and data synchronization
  • Performance considerations: pagination, lazy loading, and efficient diffing

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.