全部課程
電腦科學

System Design and Scalable Application Architecture

甄選並驗證:Roger Chen, Software Engineer, Meta
學習時長:約 11 小時
授課語言English · 简体中文 · Español
US$10.00永久存取
結業證書可驗證 · 可分享
預覽

You can build features. The blank page is the architecture: someone says "we need a real-time activity feed," or "support fifty times the users by next quarter," or an interviewer says "design a ride-hailing backend" — and the hard part isn't writing code, it's deciding what the pieces are and why. This course is about that decision. It gives you a method you can run on anything: pull out the real requirements, size them with back-of-the-envelope math, split the system into services with boundaries that hold, model the data and trace how it actually flows, then reach into a toolbox of reusable building blocks — load balancers, caches, replicas, shards, queues, consistent hashing, quorums, event streams — and place each one for a reason you can defend. You'll learn the trade-offs that decide real systems: SQL versus NoSQL by access pattern, fan-out on write versus on read, strong versus eventual consistency, why a partition forces you to choose, why "exactly-once" is really at-least-once plus idempotency. Then you'll compose those blocks into the architectures every team eventually builds — a read-heavy lookup service, a social feed, real-time chat, a media platform, a streaming aggregator, a booking-and-payments system that can't double-charge, a geo-proximity matcher. Because shipping isn't the end, you'll also design for failure, make a system observable with real SLOs, weigh security, multi-tenancy, and cost, and plan how an architecture migrates and grows instead of being rewritten. And because a design nobody understands is worthless, you'll finish by communicating it — clean diagrams, architecture decision records, and presenting under the clock, whether the audience is your team or an interview panel. Whether you're leading a team, founding a company, or preparing for system-design interviews, the underlying skill is the same: turning a vague requirement into an architecture you can stand behind.

課程目錄

關於課程作者

Roger Chen
Roger Chen
Software Engineer, Meta

For Roger, the interesting part of artificial intelligence begins after the experiment succeeds. His work has involved turning research prototypes into dependable software: packaging language and vision models behind production APIs, building distributed data and feature pipelines, automating training and deployment, and monitoring accuracy, latency, drift, and infrastructure cost once systems are live. He has contributed to recommendation engines, document-understanding tools, forecasting services, and generative-AI applications using Python, C++, PyTorch, cloud platforms, and containerized infrastructure. Equally comfortable profiling an inference bottleneck, reviewing model behavior with data scientists, or explaining tradeoffs to a product team, Julian specializes in closing the distance between a promising model and a product people can actually rely on.

評價 (16)

4.1 / 5
  • Christopher

    the information in this course is all the gap between a senior and junior.

  • Tu

    as a vibe coder, I found this course hard to follow. could you make a course that's more suitable for non-technical people like me?

  • Mike

    Since writing code is no longer a craft, knowing the system design becomes the most important skill to tell apart from a vibe coder. Please make sure you grasp at least 80% of the concepts in the course

  • Jeffery

    nice organization of system design! thanks

  • rugged_grasshopper

    Too basic, expected more deep design.