System Design for Frontend Engineers
Jason Nguyen
Instructor
Course preview
Khóa học tập trung vào thiết kế hệ thống dành cho kỹ sư frontend. Bạn sẽ học cách xây dựng kiến trúc lớn cho ứng dụng web, tối ưu API, cân bằng tải, caching, và cách làm việc với backend team. Dành cho các dev muốn thăng tiến lên role senior/lead.
Course description
Khóa học tập trung vào thiết kế hệ thống dành cho kỹ sư frontend. Bạn sẽ học cách xây dựng kiến trúc lớn cho ứng dụng web, tối ưu API, cân bằng tải, caching, và cách làm việc với backend team. Dành cho các dev muốn thăng tiến lên role senior/lead.
What you will learn
- Hiểu các mẫu kiến trúc frontend-scale.
- Thiết kế API & GraphQL schemas phù hợp.
- Caching strategies và state management.
- Load balancing và microfrontends.
- Streaming, pagination và data federations.
- Mối quan hệ frontend-backend trong đội ngũ lớn.
Course content
6 chapter • 42 lesson • 0 minutes
Khái niệm và tầm quan trọng của design.
Why system design matters?
Học về why system design matters?
Scalability vs Performance
Học về scalability vs performance
Design patterns overview
Học về design patterns overview
Front-end specific concerns
Học về front-end specific concerns
Case studies: big applications
Học về case studies: big applications
Communication with backend teams
Học về communication with backend teams
Exercise: diagram a feature
Học về exercise: diagram a feature
Thiết kế API hợp lý và mô hình dữ liệu.
REST vs GraphQL
Học về rest vs graphql
Versioning APIs
Học về versioning apis
Schema design principles
Học về schema design principles
Pagination and filtering
Học về pagination and filtering
Rate limiting and throttling
Học về rate limiting and throttling
Client-side caching patterns
Học về client-side caching patterns
Exercise: design an API contract
Học về exercise: design an api contract
Bộ nhớ cache hiệu quả và quản lý state.
Browser cache strategies
Học về browser cache strategies
CDN và edge caching
Học về cdn và edge caching
Client-side state with Redux/Context
Học về client-side state with redux/context
Normalization và denormalization
Học về normalization và denormalization
Realtime updates và websocket
Học về realtime updates và websocket
Cache invalidation techniques
Học về cache invalidation techniques
Exercise: implement caching layer
Học về exercise: implement caching layer
Phân phối tải và xây dựng microfrontends.
Load balancing basics
Học về load balancing basics
CDNs & geo-distribution
Học về cdns & geo-distribution
Introducing microfrontends
Học về introducing microfrontends
Techniques: iframe, router, web components
Học về techniques: iframe, router, web components
Deployment strategies
Học về deployment strategies
Communication between microfrontends
Học về communication between microfrontends
Exercise: split a dashboard app
Học về exercise: split a dashboard app
Xử lý luồng dữ liệu lớn và phân trang.
Real-time streaming overview
Học về real-time streaming overview
Server-sent events (SSE)
Học về server-sent events (sse)
WebSockets implementation
Học về websockets implementation
Cursor-based pagination
Học về cursor-based pagination
Infinite scroll vs pagination
Học về infinite scroll vs pagination
Backpressure handling
Học về backpressure handling
Exercise: build infinite feed
Học về exercise: build infinite feed
Làm việc nhóm và tài liệu hóa thiết kế.
Writing design documents
Học về writing design documents
API spec tools (Swagger, OpenAPI)
Học về api spec tools (swagger, openapi)
Version control for design
Học về version control for design
Design review process
Học về design review process
Scaling teams và ownership
Học về scaling teams và ownership
Onboarding new engineers
Học về onboarding new engineers
Final project: design a scalable feature
Học về final project: design a scalable feature
Course preview
Khóa học tập trung vào thiết kế hệ thống dành cho kỹ sư frontend. Bạn sẽ học cách xây dựng kiến trúc lớn cho ứng dụng web, tối ưu API, cân bằng tải, caching, và cách làm việc với backend team. Dành cho các dev muốn thăng tiến lên role senior/lead.