Design (LLD) Coupon System For Zepto - Machine Coding InterviewSubhahu Jain·Dec 18, 2024·7 min readTable of contentsAsked in LLD Interview for SDE-2Problem Statement:Key Requirements:Concurrency Requirements:SolutionIssues in Above Design1️⃣ Rule Evaluation Is NOT Thread-Safe by Design (Even If It “Looks” Safe)Current AssumptionHidden IssueSolution2️⃣ Coupon Evaluation Is Sequential → Latency ExplosionCurrentProblemSolution3️⃣ Rule Evaluation Repeats the Same ChecksExampleSolution4️⃣ RulesFormula Field Is Dead CodeCurrentIssueSolution5️⃣ No Short-Circuit Optimization Across CouponsCurrentProblemSolution6️⃣ CouponRecommendationImpl Is Not Thread-SafeCurrentIssuesSolution7️⃣ No Concurrency Control for Multi-Threaded EvaluationMissingSolution8️⃣ No Isolation Between Coupon FailuresProblemSolution9️⃣ No Deterministic Coupon OrderingCurrentProblemSolution🔟 No Coupon Compatibility / Stacking RulesMissingSolution1️⃣1️⃣ No Caching StrategyMissingSolution1️⃣2️⃣ Rule Interface Is Too GenericCurrentProblemSolution1️⃣3️⃣ No Metrics / ObservabilityMissingSolution1️⃣4️⃣ No Versioning of RulesMissingSolution1️⃣5️⃣ No Read-Heavy OptimizationRealitySolutionzeptoLLDhldProgramming BlogsinterviewBeginner DevelopersDeveloperGeneral ProgrammingJavaScriptJavaObject Oriented Programming