Design (LLD) video streaming platform - Machine CodingSubhahu Jain·Dec 30, 2022·9 min readTable of contentsCodeIssues in Above Design1️⃣ No Video Playback Lifecycle (Critical LLD Gap)CurrentMissing StatesWhy It MattersSolution2️⃣ Payment Checks Are Not Atomic (Severe Concurrency Bug)ProblemRace ConditionReal-World ImpactSolution3️⃣ Subscription State Is Not Time-BoundProblemMissingInterview InsightSolution4️⃣ User Cache Is Not Thread-SafeProblemConcurrency IssuesExample FailureSolution5️⃣ Video Cache Has No Eviction / TTLLLD IssueMissingInterview Red Flag 🚨Solution6️⃣ Recommendation Engine Is Not ScalableProblemComplexityMissingSolution7️⃣ Ratings Are Not Concurrency-SafeProblemIssuesMissingSolution8️⃣ Observer Pattern Is Blocking Core FlowProblemIssuesCorrect ModelSolution9️⃣ Decorator Pattern Misused (LLD Smell)ProblemIssueBetter ModelSolution🔟 Playback Service Has Hidden CouplingProblemIssueSolution11️⃣ No Stream Concurrency LimitsMissing EntirelyReal-World RuleSolution12️⃣ No Video Ownership or Access PolicyMissingSolutionJavaScriptPythonGeneral ProgrammingJavaProgramming Blogs