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á

400 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 là vì họ không biết.

Vấn đề là nhiều nhà phát triển frontend
vẫn bị đánh giá là “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 dạng 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ẽ không nằm ở việc
“bạn triển khai nhanh đến đâu”, 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.


Nếu muốn đạt mức lương cao hơn và 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 render, hiệu năng, khả năng quan sát và cấu 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
như feed của Threads, giỏ hàng Amazon, giao diện streaming của Netflix,
chỉnh sửa cộng tác trên Google Docs, Micro Frontend, tối ưu hiệu năng và 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 dưới góc nhìn thiết kế hệ thống frontend.

Học viên sẽ học được tư duy thiết kế kiến trúc UI quy mô lớn thông qua các ví dụ như feed 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 video trực tuyến theo phong cách Netflix/YouTube, giao diện chỉnh sửa cộng tác theo phong cách 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.

Trong khóa học, bạn sẽ lần lượt học các yếu tố cốt lõi cần 반드시 xem xét 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 năng, 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ư công nghệ lớn của Mỹ, startup toàn cầu, SaaS doanh nghiệp, bảng điều khiển thời gian thực, bảng điều khiển vận hành, nền tảng khả năng quan sát, cũng như giao diện người dùng cho 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 mà 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à có thể 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 phát triển thành các kỹ sư frontend hiểu rõ toàn bộ sản phẩm và hệ thống, đồng thời khơi dậy sự xuất chúng của học viên.

Tôi khuyên nội dung này dành 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.

Lập trình viên có thể triển khai frontend nhưng muốn được đánh giá ở cấp độ cao hơn

Tôi muốn tăng lương hơn nữa với vai trò frontend nhưng không biết cần học thêm gì.

Lập trình viên đang chuẩn bị cho các buổi 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 nhờ 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 같은 실제 서비스 사례를 바탕으로 대규모 UI 아키텍처를 훈련하고 싶은 개발자

Sau khi học xong, bạn sẽ thay đổi như thế này

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 việc xây dựng các component trước.

Nhưng sau khóa học, trước tiên, câu hỏi bạn đặt ra sẽ khác đi.

Không chỉ đơn giản là “Nên tạo component nào?”, bạn sẽ bắt đầu nhìn nhận rằ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ể vận hành bền vững, hoạt động nhanh chóng và truy vết được khi phát sinh vấn đề?”

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ó được vai trò và trách nhiệm để đảm nhận những vấn đề lớn hơn trong công việc thực tế.

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á một nhà phát triển frontend.

Nếu đặt mục tiêu có 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ỉ khả năng triển khai UI nhanh hơn thôi là chưa đủ.

Lý do nhiều nhà phát triển frontend bị chững lại ở một giai đoạn 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à nhà tuyển dụng, họ vẫn chỉ được xem như “người triển khai giao diện”.

Trong thời đại AI nhanh chóng tạo ra component, biểu mẫu, giao diện thẻ và mã kết nối API, đánh giá này càng trở nên nguy hiểm hơn.
Chỉ với năng lực triển khai đơn thuần, bạn sẽ ngày càng dễ bị so sánh và có thể bị đẩy sang 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 cần 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ẽ theo dõi các vấn đề sau khi triển khai bằng telemetry nào.

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

Đây không phải là khóa học bắt bạn ghi nhớ thêm nhiều 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à kỹ sư frontend có khả năng hiểu và thiết kế toàn bộ sản phẩm cũng như 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ế

Điều quan trọng trong thiết kế hệ thống frontend 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 giao diện 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ỉ?”

Nhưng sau buổi học, câu hỏi sẽ thay đổ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 thiết phải chính xác?”
“Trạng thái nào có thể tạm thời chưa được cập nhật?”
“Nguồn dữ liệu gốc của trạng thái nằm ở máy chủ hay máy khách?”
“Phải 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 đề khi vận hành, chúng ta sẽ dùng dữ liệu nào để truy tìm nguyên nhân?”

Khóa học này không bắt người học phải ghi nhớ những lý thuyết khó ngay từ đầu.

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, chỉnh sửa cộng tác trên Google Docs, Micro Frontend và Observability.

Trước tiên, khóa học 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 render, tối ưu hiệu năng và khả năng quan sát để xây dựng 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 phát triển khả năng giải thích tại sao cần có cấu trúc như vậy.

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.

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

Vì vậy, chỉ với năng lực triển khai đơn thuần thì lợi thế khác biệt của nhà phát triển frontend có thể sẽ ngày càng yếu đi.

Tuy nhiên, còn có một thay đổi lớn hơn.

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 tất cả các 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 và 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.

“Hãy phân tích vấn đề này.”
“Hãy so sánh dữ liệu này.”
“Hãy tự động xử lý công việc này.”
“Dựa trên kết quả này, hãy đề xuất hành động tiếp theo.”

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 trở nên quan trọng hơn ở đây.

Bạn phải cho 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 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ó khả năng khôi phục.
Khi kết quả của AI không chắc chắn, không được xác nhận ngay mà phải 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ẽ đề cập đến thiết kế Agentic UI cho những trải nghiệm sản phẩm AI-native như vậy.

Chúng ta sẽ cùng tìm hiểu cách mô hình hóa trạng thái chạy của Agent, cách hiển thị UI gọi tool, cách xử lý phản hồi streaming, cách thiết kế luồng phê duyệt của người dùng, cũng như cách biểu đạt 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 mà kỹ sư frontend cần làm 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 bắt kịp sự thay đổi đó, giúp kỹ sư frontend phát triển từ người chỉ triển khai UI đơn thuần 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 những khái niệm trừu tượng.

Luyện tập 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ỏ nội dung 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à duy trì 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ý việc hợp nhất giỏ hàng của khách chưa đăng nhập, thay đổi giá, xác thực tồn kho, trạng thái unknown của thanh toán, idempotencyKey và cả lỗi không khớp hydration.

Trong UI phát trực tuyến theo phong cách Netflix/YouTube, 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 hình ảnh và khôi phục khi xảy ra sự cố bằng mô hình trạng thái.

Trong UI chỉnh sửa cộng tác kiểu Google Docs, không chỉ đơn giả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.

Với 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, các dependency dùng chung cũng như 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 cách tư duy về thiết kế hệ thống frontend như một phương thức giải quyết các vấn đề thực tế của dịch vụ, chứ không chỉ là lý thuyết đơn thuần.

5. Quản lý trạng thái không phải 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 khóa học này, bạn sẽ học 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 tôi từng được học ké thông qua một người quen tại một trường đại học UC, đồng thời thảo luận với những người bạn gốc Ấn trong chương trình học bổng dành cho nhân tài công nghệ lớn. Tôi đã thêm phương pháp này vào chương trình học vì nghĩ rằng nó sẽ hữu ích khi làm tài liệu, cộng tác hoặc thiết kế trong công ty.

Nhưng điều quan trọng hơn là “điều gì sẽ được xem là trạng thái”.

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ỉ đơn giản là 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 tiên, trạng thái mà client hiển thị theo kiểu optimistic, trạng thái đã được server xác nhận, trạng thái cần hoàn tác khi xảy ra lỗ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 một luồng trạng thái có thể dự đoán được.

6. Tối ưu hóa hiệu năng cũng được xem là yêu cầu hệ thống, không chỉ là các mẹo.

Tối ưu hiệu năng frontend không chỉ đơn giản 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 chỉ số cụ thể nào.

Trên trang chi tiết sản phẩm, LCP có thể rất quan trọng.
Trong ô tìm kiếm tự động hoàn thành, Time to First Suggestion có thể rất quan trọng.
Trong nguồn cấp dữ liệu theo thời gian thực, độ ổn định khi cuộn và việc loại bỏ nội dung trùng lặp có thể rất quan trọng.
Trong giao diện video, buffering rate và playback recovery time có thể rất 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ể rất quan trọng.

Trong bài giảng này, hiệu năng không được tiếp cận 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 kết xuất 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 theo dõi 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 suất 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

Các 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ự phát sinh sau khi triển khai.

Nút có thể không hoạt động chỉ trên một số trình duyệt.
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 của 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 trở nên chậm hơn, stale response có thể tăng lên.
Hydration mismatch có thể chỉ xảy ra trên 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ế những sự kiện nào cần thu thập, những chuyển đổi trạng thái nào cần ghi lại và những chỉ số nào cho thấy vấn đề trong trải nghiệm người dùng.

Trong bài giảng này, Observability không được xem là một 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 lỗi thời và tỷ lệ trạng thái 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ỉ triển khai đơn thuần thành một kỹ sư chịu trách nhiệm về cả 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 tạo giao diện bằng cách làm theo mẫu. Bạn sẽ phân tích và thiết kế các dịch vụ phức tạp trong thực tế từ góc nhìn frontend, chẳng hạn như feed của Threads, danh sách sản phẩm của Amazon, UI video của Netflix, trình 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àyperson who created this course

  • Người sống sót tại 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, khóa học này đưa ra con đường giúp những người không chuyên vượt qua rào cản công nghệ và trở thành người làm chủ doanh nghiệp.

    • Hiện là nhà 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 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à những startup triển vọng

      • Từ bỏ giai đoạn cuối tại Amazon để khởi nghiệp

      • Kỹ sư tại startup AI fintech ở Silicon Valley

      • Học bổng toàn diện tại OpenAI / Meta / Apple / Adobe / Amazon

      • Cổng tìm kiếm trực tuyến 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

Mục 3 hiện đang được biên soạn tuần tự dưới dạng riêng tư, dự kiến sẽ 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ế về các dịch vụ của các công ty công nghệ lớn tại Mỹ, dựa trên những nội dung đã 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 feed cho 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ế mặt phẳng điều khiển 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 chỉ đơn giả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à tư duy 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 một 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 lần lượt biên soạn nội dung và sẽ công khai 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?

Phát triển 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 yêu cầu. Ngược lại, thiết kế hệ thống frontend là quá trình thiết kế toàn bộ hệ thống frontend, bao gồm 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, hiệu năng, khả năng tiếp cận, 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?

Có kinh nghiệm về React sẽ giúp bạn 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. Không có kinh nghiệm thiết kế hệ thống thì có thể học được không?

Có. Trong phần đầu, thông qua chiến lược từng bước, khóa học sẽ lần lượt giải thích cách整理 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, cũng như chiến lược vận hành. Tuy nhiên, nếu bạn 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 đây không phải là yêu cầu 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 thông qua Excalidraw trên mọi môi trường Windows, macOS và Linux.

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, danh sách kiểm tra 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, chúng tôi cũng cung cấp một số đoạn mã ví dụ, mã giả và ví dụ về cấu trúc component.

Kiến thức cần có và lưu ý

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

  • 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,968

Học viên

111

Đánh giá

81

Trả lời

4.4

Xếp hạng

8

Các khóa học

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

    Dựa trên kinh nghiệm và bí quyết tích lũy được ở tuyến đầu của Global Tech Scene, tôi chỉ ra con đường giúp những người không chuyên về công nghệ vượt qua rào cản kỹ thuật và trở thành người làm chủ 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' (18K+ lượt tải xuống)

      • Được chọn vào Chương trình Google for Startups

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

      • Từ bỏ vòng cuối tại Amazon để khởi nghiệp

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

      • Học bổng toàn diện OpenAI / Meta / Apple / Adobe / Amazon

      • Cổng thông tin công cụ tìm kiếm 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

      • Tốt nghiệp kép ngành Khoa học máy tính và Quản trị kinh doanh tại một trường đại học 4 năm ở Seoul, cùng nhiều kinh nghiệm khởi nghiệp

      • Đã đào tạo hơn 1800 học viên, sở hữu hơn 4.5K người theo dõi trên Threads và hơn 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ờ 19phú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á

  • 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.

  • 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.

  • 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.

  • 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!

Ưu đãi có thời hạn

74.250 ₫

25%

2.055.913 ₫