← Nooks Interview Insights

Nooks·Software Engineer·Technical Phone Screen·Intermediate

IntermediatePrefer not to say
May 2026Remote

Summary

Nooks had me do a live debugging round for a software engineer role, basically fixing a broken full-stack YouTube watch party app in real time. The starter code was provided and publicly available on GitHub, so you can actually look at it beforehand if you know what's coming.

Questions Asked (1)

Q1

Given a broken full-stack 'YouTube watch party' app with starter code, identify and fix bugs across the frontend, backend, and WebSocket synchronization logic so that multiple users can watch a video together with synced playback, a working chat sidebar, and basic room management.

System DesignAPI & IntegrationsRoot Cause Analysis
Author's notes

This was a lot to hold in your head at once.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by reproducing the bugs and tracing the data flow from frontend to backend to WebSocket. Prioritize critical path issues (video sync, chat) and fix them incrementally, testing each fix with multiple clients. Use logging and browser dev tools to isolate whether the problem is in the client, server, or socket layer.

Pro tip: Demonstrate a systematic debugging process: form a hypothesis, test it with minimal changes, and verify with multiple clients. Also, mention that you'd add automated tests for the sync logic to prevent regressions.

1. Reproduce and Prioritize

Run the app with multiple clients to reproduce bugs. List issues by severity: video sync, chat, room management.

2. Trace Data Flow

For each bug, trace the data flow: frontend event -> API call -> backend processing -> WebSocket broadcast -> client update. Use logging and dev tools to pinpoint failures.

3. Fix Backend and API

Check backend endpoints for room creation/joining, message handling, and video state persistence. Ensure proper error handling and data validation.

4. Fix WebSocket Synchronization

Verify WebSocket connection, event names, and payloads. Ensure server broadcasts video events (play, pause, seek) to all clients in the room and handles reconnection.

5. Fix Frontend and Test

Update frontend to emit correct events, handle incoming WebSocket messages, and update UI. Test with multiple clients to confirm sync and chat work.

Key Points to Mention

  • WebSocket event handling and room-based broadcasting
  • State synchronization for video playback (play, pause, seek)
  • API design for room management (create, join, leave)
  • Chat message flow and real-time updates
  • Error handling and reconnection logic
  • Testing with multiple clients and debugging tools

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