Course Hive
Search

Welcome

Sign in or create your account

Continue with Google
or
πŸ’° Splitwise System Design with Full Code & Step-by-Step Explanation πŸ§‘β€πŸ’»
Play lesson

Low Level Design + MultiThreading Course - πŸ’° Splitwise System Design with Full Code & Step-by-Step Explanation πŸ§‘β€πŸ’»

5.0 (3)
31 learners

What you'll learn

This course includes

  • 30.5 hours of video
  • Certificate of completion
  • Access on mobile and TV

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

Course Hive

Continue this lesson in the app

Install CourseHive on Android or iOS to keep learning while you move.

FAQs

Course Hive
Download CourseHive
Keep learning anywhere