動画検索
関連広告
検索結果
What is System Design
Design Patterns
Live Streaming System Design
Fault Tolerance
Extensibility
Testing
Summarizing the requirements
Core requirement - Streaming video
Diagramming the approaches
API Design
Database Design
Network Protocols
Choosing a Datastore
Uploading Raw Video Footage
Map Reduce for Video Transformation
WebRTC vs. MPEG DASH vs. HLS
Content Delivery Networks
High-Level Summary
Introduction to Low-Level Design
Video Player Design
Engineering requirements
Use case UML diagram
Class UML Diagram
Sequence UML Diagram
Resources for System Design
System design is not just about interviewing!
My experience designing systems
This is not a recipe
Defining "the what"
Documenting the discovery process is critical
Defining "the why"
Defining “the when”
Estimations & scheduling constraints
Understanding uncertainty
Defining "the how"
Technical problems are easy!
You rarely design on a blank slate
System design in SaaS companies is different
System design in traditional companies
Big tech problems are relatively simpler problems
My diagramming process
The 2 laws of software architecture
System design is an optimization problem
Why do we do system design?
Architecture diagrams reduce abstraction
Essential diagram types
The software that I use for diagramming
The important layers in a system design diagram
Don't diagrams become obsolete quickly?
Conclusion
Intro
Question: "How would you design TikTok?"
1. Clarification questions
2. Non-functional requirements
3. High level design (components)
3. High level design (upload flow with databases)
3. High level design (download flow)
4. Drill down (video metadata)
4. Drill down (user metadata)
4. Drill down (For You feed)
5. Bottlenecks
6. Enhancements
7. Bring it all together