← Whatnot Interview Insights

Whatnot·Mobile Engineer·Technical Phone Screen·Intermediate

Intermediate
Jun 2026

Summary

Screening round for a mobile engineer role at Whatnot. The recruiter sends a prep doc ahead of time that basically tells you to expect a small game app you can finish in 45 minutes, so there's not much mystery about what's coming.

Questions Asked (1)

Q1

Build a functional Tic Tac Toe game app within 45 minutes.

Technical Trade-offsSystem Design
Author's notes

The recruiter doc actually names the possible prompts, so you can prep specific games beforehand.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying requirements and constraints (e.g., platform, UI expectations, AI opponent) to scope the MVP. Then outline a simple architecture (e.g., MVC/MVVM) and implement core game logic first, followed by UI and basic AI. Focus on clean, testable code and explain trade-offs as you go.

Pro tip: Prioritize a working vertical slice over perfection: get a playable game with basic UI and win detection, then iterate. This demonstrates pragmatic time management and the ability to deliver under constraints.

1. Clarify Requirements and Scope

Ask questions to define the MVP: platform (iOS/Android), UI framework (SwiftUI/UIKit/Flutter/React Native), features (two-player, AI, score tracking). Agree on a minimal feature set to fit 45 minutes.

2. Design Architecture and Data Model

Sketch a simple architecture (e.g., MVVM) and define the game state (board, current player, winner). Plan separation of concerns: game logic, UI, and AI.

3. Implement Core Game Logic

Code the board representation, move validation, win/draw detection, and turn switching. Write unit tests for logic if time permits.

4. Build the UI and Connect to Logic

Create a grid UI (e.g., 3x3 buttons) and bind it to the game state. Handle user taps to place marks and update the UI reactively.

5. Add Basic AI and Polish

Implement a simple AI opponent (e.g., random or minimax) if time allows. Add restart functionality and ensure the app runs without crashes.

Key Points to Mention

  • Trade-offs between using a cross-platform framework (e.g., Flutter) vs. native (Swift/Kotlin) for speed of development.
  • Separation of concerns: keeping game logic independent of UI for testability and reusability.
  • State management approach (e.g., using observables, Redux, or simple callbacks) and its impact on complexity.
  • Win detection algorithm: checking rows, columns, and diagonals efficiently.
  • AI implementation: random move vs. minimax with alpha-beta pruning, and time/space complexity.
  • Testing strategy: unit tests for game logic, UI tests for interactions, and manual testing for edge cases.

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