Design Splitwise.

Medium
Company: Premium
GoogleAmazon

Imagine you're building a simplified version of Splitwise, a popular app for tracking shared expenses among friends. The core problem revolves around managing users, groups, and expenses, ensuring fair distribution of costs, and displaying settlement amounts to equalize debts. This isn't just about storing data; it's about designing a system that handles complex relationships between users, groups, and transactions, and does so in a way that's easy to understand, maintain, and extend.

This coding problem focuses on the core logic of splitting expenses and calculating who owes whom. We will focus on in-memory calculations for simplicity, rather than persistence.

Requirements

Interview Simulation

Experience a realistic interview conversation. The interviewer will ask clarifying questions,and you'll reveal your understanding of the requirements.

Interviewer

Let's start by understanding the scope. What are the core functionalities this system needs to provide?

💡 Interview Tip

Identify the Actors (Who uses the system?) and their Use Cases (What are they trying to achieve?). Start with the 'Happy Path' scenarios.

Press ⌘ + Enter to submit

Premium Content

View detailed solutions.

UNLOCK PREMIUM