Thực chiến thiết kế hệ thống Frontend tại các công ty Big Tech Hoa Kỳ: Dành cho những nhà phát triển Frontend không muốn chỉ dừng lại ở mức người thực thi đơ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ư 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, Agentic UI và Observability.

(4.5) 12 đánh giá

343 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.5

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

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.

5.0

동글

33% đã tham gia

Ngay sau khi nghe liên tiếp các bài giảng trước đó... mặc dù giảng viên có thể có nhiều kiến thức nhưng cấu trúc nội dung và ý đồ diễn đạt rất khó hiểu, khiến tôi thực sự mệt mỏi khi nghe và cảm thấy tiếc tiền học phí.. thì tôi đã gặp được một bài giảng quý giá như viên ngọc thế này. Từ trước đến nay dù có nhiều bài giảng về Front-end nhưng phần về System Design vẫn còn rất mơ hồ, vậy mà tôi đã gặp được một bài giảng tốt đến vậy. Cách giải thích rất dễ hiểu và tôi đang học hỏi được rất nhiều điều.

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

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

  • Trong các ứng dụng web quy mô lớn, tôi có thể lựa chọn các chiến lược render như CSR, SSR, SSG, ISR, Streaming phù hợp với từng tình huống và giải thích được các sự đánh đổi (trade-off) của chúng.

  • Có thể phân biệt giữa Local State, Global State, Server State, URL State, Cache State và 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.

  • Vượt xa khỏi việc chỉ là một nhà phát triển triển khai giao diện đơn thuần, bạn có thể rèn luyện tư duy của một kiến trúc sư Frontend - người giúp người dùng có thể hiểu và vận hành các sản phẩm cũng như hệ thống phức tạp.

  • Bạn có thể viết tài liệu thiết kế hệ thống frontend thực tiễn bao gồm hiệu suất, khả năng truy cập, 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 UI của các lĩnh vực phức tạp dưới 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 kiểu SpaceX, bảng tin thời gian thực kiểu Threads, hay bảng điều khiển vận hành robot kiểu Figure AI.

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

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

Vấn đề là vì nhiều nhà phát triển frontend
vẫn bị đánh giá là “người hiện thực hóa màn hình”.

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

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

Trong tương lai, điểm khác biệt của các kỹ sư frontend
không nằm ở việc “triển khai nhanh đến mức nào”
mà là ở việc liệu 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à vị trí tốt hơn,
bạn phải 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 suất, khả năng quan sát và cấu trúc triển khai.

Khóa học này sẽ huấn luyện tư duy thiết kế hệ thống Frontend thông qua
các ví dụ thực tế theo phong cách Big Tech, từ bảng tin Threads, giỏ hàng Amazon, UI phát trực tuyến Netflix,
đến chỉnh sửa cộng tác trên Google Docs, Micro Frontend, tối ưu hóa hiệu suất và Observability.


Khóa học này không chỉ dừng lại ở việc phát triển giao diện đơn thuầ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ẽ được 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ụ thực tế như: bảng tin thời gian thực kiểu Threads, danh sách sản phẩm và giỏ hàng kiểu Amazon, giao diện phát video trực tuyến kiểu Netflix/YouTube, giao diện chỉnh sửa cộng tác kiểu Google Docs, nền tảng phân tích chi phí linh kiện tên lửa kiểu SpaceX, và bảng điều khiển vận hành robot kiểu Figure AI.

Trong khóa học, bạn sẽ học từng bước về các yếu tố cốt lõi cần phải xem xét trong thiết kế hệ thống frontend, từ phân tích yêu cầu, chiến lược render, 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, cho đến khả năng truy cập, bảo mật, kiểm thử, khả năng quan sát và chiến lược triển khai.

Khóa học này có thể được ứng dụng trong các lĩnh vực như Big Tech Hoa Kỳ, startup toàn cầu, Enterprise SaaS, 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 quan sát, và UI hạ tầng AI/Robot/Vũ trụ. Mục tiêu là nâng cao năng lực thiết kế giao diện giúp người dùng hiểu và điều khiển được các hệ thống phức tạp, vượt xa khả năng triển khai đơn thuần.

Lý do tôi thiết kế bài giảng 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ã nguồn hơn, thì khả năng thấu hiểu các lĩnh vực phức tạp và chuyển đổi các yêu cầu thành thiết kế vẫn là điểm khác biệt mạnh mẽ của người phát triển, tức là tạo ra giá trị gia tăng cao.


Khóa học này được tạo ra nhằm giúp các học viên không chỉ dừng lại ở một nhà phát triển tạo ra màn hình đơn thuần, mà còn phát triển thành những kỹ sư Front-end hiểu rõ toàn bộ sản phẩm và hệ thống, đồng thời khơi dậy sự vĩ đại bên trong mỗi học viên.

Dành cho những người như thế này

Tôi cảm thấy mình dường như vẫn luôn chỉ được đánh giá là một người thực thi UI.

Nhà phát triển có thể thực hiện Frontend nhưng muốn được đánh giá ở cấp độ cao hơn

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

Các nhà phát triển đang chuẩn bị cho phỏng vấn thiết kế hệ thống (System Design) Frontend/Fullstack tại các công ty Big Tech Mỹ, startup và các tập đoàn 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 giống như một nhà phát triển backend/hạ tầng.

Những 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ụ dịch vụ thực tế như Threads, Amazon, Netflix, Google Docs, SpaceX, Figure AI

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

Trước khi nghe bài giảng, khi nhìn vào một màn hình phức tạp, bạn có thể sẽ nghĩ đến các component (thành phần) đầu tiên.

Nhưng sau khóa học, trước tiên những câu hỏi của bạn sẽ thay đổi.

Thay vì chỉ đơn thuần là “Nên tạo component nào?”, bạn sẽ nhìn nhận theo hướng “Nên thiết kế cấu trúc trải nghiệm sản phẩm này như thế nào để có thể duy trì lâu dài, hoạt động nhanh chóng và có thể truy vết 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 cho 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 được những nội dung này

1. Đây là bài giảng thay đổi tiêu chuẩn đánh giá của một nhà phát triển Front-end

Nếu bạn đặt mục tiêu đạt mức lương cao hơn và vị trí tốt hơn với vai trò Frontend, chỉ đơn thuần có khả năng hiện thực hóa UI nhanh hơn là chưa đủ.

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

Trong thời đại mà AI có thể nhanh chóng tạo ra các thành phần, 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.
Nếu chỉ dựa vào 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 xuống những vai trò có giá trị thấp hơn.

Kỹ sư Frontend ở cấp độ cao hơn không phải là người tạo ra màn hình, 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 đang tồn tại, nguồn dữ liệu gốc nằm ở đâu, màn hình nào cần SSR và màn hình nào cần cách ly bằng CSR, cho đến việc xác định race condition xảy ra ở đâu và theo dõi các vấn đề sau khi triển khai bằng telemetry nào.

Khóa học này được tạo ra để đáp ứng chính xác các tiêu chí đánh giá đó.

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


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

Điều quan trọng trong thiết kế hệ thống frontend không phải là việc 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 của bạn sẽ thay đổi.

Trước khi nghe bài giảng, bạn có thể suy 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 khóa 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 bị cũ (stale)?”
“Nguồn gốc của trạng thái là server hay client?”
“Làm thế nào để phản hồi chậm không ghi đè lên UI mới nhất?”
“Hiệu suất 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ẽ truy vết nguyên nhân bằng dữ liệu nào?”

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

Bắt đầu từ các ví dụ dịch vụ thực tế như Threads feed, 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.

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

Vì vậy, học viên sẽ được rèn luyện khả năng giải thích lý do tại sao cấu trúc đó lại cần thiết, thay vì chỉ dừng lại ở việc "làm thế nào để triển khai".

3. Trong thời đại AI viết code, Frontend đang chuyển mình sang Agentic UI

AI đã có thể viết được rất nhiều mã nguồn frontend.

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

Vì vậy, nếu chỉ dựa vào khả năng triển khai đơn thuần, lợi thế cạnh tranh của các nhà phát triển frontend có thể bị yếu đi.

Nhưng sự thay đổi lớn hơn còn nằm ở chỗ khác.

AI không chỉ thay đổi cách 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 UI truyền thống, người dùng phải tự mình thực hiện tất cả các bước.

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à di chuyển sang màn hình tiếp theo.

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

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

Khi đó, AI sẽ giải thích 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 khác nhau.

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

Phải cho người dùng thấy AI đang làm gì.
Phải thể hiện kết quả trung gian sao cho người dùng có thể hiểu được.
Các hành động nguy hiểm phải nhận được sự chấp thuận của người dùng.
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 lại.

Trong khóa học này, chúng tôi cũng sẽ đề cập đến việc thiết kế Agentic UI cho trải nghiệm sản phẩm AI-native như thế này.

Chúng ta sẽ cùng xem xét cách mô hình hóa trạng thái chạy của Agent, cách hiển thị UI gọi công cụ (tool-calling), cách xử lý phản hồi dạng streaming, cách thiết kế luồng phê duyệt của người dùng, và cả cách thể hiện kết quả do AI tạo ra dưới dạng giao diện có thể kiểm chứng được.

Trong kỷ nguyên AI, công việc của các kỹ sư frontend không phải là giảm bớt đi mà là đang thay đổi.

Việc triển khai đơn thuần có thể sẽ được tự động hóa nhiều hơn,
nhưng khả năng 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 với nhau đang trở nên quan trọng hơn bao giờ hết.

Khóa học này được thiết kế để phù hợp với sự thay đổi đó, giúp các kỹ sư frontend phát triển vượt xa vai trò của một người triển khai UI đơn thuần để trở thành những kỹ sư thiết kế trải nghiệm sản phẩm AI-native.

4. Huấn luyện thiết kế hệ thống frontend thông qua các ví dụ 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.

Huấ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 bảng tin phong cách Threads, chúng ta không chỉ đơn thuần hiển thị danh sách bài viết mà còn xử lý các vấn đề như cuộn vô hạn (infinite scroll), loại bỏ trùng lặp, phản hồi lạc quan (optimistic reaction), phản hồi cũ (stale response), cập nhật thời gian thực và bảo toàn vị trí đang đọc.

Trong thương mại điện tử kiểu Amazon, mọi thứ không chỉ dừng lại ở việc tạo danh sách sản phẩm và giỏ hàng.
Nó còn xử lý cả việc hợp nhất giỏ hàng của khách chưa đăng nhập, thay đổi giá, kiểm tra hàng tồn kho, trạng thái thanh toán không xác định (unknown), idempotencyKey và cả lỗi hydration mismatch.

Trong giao diện phát trực tuyến kiểu Netflix/YouTube, mọi thứ không chỉ dừng lại ở việc sử dụng thẻ <video>.
Việc đệm dữ liệu (buffering), trạng thái phát, chất lượng mạng, chuyển đổi độ phân giải và phục hồi sau lỗi đều được xử lý dưới dạng các mô hình trạng thái.

Trong giao diện chỉnh sửa cộng tác kiểu Google Docs, chúng ta không chỉ tạo ra một ô nhập liệu, mà còn xử lý trạng thái chỉnh sửa cục bộ và đồng bộ hóa máy chủ, xử lý xung đột, phản ánh thời gian thực, cũng như sự cân bằng giữa latency và consistency.

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

Thông qua những ví dụ này, học viên sẽ được rèn luyện tư duy thiết kế hệ thống frontend như một cách để giải quyết các vấn đề dịch vụ thực tế, chứ không chỉ dừng lại ở lý thuyết đơn thuần.

5. Quản lý trạng thái cũng 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, chúng ta sẽ học cách mô hình hóa các trạng thái UI phức tạp bằng phương pháp X-M, vượt qua những giới hạn của việc kết hợp các trạng thái boolean.

Phương pháp X-M (trong đó "X-" sẽ không được tiết lộ tại đây) là một trong những phương pháp mà tôi đã đặc biệt dự thính thông qua một người quen tại một trong các trường đại học UC, và đã thảo luận với những người bạn gốc Ấn trong quá trình tham gia chương trình học bổng Big Tech. Tôi quyết định đưa nội dung này vào chương trình giảng dạy vì tin rằng đâ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

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

Nút thích có thể không chỉ gói gọn trong một biến isLiked duy nhất.
Số lượng trong giỏ hàng có thể không chỉ gói gọn trong một biến quantity duy nhất.
Trạng thái thanh toán có thể không chỉ gói gọn trong các trạng thái loading, success, error.

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

Có trạng thái mà người dùng nhìn thấy trước tiên, trạng thái mà phía client hiển thị một cách lạc quan (optimistic), trạng thái đã được server xác nhận, trạng thái cần phải hoàn tác khi thất bại, và cả trạng thái chưa xác định (unknown) khi chưa biết kết quả.

Học viên sẽ 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 suất không phải là mẹo vặt, mà được xử lý như một yêu cầu của hệ thống

Tối ưu hóa hiệu suất frontend không đơn thuần chỉ là vấn đề lazy loading hình ảnh hay split code.

Trong dịch vụ thực tế, trước tiên bạn phải định nghĩa xem sẽ đảm bảo trải nghiệm người dùng nào thông qua những con số cụ thể nào.

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

Trong khóa học này, chúng ta không xử lý hiệu suất một cách mơ hồ theo kiểu “hãy làm cho nó nhanh hơn”.

Chúng ta sẽ cùng xem xét chỉ số hiệu suất nào là quan trọng trên màn hình nào, nên lựa chọn chiến lược rendering nào, trạng thái và luồng dữ liệu nào tạo ra nút thắt cổ chai về hiệu suất, cho đến cách quan sát hiệu suất của người dùng thực tế sau khi triển khai.

Vì vậy, học viên sẽ không chỉ học những mẹo tối ưu hóa đơn thuần, mà còn rèn luyện được khả năng 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 về thiết kế Frontend có tính đến cả vận hành và khả năng quan sát

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ự thường phát sinh sau khi triển khai.

Nút bấm có thể không hoạt động chỉ trên một số trình duyệt nhất định.
Trạng thái thanh toán có thể rơi vào tình trạng unknown trong một số môi trường mạng cụ thể.
Tỷ lệ rollback giỏ hàng có thể tăng đột ngột ở một phiên bản nhất định.
Phản hồi tìm kiếm chậm lại có thể làm tăng các stale response (phản hồi cũ).
Lỗi hydration mismatch có thể chỉ xảy ra trên một số trang cụ thể.

Lúc này, chỉ đơn thuần nói rằng “tôi đã gắn công cụ theo dõi lỗi” là chưa đủ.

Kỹ sư Frontend phải có khả năng thiết kế xem 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, chúng tôi không xem Observability chỉ là việc cài đặt đơn giản như thiết lập Sentry.

Thông qua các chỉ số như RUM, error tracking, telemetry contract, nhật ký chuyển đổi trạng thái, rollback rate, stale response ignored count, và payment unknown rate, chúng ta nhìn nhận hệ thống frontend dưới cấu trúc có thể vận hành được.

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

Đây không phải là một khóa học clone coding thông thường mà tập trung vào thiết kế hệ thống frontend.

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


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

  • 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 để những người không chuyên về kỹ thuật có thể 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à 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 13K lượt tải xuống)

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

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

      • Đã 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 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 giáo dục đã được kiểm chứng

Kế hoạch cập nhật Case Study Phần 3

Phần 3 hiện đang ở trạng thái riêng tư và đang được sản xuất tuần tự, dự kiến sẽ bao gồm các nội dung tập trung vào nghiên cứu tình huống (case study) thông qua các ví dụ thực tế về dịch vụ Big Tech của Mỹ từ những gì đã học cho đến nay.

Hướng chuẩn bị hiện tại như sau.

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

  • Thiết kế bảng tin hình ảnh và tin (story) của Instagram

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

  • Thiết kế UI phát trực tuyến video Netflix/YouTube

  • Thiết kế chat thời gian thực Slack/Messenger

  • Thiết kế chỉnh sửa cộng tác trên Google Docs/Spreadsheet

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

  • Thiết kế dựa trên vị trí 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 phong cách SpaceX

  • Thiết kế Starlink / SpaceX Observability Control Plane

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

  • Thiết kế Space Data Center / Orbital Data Center Management Console

  • Thiết kế Front-end cho Hệ thống Giám sát Nội bộ Tên lửa (Rocket Internal Systems Monitoring)

Mục tiêu của Phần 3 không đơn thuần chỉ là “có thể tạo ra dịch vụ như thế này”, mà là huấn luyện cách phân chia tư duy từ yêu cầu, kiến trúc, mô hình dữ liệu, giao diện, hiệu suất, khả năng quan sát cho đến xử lý sự cố khi nhìn vào một dịch vụ phức tạp trong thực tế.

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

Hiện tại chúng tôi đang sản xuất theo trình tự và dự kiến sẽ công khai các bài giảng ngay khi hoàn thành. Cảm ơn bạn đã kiên nhẫn chờ đợi.

Bạn có thắc mắc gì không?

Q1. Thiết kế hệ thống Frontend khác với phát triển Frontend thông thường như thế nào?

Phát triển Front-end thông thường thường tập trung vào việc hiện thực hóa các màn hình hoặc tính năng đã được giao. Ngược lại, thiết kế hệ thống Front-end (Front-end System Design) là quá trình phân tích yêu cầu và thiết kế toàn bộ hệ thống Front-end, bao gồm chiến lược rendering, luồng dữ liệu, quản lý trạng thái, cấu trúc component, hiệu suất, khả năng truy cập, bảo mật, kiểm thử và khả năng quan sát (observability).

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

Nếu có kinh nghiệm về React thì sẽ dễ hiểu hơn, nhưng đây không phải là bài giảng chỉ dành riêng cho React. Bài giảng 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. Tôi có thể tham gia khóa học ngay cả khi không có kinh nghiệm thiết kế hệ thống không?

Vâng. Ở phần đầu, khóa học sẽ giải thích từng bước thông qua các chiến lược cụ thể, từ việc sắp xế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. Tuy nhiên, việc có kiến thức cơ bản về HTML, CSS, JavaScript và kinh nghiệm sử dụng framework frontend sẽ giúp bạn tiếp thu dễ dàng hơn nhiều, nhưng đó không phải là yêu cầu bắt buộc.

Lưu ý trước khi khóa học bắt đầu

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 theo dõi bài giảng 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 bài giảng được cung cấp bao gồm ghi chú thiết kế theo từng phần, danh sách kiểm tra (checklist) thiết kế hệ thống frontend, sơ đồ kiến trúc theo từng trường hợp, ví dụ mô hình dữ liệu/trạng thái và ví dụ cấu trúc câu trả lời phỏng vấn.

Nếu cần thiết, một số mã ví dụ, mã giả (pseudocode) hoặc ví dụ về cấu trúc thành phần (component) cũng sẽ được cung cấp kèm theo.

Kiến thức tiên quyết và những lưu ý cần thiết

  • Khuyến nghị nên có kiến thức cơ bản về HTML, CSS, 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, Angular, Vue.

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

  • Khóa học này không phải là việc sao chép y hệt hệ thống nội bộ của một công ty cụ thể, mà là quá trình huấn luyện tư duy thiết kế hệ thống frontend dựa trên các loại sản phẩm phổ biến và các mô hình kiến trúc thực tế.

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

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

  • Những người muốn trở thành kỹ sư Frontend chuyên thiết kế các hệ thống phức tạp như các công ty Big Tech của Mỹ, thay vì chỉ dừng lại ở các thao tác CRUD đơn giản.

  • Những người muốn thấu hiểu kiến trúc front-end trong môi trường enterprise dựa trên không chỉ React mà còn cả Angular, C#, và .NET.

  • Những người muốn nuôi dưỡng "khả năng thấu 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", một kỹ năng khó bị thay thế ngay cả trong kỷ nguyên AI.

  • Nhà phát triển quan tâm đến phương pháp 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ẽ rất tốt 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 cả

Xin chào
Đây là americasnail

Xác minh Inflearn

1,578

Học viên

77

Đánh giá

70

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ẽ đưa ra con đường giúp những người không chuyên về kỹ thuật vượt qua rào cản công nghệ để trở thành chủ nhân của doanh nghiệp.

    • 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' (15K+ 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 và startup triển vọng của Mỹ

      • Đã 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 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 1500+ học viên tích lũy, sở hữu 4.8K+ người theo dõi trên SNS Threads / 471+ người theo dõi trên Substack

Thêm

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

Tất cả

29 bài giảng ∙ (3giờ 54phú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ả

    12 đánh giá

    4.5

    12 đánh giá

    • uthi1004님의 프로필 이미지
      uthi1004

      Đánh giá 7

      Đánh giá trung bình 4.7

      5

      33% đã tham gia

      Ngay sau khi nghe liên tiếp các bài giảng trước đó... mặc dù giảng viên có thể có nhiều kiến thức nhưng cấu trúc nội dung và ý đồ diễn đạt rất khó hiểu, khiến tôi thực sự mệt mỏi khi nghe và cảm thấy tiếc tiền học phí.. thì tôi đã gặp được một bài giảng quý giá như viên ngọc thế này. Từ trước đến nay dù có nhiều bài giảng về Front-end nhưng phần về System Design vẫn còn rất mơ hồ, vậy mà tôi đã gặp được một bài giảng tốt đến vậy. Cách giải thích rất dễ hiểu và tôi đang học hỏi được rất nhiều điều.

      • americasnail
        Giảng viên

        Cảm ơn bạn rất nhiều :) Cảm ơn bạn vì những đánh giá khóa học quý giá, tôi sẽ tiếp tục nỗ lực để khơi dậy sự tuyệt vời của các học viên. Chúc bạn một ngày tốt lành!

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

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

    • ref님의 프로필 이미지
      ref

      Đánh giá 12

      Đánh giá trung bình 5.0

      5

      100% đã tham gia

      Tôi đã học hỏi được rất nhiều thông tin bổ ích. Tôi rất mong chờ nội dung sẽ được đăng tải trong phần 3.

      • tkyoun12409907님의 프로필 이미지
        tkyoun12409907

        Đánh giá 9

        Đánh giá trung bình 5.0

        5

        100% đã tham gia

        Tôi đã có thêm được những hiểu biết thật bổ ích! Tôi thực sự rất mong chờ bài giảng sắp được công khai!

        • americasnail
          Giảng viên

          Cảm ơn bạn rất nhiều vì những đánh giá quý giá :) Chúc bạn một ngày tốt lành. Hãy đón chờ các bài giảng sắp ra mắt 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!