Atlassian System Design Interview: Favorite Color Sharing

Based on a candidate's reported Atlassian interview

The interviewer opens

Hi, and thanks for joining. Welcome to your interview for the Senior Software Engineer P50 role at Atlassian. We'll design a system together, and you can sketch on the whiteboard on the right of your screen as you talk. If you need to step out or take a break, the Pause button at the top right will pause the interview at any time.

The problem is in the Problem tab: it's a small social feature, favorite color sharing among friends, and collaboration features like this live on presence and notifications. Please read through the requirements and ask me anything you'd like clarified before you start drawing.

The problem

Design a system where users pick a favorite color, connect with friends, and share it with them, so each user can see their friends' current favorite colors and learn when a friend changes theirs.

Must do

  • Users set or change their favorite color
  • Users send, accept and remove friend requests
  • Users view their friends' current favorite colors
  • Friends are notified when a user shares a new favorite color

Must hold

  • A friend's new color should show up for their friends within seconds
  • Viewing friends' colors must stay fast and available at peak