Summary
Keywords
Full Transcript
Article - https://codewitharyan.com/system-design/low-level-design Structured DSA (Basics to Advanced) Practice - https://codewitharyan.com/cwa-sheet/practice-problems My Uber Interview Experience - https://youtu.be/VGYJIX5yl74 My Coinbase Interview Experience - https://youtu.be/IjOC18b_dCw My American Express Inteview Experience - https://youtu.be/c3UhYefhnqk My JP Morgan & Chase Interview Experience - https://youtu.be/-jacTpY57no ..... more coming soon (along with LLD course on Second Channel) Most Frequently asked questions based on Leetcode Premium - https://codewitharyan.com/cwa-sheet/aryan-dsa-master-sheet LLD Syllabus which we gonna cover - https://codewitharyan.com/system-design/low-level-design Let's Connect: Main Channel for DSA & Live Streams - https://www.youtube.com/@ARYANMITTAL X Twitter : https://x.com/aryan_mittal007 π±Discord (Join Community) : https://discord.gg/vwUAz2pEHZ πLinkedin (About me): https://www.linkedin.com/in/aryan-mittal-0077 πΈ Instagram: https://www.instagram.com/codewitharyanbhai π±Telegram : https://t.me/aryan_mittal_group π€ Github: https://github.com/aryan-0077 β¨ Timelinesβ¨ 0:00 - Course Intro + Insider Interview Experience 0:31 - Splitwise LLD Problem Overview 1:11 - What You'll Learn in This Module 2:01 - Three Algorithms for Optimal Debt Settlement 2:33 - What is Splitwise? Real-world Use Case Explained 5:02 - Key Goal: Minimize Transactions 6:52 - Supported User Operations in the App 8:12 - How to Explain Splitwise in an Interview 10:16 - Time Constraints: What to Cover and What to Skip 11:12 - High-Level Component Design 13:05 - Balance Sheet: Tracking User Settlements 15:00 - Design Patterns Used (Factory, Observer, Strategy, Builder) 18:53 - Class Diagram and Entity Design 22:07 - Expense Class Structure Explained 24:56 - Transaction Class and Relationship to Expense 27:22 - Split Types and Split Factory Pattern 28:12 - Observer Pattern for Notifying Changes 31:36 - Calculating Balances Between Users 34:20 - Simplified Settlement β Start of Logic 35:24 - Strategy 1: Naive Two Pointer (Incorrect Transactions) 44:02 - Strategy 2: Backtracking for Optimal Settlement 55:06 - Complexity Analysis of Backtracking 55:52 - Strategy 3: DP with Bitmasking 1:07:00 - DP Complexity and Group Optimization 1:10:02 - Final Code Walkthrough + Implementation Tips 1:11:04 - Adding Groups to the Design 1:12:46 - Summary: Final Code, Group Logic & Closing β¨ Hashtags β¨ #programming #Interviews #leetcode #faang #maang #datastructures #algorithms #low-level-design #lld-by-aryan #splitwiseapp #splitwise #splitwiseapptutorial #howtousesplitwiseapp #howtousesplitwise #roommateexpensetracker #howtosplitexpensesonsplitwise #howtoaddexpenseinsplitwise #expensetracker #groupexpensestrackerapp #splitwisesystemdesign #sharedexpensetracker #howtodeleteanexpensefromyourgroupinsplitwise #splitmoneywithfriends #howtosplitexpenses #splitwisetutorial #howtosplitfriendsexpenses #splitmoneybetweenfriendsapp
