inflearn logo

Thiết kế hệ thống frontend thực chiến tại các công ty Big Tech Mỹ: Dành cho các nhà phát triển frontend không muốn mãi chỉ là người triển khai đơn thuần

Khóa học này rèn luyện tư duy thiết kế hệ thống frontend thông qua các trường hợp dịch vụ thực tế như feed Threads, giỏ hàng Amazon, giao diện phát trực tuyến Netflix, chỉnh sửa cộng tác trên Google Docs, Micro Frontend, Agentic UI và Observability.

(4.4) 16 đánh giá

391 học viên

Độ khó Cơ bản

Thời gian Không giới hạn

frontend
frontend
system-design
system-design
AI
AI
frontend
frontend
system-design
system-design
AI
AI

Đánh giá từ những học viên đầu tiên

4.4

5.0

망고

74% đã tham gia

Thật tuyệt vời. Là một lập trình viên Front-end 5 năm kinh nghiệm, tôi cảm thấy những phần mình còn thiếu sót và bế tắc bấy lâu nay đã được giải tỏa phần nào thông qua khóa học này. Tôi thực sự khuyên các bạn nên dồn hết tâm sức để thực hiện các nhiệm vụ (mission) xen kẽ trong khóa học dù có khó khăn đến đâu. Bởi vì bạn sẽ nhận được những phản hồi cực kỳ chi tiết từ giảng viên đấy! Rất cảm ơn bạn đã tạo ra khóa học này! Nếu bạn có kế hoạch cho các khóa học khác, nhất định hãy ra mắt thêm nhé. Xin cảm ơn!

5.0

Bora Ahn

33% đã tham gia

Đây là lớp học giúp mở rộng tầm nhìn.

5.0

hj rr

100% đã tham gia

Trong bài giảng có các nhiệm vụ, tôi thực sự khuyên bạn nên thử thực hiện chúng.

Bạn sẽ nhận được điều này sau khi học.

  • Trong buổi phỏng vấn thiết kế hệ thống frontend, có thể tổng hợp các yêu cầu và xây dựng câu trả lời nhất quán, bao quát từ kiến trúc, luồng dữ liệu, cấu trúc component cho đến chiến lược vận hành.

  • Có thể lựa chọn các chiến lược kết xuất như CSR, SSR, SSG, ISR, Streaming… phù hợp với từng tình huống trong các ứng dụng web quy mô lớn và giải thích được những đánh đổi của chúng.

  • Bạn có thể phân biệt Local State, Global State, Server State, URL State và Cache State, đồng thời thiết kế cấu trúc quản lý trạng thái cho các màn hình phức tạp.

  • Bạn có thể học được tư duy của một kiến trúc sư frontend, không chỉ đơn thuần là một nhà phát triển triển khai giao diện, mà còn là người giúp người dùng hiểu và thao tác với các sản phẩm và hệ thống phức tạp.

  • Có thể viết tài liệu thiết kế hệ thống frontend mang tính thực tiễn, bao gồm hiệu năng, khả năng tiếp cận, bảo mật, kiểm thử, khả năng quan sát và chiến lược triển khai.

  • Có thể cấu trúc giao diện người dùng của các lĩnh vực phức tạp từ góc nhìn frontend, chẳng hạn như nền tảng phân tích chi phí linh kiện tên lửa theo phong cách SpaceX, nguồn cấp dữ liệu thời gian thực theo phong cách Threads và bảng điều khiển vận hành robot theo phong cách Figure AI.

  • Trong buổi phỏng vấn thiết kế hệ thống frontend, bạn có thể tổng hợp các yêu cầu và xây dựng câu trả lời nhất quán, bao quát từ kiến trúc, luồng dữ liệu, cấu trúc component cho đến chiến lược vận hành.

Lý do kỹ sư frontend khó tăng lương không phải vì họ không biết.

Vấn đề là nhiều nhà phát triển frontend
vẫn bị đánh giá là “những người triển khai giao diện”.

Và trong thời đại AI viết mã,
cách đánh giá này ngày càng trở nên nguy hiểm.

Việc triển khai nút bấm, UI thẻ, kết nối API, màn hình CRUD và quản lý trạng thái đơn giản
đã nhanh chóng được AI bắt kịp.

Trong tương lai, điểm khác biệt của kỹ sư frontend sẽ là
không phải “bạn triển khai nhanh đến mức nào”
mà là bạn có thể thiết kế các yêu cầu sản phẩm phức tạp thành một hệ thống hay không.


Để đạt được mức lương cao hơn và những vị trí tốt hơn
, bạn cần có khả năng phân tách và thiết kế các yêu cầu phức tạp thành trạng thái, luồng dữ liệu, chiến lược kết xuất, hiệu năng, khả năng quan sát và kiến trúc triển khai.


Khóa học này rèn luyện tư duy thiết kế hệ thống frontend
thông qua các tình huống thực tế theo phong cách big tech
, từ feed của Threads, giỏ hàng Amazon, giao diện streaming của Netflix,
biên tập cộng tác trên Google Docs, Micro Frontend, tối ưu hóa hiệu năng cho đến Observability.


Khóa học này không chỉ dừng lại ở việc triển khai giao diện mà còn hướng dẫn cách cấu trúc và thiết kế các yêu cầu dịch vụ phức tạp từ góc nhìn thiết kế hệ thống frontend.

Học viên sẽ rèn luyện tư duy thiết kế kiến trúc UI quy mô lớn thông qua các ví dụ như nguồn cấp dữ liệu thời gian thực theo phong cách Threads, danh sách sản phẩm và giỏ hàng theo phong cách Amazon, giao diện phát trực tuyến video của Netflix/YouTube, giao diện chỉnh sửa cộng tác của Google Docs, nền tảng phân tích chi phí các bộ phận tên lửa theo phong cách SpaceX và bảng điều khiển vận hành robot theo phong cách Figure AI.

Trong khóa học, bạn sẽ từng bước học các yếu tố cốt lõi cần phải cân nhắc trong thiết kế hệ thống frontend, từ phân tích yêu cầu, chiến lược kết xuất, luồng dữ liệu, quản lý trạng thái, cấu trúc component, tối ưu hóa hiệu suất, khả năng tiếp cận, bảo mật, kiểm thử, khả năng quan sát cho đến chiến lược triển khai.

Khóa học này có thể được áp dụng trong các lĩnh vực như Big Tech Mỹ, startup toàn cầu, SaaS doanh nghiệp, dashboard thời gian thực, bảng điều khiển vận hành, nền tảng quan sát hệ thống, giao diện hạ tầng AI/robot/vũ trụ. Mục tiêu là phát triển năng lực thiết kế các hệ thống phức tạp thành những giao diện để người dùng có thể hiểu và thao tác, vượt xa khả năng triển khai đơn thuần.

Lý do tôi xây dựng khóa học này là vì tôi tin rằng, ngay cả trong thời đại AI ngày càng viết nhiều mã hơn, khả năng hiểu các lĩnh vực phức tạp và chuyển hóa yêu cầu thành thiết kế vẫn là một lợi thế khác biệt mạnh mẽ của nhà phát triển, tức là vẫn tạo ra giá trị gia tăng cao.


Khóa học này được tạo ra nhằm giúp học viên không chỉ trở thành những nhà phát triển đơn thuần tạo ra giao diện, mà còn trưởng thành thành những kỹ sư frontend hiểu toàn bộ sản phẩm và hệ thống, đồng thời phát huy tối đa năng lực của học viên.

Khóa học này được khuyến nghị cho những người như sau

Tôi cảm thấy mình mãi chỉ được đánh giá là người triển khai UI.

Có thể triển khai frontend nhưng muốn được đánh giá ở cấp độ cao hơn.

Tôi muốn tăng mức lương với tư cách là một lập trình viên frontend, nhưng không biết nên học thêm gì.

Lập trình viên đang chuẩn bị cho các cuộc phỏng vấn thiết kế hệ thống frontend/full-stack tại các công ty công nghệ lớn của Mỹ, startup và các công ty công nghệ toàn cầu

Tôi muốn được công nhận về năng lực thiết kế hệ thống như một nhà phát triển backend/hạ tầng.

Threads, Amazon, Netflix, Google Docs, SpaceX, Figure AI và những dịch vụ thực tế tương tự — dành cho các nhà phát triển muốn rèn luyện kiến trúc UI quy mô lớn dựa trên các ví dụ thực tế.

Sau khi tham gia khóa học, bạn sẽ thay đổi như sau

Trước khi học khóa này, khi nhìn thấy một giao diện phức tạp, bạn có thể sẽ nghĩ ngay đến các component đầu tiên.

Nhưng sau khi học xong, câu hỏi đầu tiên cũng thay đổi.

Không chỉ đơn giản là “Nên tạo component nào?”, mà bạn sẽ nhìn nhận vấn đề theo hướng: “Nên thiết kế trải nghiệm sản phẩm này theo cấu trúc nào để có thể duy trì lâu dài, hoạt động nhanh chóng và truy vết được khi xảy ra sự cố?”

Sự khác biệt này tạo nên tầm vóc và chiều sâu của học viên, đồng thời giúp họ có thể đảm nhận những vấn đề lớn hơn trong công việc thực tế, cùng với vai trò và trách nhiệm cao hơn.

Bạn sẽ học những nội dung như thế này

1. Đây là khóa học thay đổi tiêu chí đánh giá dành cho các nhà phát triển frontend.

Nếu bạn hướng tới mức lương cao hơn và vị trí tốt hơn với tư cách là một nhà phát triển frontend, chỉ có khả năng triển khai UI nhanh hơn thôi là chưa đủ.

Lý do nhiều lập trình viên frontend bị chững lại ở một thời điểm nào đó trong quá trình phát triển không phải vì họ thiếu năng lực.
Mà là vì trong mắt công ty và người phỏng vấn, họ vẫn chỉ được xem là “người triển khai giao diện”.

Trong thời đại AI nhanh chóng tạo ra component, form, giao diện thẻ và mã kết nối API, đánh giá này trở nên nguy hiểm hơn.
Chỉ với năng lực triển khai đơn thuần, bạn ngày càng dễ bị so sánh và có thể bị đẩy vào những vai trò có mức thù lao thấp hơn.

Kỹ sư frontend ở cấp độ cao hơn không phải là người tạo ra giao diện, mà là người cấu trúc hóa các yêu cầu phức tạp.

Bạn phải có khả năng thiết kế từ việc xác định những trạng thái nào tồn tại, đâu là nguồn dữ liệu gốc, màn hình nào cần SSR và màn hình nào cần được tách biệt bằng CSR, race condition phát sinh ở đâu, cho đến việc sử dụng telemetry nào để theo dõi các vấn đề sau khi triển khai.

Khóa học này được xây dựng chính xác theo tiêu chí đánh giá đó.

Đây không phải là khóa học yêu cầu ghi nhớ thêm kiến thức frontend, mà là khóa học giúp thay đổi tư duy để học viên được đánh giá là những kỹ sư frontend có khả năng hiểu và thiết kế toàn bộ sản phẩm và hệ thống.


2. Không phải học thuộc lý thuyết, mà là hiểu theo hướng ngược lại từ các trường hợp dịch vụ thực tế

Trong thiết kế hệ thống frontend, điều quan trọng không phải là biết nhiều thuật ngữ.

Điều quan trọng là khi nhìn vào một màn hình phức tạp, câu hỏi bạn đặt ra sẽ thay đổi.

Trước khi học, bạn có thể nghĩ như thế này.

“Màn hình này nên được chia thành những component nào?”

Nhưng sau buổi học, câu hỏi sẽ khác đi.

“Trải nghiệm người dùng cốt lõi của màn hình này là gì?”
“Dữ liệu nào nhất định phải chính xác?”
“Trạng thái nào có thể tạm thời bị cũ?”
“Nguồn dữ liệu gốc của trạng thái nằm ở máy chủ hay máy khách?”
“Làm thế nào để phản hồi chậm không ghi đè lên giao diện mới nhất?”
“Hiệu năng nên được định nghĩa bằng những con số nào?”
“Nếu phát sinh vấn đề trong quá trình vận hành, sẽ dựa vào dữ liệu nào để truy tìm nguyên nhân?”

Khóa học này không bắt bạn phải học thuộc những lý thuyết khó trước tiên.

Bắt đầu từ những trường hợp dịch vụ thực tế như bảng tin Threads, giỏ hàng Amazon, giao diện phát trực tuyến Netflix, tính năng chỉnh sửa cộng tác trên Google Docs, Micro Frontend và Observability.

Trước tiên, phân tích trải nghiệm sản phẩm mà người dùng nhìn thấy, sau đó giải thích theo hướng ngược lại vì sao cần quản lý trạng thái, luồng dữ liệu, chiến lược kết xuất, tối ưu hóa hiệu suất và khả năng quan sát để tạo ra trải nghiệm đó một cách ổn định.

Vì vậy, học viên không chỉ học “cách triển khai” mà còn rèn luyện khả năng giải thích tại sao cấu trúc đó lại cần thiết.

3. Trong thời đại AI viết mã, frontend đang chuyển mình thành Agentic UI.

AI hiện đã có thể viết nhiều mã frontend.

Nút, biểu mẫu, giao diện thẻ, màn hình CRUD, mã gọi API và việc định kiểu cơ bản đang ngày càng được tạo ra nhanh hơn.

Vì vậy, chỉ năng lực triển khai đơn thuần có thể khiến điểm khác biệt của các nhà phát triển frontend trở nên mờ nhạt.

Tuy nhiên, thay đổi lớn hơn còn nằm ở một khía cạnh khác.

AI không chỉ thay đổi phương thức phát triển mà còn đang thay đổi chính cấu trúc UI của sản phẩm.

Trong giao diện người dùng truyền thống, người dùng phải tự mình thực hiện mọi bước.

Người dùng nhập từ khóa tìm kiếm, chọn bộ lọc, kiểm tra kết quả, nhấn nút rồi chuyển sang màn hình tiếp theo.

Tuy nhiên, trong Agentic UI, người dùng sẽ nói ra mục tiêu trước tiên.

“Phân tích vấn đề này giúp tôi.”
“So sánh dữ liệu này giúp tôi.”
“Tự động xử lý công việc này giúp tôi.”
“Hãy xem kết quả này và đề xuất hành động tiếp theo cho tôi.”

Khi đó, AI sẽ diễn giải mục tiêu, lựa chọn dữ liệu và công cụ cần thiết, rồi thực hiện nhiều bước.

Vai trò của frontend càng trở nên quan trọng hơn ở đây.

Cần cho người dùng thấy AI đang làm gì.
Cần trình bày kết quả trung gian để người dùng có thể hiểu được.
Các hành động nguy hiểm phải được người dùng phê duyệt.
Các lệnh gọi công cụ bị lỗi phải có thể khôi phục.
Khi kết quả của AI không chắc chắn, không nên xác nhận ngay mà cần hiển thị ở trạng thái có thể xem xét.

Trong khóa học này, chúng ta cũng sẽ tìm hiểu về thiết kế Agentic UI cho những trải nghiệm sản phẩm AI-native như vậy.

Cùng tìm hiểu cách mô hình hóa trạng thái Agent run, cách hiển thị UI gọi tool, cách xử lý streaming response, cách thiết kế luồng phê duyệt của người dùng, cũng như cách thể hiện kết quả do AI tạo ra dưới dạng UI có thể kiểm chứng.

Trong thời đại AI, công việc của kỹ sư frontend không giảm đi mà đang thay đổi.

Việc triển khai đơn thuần có thể được tự động hóa nhiều hơn,
nhưng năng lực thiết kế trải nghiệm sản phẩm phức tạp, nơi AI và người dùng cùng làm việc, ngày càng trở nên quan trọng hơn.

Khóa học này đón đầu sự thay đổi đó, giúp kỹ sư frontend phát triển vượt ra ngoài vai trò chỉ triển khai UI để trở thành kỹ sư thiết kế trải nghiệm sản phẩm AI-native.

4. Rèn luyện thiết kế hệ thống frontend thông qua các tình huống thực tế theo phong cách Big Tech

Khóa học này không chỉ giải thích các khái niệm trừu tượng.

Rèn luyện thiết kế hệ thống frontend dựa trên những vấn đề UI phức tạp thường gặp trong các dịch vụ thực tế.

Trong feed kiểu Threads, không chỉ đơn giản là render danh sách bài đăng mà còn xử lý cuộn vô hạn, loại bỏ trùng lặp, reaction lạc quan, phản hồi lỗi thời, cập nhật theo thời gian thực và bảo toàn vị trí đang đọc.

Trong thương mại điện tử theo phong cách Amazon, không chỉ dừng lại ở việc tạo danh sách sản phẩm và giỏ hàng.
Bạn sẽ xử lý cả việc hợp nhất giỏ hàng của khách chưa đăng nhập, thay đổi giá, xác minh tồn kho, trạng thái không xác định của thanh toán, idempotencyKey và hydration mismatch.

Trong UI streaming theo phong cách Netflix/YouTube, mọi thứ không chỉ dừng lại ở việc sử dụng thẻ <video>.
Bạn sẽ xử lý bộ đệm, trạng thái phát, chất lượng mạng, chuyển đổi chất lượng video và khôi phục sau sự cố bằng mô hình trạng thái.

Trong UI chỉnh sửa cộng tác theo phong cách Google Docs, không chỉ đơn thuần là tạo ô nhập liệu, mà còn phải xử lý trạng thái chỉnh sửa cục bộ và trạng thái đồng bộ với máy chủ, xử lý xung đột, phản ánh theo thời gian thực, cũng như cân bằng giữa độ trễ và tính nhất quán.

Trong Micro Frontend, bạn không chỉ học cách chia nhỏ ứng dụng.
Bạn còn xem xét cả đơn vị triển khai của tổ chức, trách nhiệm của các nhóm, ranh giới giữa shell và remote, shared dependency và tính nhất quán của design system.

Thông qua những trường hợp này, học viên sẽ học cách tư duy về thiết kế hệ thống frontend không chỉ như một lý thuyết đơn thuần mà còn là phương pháp giải quyết các vấn đề thực tế của dịch vụ.

5. Quản lý trạng thái không chỉ là học cách sử dụng thư viện, mà là học cách thiết kế trạng thái

Trong bài giảng này, chúng ta sẽ tìm hiểu cách vượt qua những hạn chế của việc kết hợp các trạng thái boolean và mô hình hóa trạng thái UI phức tạp theo phương pháp X-M.

Phương pháp X-M ("X-" sẽ không được tiết lộ ở đây) là một trong những phương pháp mà tôi từng được học dự thính thông qua một người quen tại một trường đại học thuộc hệ thống UC, đồng thời thảo luận với những người bạn gốc Ấn trong chương trình fellowship tại các công ty công nghệ lớn. Tôi nghĩ đây sẽ là một phương pháp hữu ích khi lập tài liệu, cộng tác hoặc thiết kế tại công ty, nên đã thêm vào chương trình học.

Tuy nhiên, điều quan trọng hơn là “nên xem điều gì là trạng thái”.

Trạng thái của nút thích có thể không chỉ đơn giản là isLiked.
Số lượng trong giỏ hàng có thể không chỉ đơn giản là quantity.
Trạng thái thanh toán có thể không chỉ dừng lại ở loading, successerror.

Trong dịch vụ thực tế, trạng thái phức tạp hơn.

Có trạng thái mà người dùng nhìn thấy trước, trạng thái mà client hiển thị theo cách optimistic, trạng thái được máy chủ xác nhận, trạng thái cần hoàn tác khi thất bại, và trạng thái unknown khi vẫn chưa thể biết kết quả.

Học viên không chỉ học “cách sử dụng thư viện quản lý trạng thái”, mà còn học cách thiết kế trải nghiệm sản phẩm phức tạp thành các luồng trạng thái có thể dự đoán được.

6. Tối ưu hiệu năng cũng được xem là một yêu cầu của hệ thống, không chỉ là những mẹo vặt

Tối ưu hiệu năng frontend không đơn giản chỉ là lazy loading hình ảnh hay split code.

Trong dịch vụ thực tế, trước tiên cần xác định sẽ đảm bảo trải nghiệm người dùng nào bằng những con số cụ thể nào.

Trên trang chi tiết sản phẩm, LCP có thể quan trọng.
Trong ô tìm kiếm tự động hoàn thành, Time to First Suggestion có thể quan trọng.
Trong nguồn cấp dữ liệu thời gian thực, độ ổn định khi cuộn và loại bỏ nội dung trùng lặp có thể quan trọng.
Trong giao diện người dùng video, buffering rate và playback recovery time có thể quan trọng.
Trong giao diện chỉnh sửa cộng tác, độ trễ nhập liệu và độ trễ đồng bộ hóa có thể quan trọng.

Trong bài giảng này, hiệu năng không được xử lý một cách mơ hồ theo kiểu “hãy làm cho nhanh hơn”.

Chúng ta sẽ cùng xem xét chỉ số hiệu năng nào quan trọng trên từng màn hình, nên lựa chọn chiến lược render nào, trạng thái và luồng dữ liệu nào gây ra điểm nghẽn hiệu năng, cũng như cách quan sát hiệu năng của người dùng thực tế sau khi triển khai.

Vì vậy, học viên không chỉ học các mẹo tối ưu hóa đơn thuần mà còn phát triển năng lực thiết kế hiệu năng phù hợp với yêu cầu của sản phẩm.

7. Học cách thiết kế frontend có tính đến cả vận hành và khả năng quan sát tác động‑hệ thống

Những vấn đề frontend quan trọng trong thực tế không chỉ phát sinh trước khi triển khai.

Ngược lại, vấn đề thực sự lại phát sinh sau khi triển khai.

Trong một số trình duyệt nhất định, nút có thể không hoạt động.
Trong một số môi trường mạng nhất định, trạng thái thanh toán có thể chuyển sang unknown.
Tỷ lệ rollback giỏ hàng có thể đột ngột tăng ở một phiên bản cụ thể.
Khi phản hồi tìm kiếm chậm đi, stale response có thể tăng lên.
hydration mismatch có thể chỉ xảy ra ở một số trang nhất định.

Lúc này, chỉ đơn giản nói rằng “đã tích hợp công cụ theo dõi lỗi” là chưa đủ.

Kỹ sư frontend phải có khả năng thiết kế việc cần thu thập những sự kiện nào, ghi lại những chuyển đổi trạng thái nào và những chỉ số nào cho thấy vấn đề trong trải nghiệm người dùng.

Trong khóa học này, Observability không được xem là việc triển khai đơn giản như cài đặt Sentry.

Thông qua các chỉ số như RUM, theo dõi lỗi, hợp đồng telemetry, nhật ký chuyển đổi trạng thái, tỷ lệ rollback, số lần bỏ qua phản hồi cũ và tỷ lệ thanh toán không xác định, chúng ta nhìn nhận hệ thống frontend dưới góc độ một cấu trúc có thể vận hành được.

Chỉ khi có góc nhìn này, nhà phát triển frontend mới có thể phát triển từ một người chỉ đơn thuần triển khai thành một kỹ sư chịu trách nhiệm cả về chất lượng sau khi triển khai.

Không chỉ là việc clone code thông thường, khóa học này tập trung vào thiết kế hệ thống frontend.

Khóa học này không đơn thuần là khóa học xây dựng giao diện bằng cách làm theo màn hình. Bạn sẽ phân tích và thiết kế các dịch vụ phức tạp trong thực tế dưới góc nhìn frontend, chẳng hạn như bảng tin Threads, danh sách sản phẩm Amazon, giao diện video Netflix, tính năng chỉnh sửa cộng tác của Google Docs, nền tảng phân tích chi phí linh kiện tên lửa theo phong cách SpaceX và bảng điều khiển vận hành robot theo phong cách Figure AI.


Người tạo ra khóa học này

  • Người sống sót ở Thung lũng Silicon | Ốc sên Mỹ 

    Dựa trên kinh nghiệm và bí quyết tích lũy được tại tuyến đầu của Global Tech Scene, tôi đưa ra con đường giúp những người không chuyên ngành vượt qua rào cản công nghệ và trở thành chủ nhân của doanh nghiệp.

    • Hiện là nhà sáng lập startup về tác nhân lập trình AI tại Silicon Valley

      • Vận hành công cụ AI tự phát triển 'Snailer CLI' (hơn 18K lượt tải xuống)

      • Được chọn vào Google for Startups Program

    • Trước đây) Sự nghiệp kỹ sư tại các công ty công nghệ lớn của Mỹ và các startup đầy triển vọng

      • Từ bỏ cơ hội vào vòng cuối Amazon để khởi nghiệp

      • Kỹ sư tại startup AI fintech ở Thung lũng Silicon

      • Fellowship Full-Stack tại OpenAI / Meta / Apple / Adobe / Amazon

      • Phát triển công cụ tìm kiếm và cổng thông tin trong nước, phát triển fintech

      • Phát triển AR/B2B/SDK cho startup AI

    • Năng lực đào tạo đã được kiểm chứng

Kế hoạch cập nhật case study cho Phần 3

Phần 3 hiện đang ở chế độ riêng tư và được xây dựng tuần tự; nội dung sẽ được cấu trúc tập trung vào các nghiên cứu tình huống thông qua những ví dụ thực tế từ các dịch vụ công nghệ lớn của Mỹ, dựa trên những gì đã học được cho đến nay.

Hướng đi hiện đang được chuẩn bị như sau.

  • Thiết kế bảng tin mạng xã hội theo thời gian thực phong cách Meta Threads


  • Thiết kế danh sách sản phẩm thương mại điện tử trực tuyến và giỏ hàng của Amazon

  • Thiết kế giao diện phát video trực tuyến theo phong cách Netflix/YouTube

  • Thiết kế trò chuyện thời gian thực kiểu Slack/Messenger

  • Thiết kế chỉnh sửa cộng tác Google Docs/Spreadsheets

  • Thiết kế hệ thống bảng tin dịch vụ X.com

  • Thiết kế hệ thống định vị theo thời gian thực kiểu Uber/Lyft

  • Thiết kế nền tảng phân tích chi phí linh kiện tên lửa theo phong cách SpaceX

  • Thiết kế Control Plane khả năng quan sát Starlink / SpaceX

  • Thiết kế bảng điều khiển vận hành robot hình người theo phong cách Figure AI

  • Thiết kế bảng điều khiển quản lý Space Data Center / Orbital Data Center

  • Thiết kế giao diện frontend giám sát hệ thống nội bộ của Rocket

Mục tiêu của phần 3 không đơn thuần là “có thể xây dựng những dịch vụ như thế này”, mà là rèn luyện cách phân chia và suy nghĩ về các khía cạnh như yêu cầu, kiến trúc, mô hình dữ liệu, giao diện, hiệu năng, khả năng quan sát và xử lý sự cố khi xem xét những dịch vụ phức tạp trong thực tế.

Vì vậy, mỗi trường hợp sẽ được phân tích chuyên sâu hơn dưới góc nhìn thiết kế hệ thống frontend, thay vì chỉ đơn thuần triển khai.

Hiện tại chúng tôi đang thực hiện lần lượt và sẽ công bố từng bài giảng ngay khi hoàn thành. Cảm ơn bạn đã kiên nhẫn chờ đợi.

Bạn có điều gì thắc mắc không?

Q1. Thiết kế hệ thống frontend khác gì so với phát triển frontend thông thường?

Lập trình frontend thông thường thường tập trung vào việc triển khai giao diện hoặc chức năng được giao. Ngược lại, thiết kế hệ thống frontend là quá trình phân tích yêu cầu và thiết kế toàn bộ hệ thống frontend, bao gồm chiến lược render, luồng dữ liệu, quản lý trạng thái, cấu trúc component, hiệu năng, khả năng truy cập, bảo mật, kiểm thử và khả năng quan sát.

Q2. Có nhất thiết phải biết React không?

Nếu có kinh nghiệm với React thì sẽ dễ hiểu hơn, nhưng đây không phải là khóa học bắt buộc bạn phải chỉ biết React. Khóa học này tập trung vào tư duy thiết kế hệ thống frontend hơn là cú pháp của một framework cụ thể.

Q4. Có thể học ngay cả khi chưa có kinh nghiệm thiết kế hệ thống không?

Có. Trong phần đầu, khóa học sẽ giải thích từng bước các nội dung từ tổng hợp yêu cầu, thiết kế kiến trúc, thiết kế dữ liệu và trạng thái, thiết kế giao diện cho đến chiến lược vận hành thông qua các chiến lược theo từng giai đoạn. Tuy nhiên, nếu có kiến thức cơ bản về HTML, CSS, JavaScript và kinh nghiệm sử dụng framework frontend thì sẽ dễ dàng hơn nhiều, nhưng không bắt buộc.

Lưu ý trước khi tham gia khóa học

Môi trường thực hành

Khóa học này không phụ thuộc nhiều vào một hệ điều hành cụ thể. Bạn có thể thực hành thiết kế hoặc tham gia khóa học trên mọi môi trường Windows, macOS và Linux thông qua Excalidraw.

Tài liệu học tập

Tài liệu khóa học được cung cấp dưới dạng ghi chú thiết kế theo từng phần, checklist thiết kế hệ thống frontend, sơ đồ kiến trúc theo từng trường hợp, ví dụ về mô hình dữ liệu/trạng thái và ví dụ về cấu trúc câu trả lời phỏng vấn.

Khi cần thiết, chúng tôi cũng cung cấp một số mã ví dụ, mã giả hoặc ví dụ về cấu trúc component.

Kiến thức nền tảng và những điều cần lưu ý

  • Khuyến nghị có kiến thức cơ bản về HTML, CSS và JavaScript. Nếu bạn đã từng sử dụng một trong các framework frontend như React, Angular hoặc Vue thì càng tốt.

  • Nếu có hiểu biết cơ bản về việc gọi API, xử lý bất đồng bộ, quản lý trạng thái và kết xuất trình duyệt, bạn sẽ dễ dàng theo học khóa học này hơn nhiều.

  • Khóa học này không nhằm sao chép nguyên trạng hệ thống nội bộ của một công ty cụ thể, mà là quá trình rèn luyện tư duy thiết kế hệ thống frontend dựa trên các loại sản phẩm được biết đến rộng rãi và những mẫu kiến trúc mang tính thực tiễn.

Khuyến nghị cho
những người này

Khóa học này dành cho ai?

  • Dành cho những ai muốn trở thành kỹ sư frontend có khả năng thiết kế các hệ thống phức tạp như những công ty công nghệ lớn của Mỹ, vượt xa CRUD đơn thuần.

  • Những người muốn hiểu về kiến trúc frontend trong môi trường doanh nghiệp dựa trên Angular, C# và .NET, không chỉ riêng React

  • Dành cho những ai muốn phát triển “khả năng hiểu các lĩnh vực phức tạp và cấu trúc hóa chúng thành giao diện” — năng lực khó bị thay thế ngay cả trong thời đại AI.

  • Nhà phát triển quan tâm đến cách thiết kế sản phẩm của các công ty như SpaceX, Starlink, Tesla, Figure AI, Meta, Amazon, Netflix.

Cần biết trước khi bắt đầu?

  • Cần có kiến thức cơ bản về HTML, CSS và JavaScript.

  • Sẽ tốt hơn nếu bạn có kinh nghiệm sử dụng một trong các framework frontend như React hoặc Angular.

  • Không có kinh nghiệm thiết kế hệ thống cũng không sao.

Xin chào
Đây là americasnail

Xác minh Inflearn

1,780

Học viên

99

Đánh giá

78

Trả lời

4.4

Xếp hạng

6

Các khóa học

  • Người sống sót tại Thung lũng Silicon | American Snail

    Dựa trên kinh nghiệm và bí quyết tích lũy được tại tiền tuyến của Global Tech Scene, tôi sẽ chỉ ra con đường giúp những người không chuyên vượt qua rào cản công nghệ để trở thành người làm chủ kinh doanh.

    • Hiện là người sáng lập startup đại lý lập trình AI tại Thung lũng Silicon

      • Vận hành công cụ AI tự phát triển 'Snailer CLI' (hơn 18K lượt tải xuống)

      • Được lựa chọn cho chương trình Google for Startups Program

    • Cựu kỹ sư tại các công ty Big Tech Hoa Kỳ và các startup triển vọng

      • Đã lọt vào vòng cuối cùng của Amazon, nhưng từ bỏ để khởi nghiệp

      • Kỹ sư startup AI Fintech tại Thung lũng Silicon

      • OpenAI / Meta / Apple / Adobe / Amazon Full-stack Fellowship

      • Phát triển tại cổng thông tin công cụ tìm kiếm và fintech trong nước

      • Phát triển AR/B2B/SDK cho startup AI

    • Năng lực đào tạo đã được kiểm chứng

      • Tốt nghiệp song bằng chuyên ngành Khoa học máy tính/Quản trị kinh doanh tại đại học 4 năm ở Seoul và có nhiều kinh nghiệm khởi nghiệp

      • Đào tạo hơn 1700+ học viên tích lũy, sở hữu 4.5K+ người theo dõi trên SNS Threads / 470+ người theo dõi trên Substack

Thêm

Chương trình giảng dạy

Tất cả

39 bài giảng ∙ (6giờ 2phút)

Tài liệu khóa học:

Tài liệu bài giảng
Ngày đăng: 
Cập nhật lần cuối: 

Đánh giá

Tất cả

16 đánh giá

4.4

16 đánh giá

  • fined0006806님의 프로필 이미지
    fined0006806

    Đánh giá 54

    Đánh giá trung bình 4.7

    5

    74% đã tham gia

    Thật tuyệt vời. Là một lập trình viên Front-end 5 năm kinh nghiệm, tôi cảm thấy những phần mình còn thiếu sót và bế tắc bấy lâu nay đã được giải tỏa phần nào thông qua khóa học này. Tôi thực sự khuyên các bạn nên dồn hết tâm sức để thực hiện các nhiệm vụ (mission) xen kẽ trong khóa học dù có khó khăn đến đâu. Bởi vì bạn sẽ nhận được những phản hồi cực kỳ chi tiết từ giảng viên đấy! Rất cảm ơn bạn đã tạo ra khóa học này! Nếu bạn có kế hoạch cho các khóa học khác, nhất định hãy ra mắt thêm nhé. Xin cảm ơn!

    • americasnail
      Giảng viên

      Chào bạn Mango, cảm ơn bạn rất nhiều vì những đánh giá quý báu về khóa học. Dự kiến các bài giảng mới về thiết kế hệ thống di động sẽ được công bố trong tháng 8! Thiết kế của bạn rất tốt. Bạn đã vất vả nhiều khi thực hiện nhiệm vụ rồi. Chúc bạn một ngày tốt lành.

  • heunonian0013님의 프로필 이미지
    heunonian0013

    Đánh giá 1

    Đánh giá trung bình 5.0

    5

    33% đã tham gia

    Đây là lớp học giúp mở rộng tầm nhìn.

    • americasnail
      Giảng viên

      Xin chào bạn Bora Ahn, cảm ơn bạn rất nhiều vì những đánh giá quý báu về khóa học. Chúc bạn một ngày tốt lành. Xin cảm ơn.

  • jdy8739님의 프로필 이미지
    jdy8739

    Đánh giá 19

    Đánh giá trung bình 4.9

    5

    100% đã tham gia

    Trong bài giảng có các nhiệm vụ, tôi thực sự khuyên bạn nên thử thực hiện chúng.

    • americasnail
      Giảng viên

      Cảm ơn bạn rất nhiều vì những đánh giá khóa học quý báu. Cảm ơn bạn đã tham gia khóa học, và tôi đang có kế hoạch đăng tải bài nộp thiết kế nhiệm vụ xuất sắc của bạn lên nội dung Substack (chỉ dành cho những người đã nộp bài). Xin cảm ơn và chúc bạn một ngày tốt lành.

  • dal96k님의 프로필 이미지
    dal96k

    Đánh giá 1

    Đánh giá trung bình 1.0

    Đã chỉnh sửa

    1

    44% đã tham gia

    Tôi đã đăng ký khóa học này vì bị thu hút bởi tiêu đề "Thực chiến thiết kế hệ thống Frontend tại Big Tech Mỹ". Dựa trên tiêu đề, nội dung tôi kỳ vọng là những thứ như các hệ thống phức tạp của Big Tech thực tế được thiết kế ở cấp độ FE như thế nào, nhưng thực tế nội dung bài giảng có vẻ chỉ dừng lại ở việc sắp xếp các yêu cầu đơn giản nên tôi thấy khá đáng tiếc. Thay vì là thiết kế, nó gần với việc phát triển tính năng đơn thuần hơn, nên độ khó của khóa học có vẻ phù hợp với trình độ nhập môn.

    • americasnail
      Giảng viên

      Chào bạn Jeon Woo-min, việc bạn đánh giá 1 sao chỉ vì độ khó của bài giảng là điều tôi khó có thể chấp nhận được. Bạn có thể cho tôi biết cụ thể phần nào chất lượng không tốt không? Và khác với các học viên khác, tôi thấy bạn vẫn chưa hoàn thành bất kỳ bài tập nhiệm vụ nào. Nói thêm là tôi đặt câu hỏi này để xác định những điểm thực sự cần cải thiện từ ý kiến của bạn. Nếu bạn cho biết cụ thể phần nào về chất lượng hay độ khó khiến bạn chưa hài lòng, tôi sẽ ưu tiên kiểm tra và bổ sung cho phần đó. Xin cảm ơn.

    • americasnail
      Giảng viên

      Chào bạn Jeon Woo-min, cảm ơn bạn đã để lại những phản hồi cụ thể. Mục tiêu mà tôi hướng tới trong bài giảng này là giúp những người mới tiếp cận với thiết kế hệ thống Frontend cũng có thể theo kịp, bắt đầu từ việc sắp xếp các yêu cầu và đi từng bước qua cách tư duy chia nhỏ vấn đề theo các khía cạnh: màn hình, trạng thái, dữ liệu, giao diện và tối ưu hóa. Tuy nhiên, đối với những người kỳ vọng vào các cấp độ thiết kế chuyên sâu hơn khi nhìn vào tiêu đề như bạn Woo-min — ví dụ như luồng trạng thái của các dịch vụ quy mô lớn, xử lý dữ liệu thời gian thực, nghẽn cổ chai hiệu suất, tình huống lỗi, khả năng quan sát (observability) hay vận hành sau triển khai — tôi hiểu rằng nội dung phần đầu có thể mang lại cảm giác hơi cơ bản. Chính vì vậy, các chương được cấu trúc theo từng giai đoạn, và hiện tại tôi đang xây dựng thêm chương Case Study về thiết kế hệ thống Frontend tại các công ty Big Tech để bổ sung cho phần này. Cảm ơn phản hồi của bạn và chúc bạn một ngày tốt lành. Tôi sẽ xem xét và cập nhật những phần cần cải thiện.

  • rogan8153님의 프로필 이미지
    rogan8153

    Đánh giá 1

    Đánh giá trung bình 2.0

    Đã chỉnh sửa

    2

    56% đã tham gia

    Nội dung tôi mong đợi sau khi xem tiêu đề và giới thiệu khóa học rất khác so với hướng đi thực tế của bài giảng. Trên hết, tôi đã kỳ vọng vào phương pháp luận hoặc quá trình tư duy để tiếp cận thiết kế hệ thống, nhưng thực tế bài giảng phần lớn là cách liệt kê và giải quyết từng yêu cầu có sẵn trong đầu. Tôi cảm thấy thiếu những giải thích về việc tại sao lại đưa ra các yêu cầu đó, hay sử dụng khung tham chiếu (framework) hoặc tiêu chí nào để sắp xếp các yêu cầu và đánh giá mức độ ưu tiên. Cuối cùng, mặc dù "cần phải cân nhắc điều gì" liên tục xuất hiện, nhưng rất khó để học được phương pháp luận về việc "làm thế nào để tự mình đưa ra được những yêu cầu đó". Các ví dụ cũng lặp lại luồng liệt kê yêu cầu, nên tôi cảm thấy rất tiếc nuối vì khó có thể học được cách tư duy để áp dụng vào thực tế hoặc cho những người mới tiếp cận thiết kế hệ thống. Điều tôi kỳ vọng qua khóa học này không phải là đáp án cho một trường hợp cụ thể, mà là một khung tư duy để có thể tự mình tiếp cận khi gặp vấn đề mới, nhưng phần đó đã không được đáp ứng.

    • americasnail
      Giảng viên

      Chào bạn HwangR, cảm ơn bạn đã chỉ ra những điểm cụ thể. Trước hết, tôi muốn chia sẻ thẳng thắn về những gì bạn kỳ vọng. Trong "tư duy để có thể tự mình tiếp cận khi gặp vấn đề mới", có những phần mà quy trình tư duy có thể đảm nhận và những phần thì không. Kết luận nhất quán từ các nghiên cứu về học tập là khả năng nhận diện các yêu cầu cốt lõi ngay khi nhận được vấn đề mới không đến từ việc học thuộc lòng quy trình, mà hình thành thông qua việc tích lũy các trường hợp thực tế (case study). Đó cũng là lý do tại sao khóa học này chọn hình thức case study thay vì là một bài giảng lý thuyết. Trọng tâm của khóa học sẽ tiếp tục là các case study và tôi dự định sẽ bổ sung thêm liên tục. Bởi vì việc học phương pháp luận không giúp bạn có thể thiết kế hệ thống mới ngay lập tức, mà tầm nhìn có được trong quá trình tự mình tư duy qua vô số trường hợp sẽ tỷ lệ thuận với số lượng case study đó. Tuy nhiên, việc thiếu quy trình trích xuất yêu cầu là một góp ý đúng đắn. Dù vậy, tôi muốn nói rằng đối với các yêu cầu chức năng, không cần một phương pháp luận riêng biệt. Nhưng đối với các yêu cầu phi chức năng, mặc dù có tồn tại và có thể áp dụng các phương pháp luận về quy trình tư duy, nhưng ngay cả bản thân tôi, khi học hỏi thông qua các buổi phỏng vấn thiết kế hệ thống và thảo luận với các kỹ sư từ các tập đoàn công nghệ lớn của Mỹ như Meta, Apple, Google, OpenAI, Adobe, Oracle, v.v., tôi cũng không học bằng cách áp dụng một phương pháp luận trích xuất yêu cầu riêng biệt nào cả. Vì vậy, tôi đã đánh giá rằng việc cung cấp phương pháp luận trong bài giảng là không cần thiết, và tôi cũng cho rằng các bài giảng về phương pháp luận có thể làm hạn chế tư duy, điều này không phù hợp với triết lý của khóa học là khơi dậy tiềm năng to lớn của học viên, nên tôi đã không đưa vào. Do đó, khóa học sẽ được cung cấp theo hình thức nghiên cứu các case study thiết kế hệ thống của nhiều dịch vụ Big Tech tại Mỹ dự kiến sẽ được cập nhật trong phần giới thiệu khóa học. Đối với phần phản hồi của bạn, tôi sẽ cải thiện bằng cách điểm qua các phương pháp luận một cách tối giản và ngắn gọn theo hướng phù hợp với triết lý của khóa học. Sau này, nếu bạn vẫn cảm thấy chỉ ở mức 2 điểm, mong bạn thông cảm rằng tôi khuyên bạn nên tham gia các khóa học khác về phương pháp luận hoặc tự nghiên cứu thêm thông qua các công cụ tìm kiếm khác. Cảm ơn bạn đã tham gia khóa học, tôi sẽ cố gắng cải thiện để mang lại sự hài lòng tối đa cho bạn. Tôi xin lỗi vì khóa học chưa đáp ứng được kỳ vọng của bạn, chúc bạn một ngày tốt lành.

Khóa học khác của americasnail

Hãy khám phá các khóa học khác của giảng viên!

Khóa học tương tự

Khám phá các khóa học khác trong cùng lĩnh vực!

Giảm 25% cho thành viên mới

1.550.860 ₫

25%

2.067.810 ₫