Lld
Low-Level Design
Medium
Multi-Layered Subscription & Discount Engine
Design a billing module for a SaaS platform. Users have different 'SubscriptionStates' (Trial, Active, PastDue, Canceled) which restrict features. Additionally, the system must apply multiple 'Discounts': 'First-Time User' (fixed $ off), 'Seasonal' (% off), and 'Referral' (stackable). Discounts have priority levels and some cannot be combined. The system must calculate the final price and determine which features are currently enabled for the user.
Key concepts
decorator patternstate patternrules engine
Practise this out loud — free
Start a mock interview on THIS exact question — a voice AI interviewer opens with it, pushes back like a real onsite, then hands you an instant scorecard.
🎙 Practise this question now