강의

멘토링

로드맵

BEST
Programming

/

etc. (Programming)

Thiết kế hệ thống bước đầu: Thiết kế kiến trúc backend nổi bật trong phỏng vấn

Từ thiết kế API, triển khai CRUD, xác thực JWT – vượt xa những kiến thức nền tảng, tiến tới thiết kế kiến trúc backend! Đây là khóa học nhập môn thiết kế hệ thống, nhằm tạo ra ‘kiến trúc backend của riêng bạn’ giúp bạn tự tin trình bày kinh nghiệm thiết kế trong phỏng vấn.

(4.9) 21 đánh giá

296 học viên

  • mindlantern
시스템-디자인
아키텍쳐
개념강의
백엔드이해하기
Architecture
backend
software-design
system-design
Interview

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

Dịch cái này sang tiếng Việt

  • Thiết kế hệ thống Backend

  • Kiến trúc hệ thống

  • Thiết kế hệ thống lớn: Đánh đổi.

  • Cách làm dự án nổi bật trong phỏng vấn

Những bước đầu tiên trong thiết kế hệ thống 🚶🏻‍♀️

Ngoài việc triển khai các tính năng, đây còn là bước đệm để trở thành một nhà phát triển phần mềm biết cách thiết kế.


" Tôi rõ ràng đã làm dự án, nhưng tại sao tôi không có gì để nói trong buổi phỏng vấn? 🤔 "

Khi nhiều người tìm việc làm backend nói về kinh nghiệm dự án của họ,
Phần này sẽ tập trung vào thiết kế API và triển khai chức năng tập trung vào CRUD.
Nhưng điều mà người phỏng vấn thực sự muốn biết là
Đó là sự đánh giá và cân nhắc của riêng bạn về ' lý do tại sao nó được thiết kế theo cách đó ', chứ không phải ' cách nó được triển khai '.


Khóa học này được thiết kế dành cho những người tìm việc chưa có kinh nghiệm về thiết kế kiến trúc phần mềm .
Khi thiết kế một hệ thống quy mô lớn, mục tiêu nên là gì, nó nên bao gồm những thành phần nào,
Và nó bao gồm toàn bộ quy trình thiết kế từng bước, cho đến khi kiến trúc thực sự có thể được phát triển.

Thông qua bài giảng này, bạn sẽ có thể tự tin trình bày về bản thân trong buổi phỏng vấn.
Chúng ta hãy cùng nhau hoàn thành một dự án theo thiết kế của riêng bạn .


#Thiết kế hệ thống #Thiết kế kiến trúc #Phần cuối

🌟 Tính năng của khóa học

📌 Để ngay cả người mới bắt đầu cũng có thể dễ dàng hiểu được!

  • Từ bốn mục tiêu cốt lõi của thiết kế hệ thống đến các thành phần chính và khái niệm kiến trúc tạo nên hệ thống phụ trợ,
    Chúng tôi giải thích thiết kế hệ thống ở cấp độ dành cho người mới bắt đầu để bạn có thể nhanh chóng nắm bắt được.

📌 Khả năng nói: 'Tại sao bạn chọn công nghệ này?'

  • Ngoài việc triển khai chức năng đơn giản, bạn sẽ tìm hiểu về quá trình lựa chọn công nghệ và thiết kế kiến trúc có tính đến sự đánh đổi.
    Tạo ra cơ sở thiết kế mà bạn có thể tự tin giải thích trong buổi phỏng vấn.

📌 Tư duy thiết kế áp dụng được vào các dự án thực tế!

  • Chương 16 giới thiệu cách tạo một dự án nổi bật trong các cuộc phỏng vấn và bằng cách thực hiện các nhiệm vụ thực tế được cung cấp trong mỗi phần, bạn có thể tự mình xem xét và thiết kế một kiến trúc phụ trợ phù hợp với dự án của riêng mình.

🙋 Được đề xuất cho

Tôi muốn nhanh chóng xem qua những điều cơ bản về thiết kế hệ thống.


Về thiết kế hệ thống phụ trợ
Dành cho những ai muốn nhanh chóng sắp xếp các khái niệm và vẽ nên bức tranh toàn cảnh

Tôi muốn làm việc trong một dự án có thể chứng minh được trình độ chuyên môn của tôi để xin việc.


Ngoài việc thực hiện chức năng đơn giản,
Bất kỳ ai muốn tạo một dự án có thể giải thích lý do thiết kế và quy trình lựa chọn công nghệ.

Tôi là một nhà phát triển mới và chưa có kinh nghiệm thiết kế hệ thống.


Những người muốn hiểu mục tiêu và thành phần của thiết kế hệ thống và phát triển khả năng thiết kế kiến trúc của riêng mình.



📖 Sau khi tham gia lớp học

  • Bạn sẽ hiểu bốn mục tiêu cốt lõi khi thiết kế các hệ thống phụ trợ quy mô lớn .

  • Máy chủ, cơ sở dữ liệu, bộ nhớ đệm, hàng đợi tin nhắn, bộ cân bằng tải, sổ đăng ký dịch vụ, xử lý hàng loạt và phát trực tuyến, v.v.
    Bạn sẽ tìm hiểu về vai trò và sự cần thiết của các thành phần cốt lõi tạo nên kiến trúc phần cuối.


  • Tìm hiểu các khái niệm cơ bản và sự đánh đổi quan trọng (ví dụ: tính nhất quán so với tính khả dụng) cần cân nhắc khi thiết kế hệ thống.

  • Bạn sẽ tìm hiểu về các phong cách kiến trúc backend chính và phương pháp thiết kế kiến trúc thông qua các dự án ví dụ.

  • Người tìm việc làm trong các dự án phát triển phần mềm có thể thiết kế kiến trúc riêng của mình dựa trên nội dung bài giảng và nhiệm vụ thực tế.

Học những điều này

Phần 1. Tại sao phải học Thiết kế hệ thống?


Chúng ta cùng tìm hiểu thiết kế hệ thống là gì và tại sao nó lại trở nên đặc biệt quan trọng đối với các nhà phát triển phần mềm phụ trợ gần đây .

Đây là bước đầu tiên để trở thành một nhà phát triển có thể trình bày rõ ràng lý do thiết kế và đánh giá kỹ thuật, thay vì chỉ đơn thuần là triển khai chúng.

Mục 2. Bốn mục tiêu cốt lõi của thiết kế hệ thống


Hiểu bốn mục tiêu cốt lõi của thiết kế hệ thống (độ tin cậy, hiệu suất, tính khả dụng và khả năng mở rộng) và tìm hiểu cách áp dụng chúng vào thiết kế dự án thực tế.



Phần 3. Các thành phần chính của hệ thống và sự đánh đổi


Chúng tôi giới thiệu các thành phần chính thường được sử dụng trong việc tạo ra các hệ thống phụ trợ quy mô lớn và giải thích trong trường hợp nào chúng được sử dụng bằng các ví dụ thực tế .

Nó không chỉ giới thiệu đơn thuần các thành phần mà còn đề cập đến các vấn đề và sự đánh đổi cần cân nhắc khi giới thiệu từng thành phần .

Phần 4. Thiết kế và mô tả kiến trúc của riêng bạn


Hướng dẫn từng bước này sẽ hướng dẫn bạn cách tạo một dự án back-end nổi bật trong các buổi phỏng vấn . Chúng tôi sẽ giải thích chi tiết từng bước: cách lập kế hoạch, triển khai và tinh chỉnh dự án.

Tìm hiểu về các kiểu kiến trúc backend khác nhau, ưu và nhược điểm của chúng cũng như cách chọn một kiểu .

Chúng tôi sẽ khám phá cách bạn có thể cải thiện dần kiến trúc của mình bằng cách cùng nhau thiết kế các dự án mẫu trong Cộng đồng Hỏi & Đáp dành cho Nhà phát triển.

Những điều cần lưu ý trước khi tham gia khóa học

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

  • Chúng tôi cung cấp bản PDF của các slide bài giảng (350 trang).

Kiến thức và biện pháp phòng ngừa của người chơi

  • Nếu bạn có kinh nghiệm phát triển phần mềm cơ bản, bạn sẽ thấy khóa học này dễ theo dõi hơn.
    Ví dụ, sẽ rất hữu ích nếu bạn có kinh nghiệm với các công nghệ như:

    • Kinh nghiệm phát triển máy chủ API bằng cách sử dụng các khuôn khổ web

    • Lưu trữ dữ liệu bằng cơ sở dữ liệu quan hệ (RDB) hoặc NoSQL DB

    • Hiểu các khái niệm cơ bản về HTTP và mạng

  • Khóa học này tập trung vào lý thuyết, dạy các khái niệm thiết kế hệ thống và quy trình thiết kế.
    Vì vậy, Redis, Kafka, Spring, Nginx, v.v.
    Tài liệu này không đề cập đến việc cài đặt hoặc sử dụng các công nghệ cụ thể, cũng như không đề cập đến các hoạt động triển khai mã.

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

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

  • Ứng viên backend từng triển khai chức năng cơ bản nhưng chưa từng thiết kế kiến trúc.

  • Người tìm việc muốn nâng cao năng lực cạnh tranh việc làm bằng một dự án đã cân nhắc các sự đánh đổi trong hệ thống quy mô lớn.

  • Lập trình viên backend mới phải thiết kế kiến trúc hệ thống lần đầu tại công ty.

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

  • Có hiểu biết cơ bản về HTTP và RESTful API thì tốt.

  • Có kinh nghiệm tạo máy chủ CRUD đơn giản bằng các web framework (Spring, Express...) sẽ hữu ích cho việc học.

  • Nếu có kiến thức liên quan đến DB như SQL và CSDL quan hệ (RDB), bạn sẽ theo kịp bài giảng tốt hơn.

Xin chào
Đây là

296

Học viên

21

Đánh giá

4

Trả lời

4.9

Xếp hạng

1

Khóa học

안녕하세요, 개발자 성장랜턴입니다.
국내 IT 대기업에서 근무 중이며, 누구나 개발자가 되어 상상하는 것을 직접 만들 수 있는 세상을 꿈꾸고 있습니다.

현업에서의 고민과 실제로 쓰이는 기술들을 처음 배우는 분들도 쉽게 이해할 수 있도록 전하고 싶습니다.
배우고 성장하는 과정을 좋아하는 사람으로서, 제 강의를 듣는 분들도 함께 성장하는 즐거움을 느낄 수 있으면 좋겠습니다.

 

이메일: mindlantern.studio@gmail.com

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

Tất cả

24 bài giảng ∙ (4giờ 59phú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ả

21 đánh giá

4.9

21 đánh giá

  • kordokrip님의 프로필 이미지
    kordokrip

    Đánh giá 17

    Đánh giá trung bình 3.6

    Đã chỉnh sửa

    5

    70% đã tham gia

    Tôi đã làm việc với vai trò kiến trúc sư được khoảng 3 năm rồi. Do tiến hành theo domain (dịch vụ sản xuất) nên có vẻ như tôi luôn thực hiện thiết kế hệ thống với góc nhìn tương tự, vì vậy tôi đang xem với tâm thế trở về ban đầu. Đặc biệt là tôi chưa từng thiết kế kiến trúc dựa trên dịch vụ như ecommerce, fulfillment, nên việc thầy giải thích tương tự đã giúp ích rất nhiều cho tôi. Nếu thầy có thể tạo thêm khóa học bổ sung về phần xử lý thời gian thực tích hợp dữ liệu đa dạng (multithreading, tăng tốc GPU, v.v.) vì gần đây ngành sản xuất (năng lượng) cũng đang sử dụng nhiều, thì sẽ rất tốt. Và nếu có cơ hội, thầy có thể upload phần thiết kế về vector database mà gần đây mọi người đều quan tâm thì sẽ giúp ích rất nhiều cho các bạn chuẩn bị tìm việc. Gần đây thực sự là các tập đoàn SI dựa trên ngành sản xuất cũng yêu cầu những ứng viên mới tốt nghiệp nhưng không giống như sinh viên mới tốt nghiệp thông thường. Cảm ơn thầy.

    • mindlantern
      Giảng viên

      sungho kang님, cảm ơn bạn đã để lại đánh giá tốt về khóa học. Mặc dù bạn đã có kinh nghiệm thiết kế với tư cách là architect nhưng khóa học vẫn có ích thì thật may mắn😊! Chủ đề xử lý thời gian thực tích hợp dữ liệu đa dạng mà bạn đề cập thực sự rất hay, nhưng có vẻ hơi khó để đưa vào khóa học nhập môn này, nên tôi sẽ xem xét đưa vào khóa học tiếp theo với nội dung chuyên sâu hơn. Thiết kế kiến trúc bao gồm vector database và AI model có vẻ là phần mà các bạn đang chuẩn bị việc làm thường trải qua nhiều trong các dự án, nên tôi sẽ tạo thêm khóa học về chủ đề này! Cảm ơn bạn rất nhiều vì đã dành thời gian để lại phản hồi tốt.

  • dt100027440님의 프로필 이미지
    dt100027440

    Đánh giá 2

    Đánh giá trung bình 5.0

    Đã chỉnh sửa

    5

    100% đã tham gia

    Đây là lần đầu tiên tôi viết đánh giá khóa học. Với tư cách là người đang chuẩn bị tìm việc, tôi nghĩ rằng với sự phát triển của AI gần đây, việc triển khai mã code đã chuyển sang một lĩnh vực mà có thể được giải quyết ở một mức độ nào đó. Vậy, trong lúc băn khoăn điều gì là quan trọng, tôi chợt nhận ra rằng "À, bây giờ việc thiết kế hệ thống tốt là quan trọng, việc giao tiếp thiết kế hệ thống là quan trọng." Vì vậy, khi đọc phần "Kiến thức cơ bản về thiết kế hệ thống quy mô lớn 1" được giới thiệu trong khóa học, tôi chợt nghĩ rằng sẽ thật tuyệt nếu có một khóa học giải thích từ góc độ của người làm thực tế, và ngay lập tức tôi tìm thấy và mua khóa học này. Cá nhân tôi thấy khóa học thực sự hữu ích trong việc nắm bắt bức tranh lớn. Ngay cả đối với những công nghệ mà tôi chưa từng sử dụng hoặc chỉ nghe qua, tôi cũng có thể mở rộng kiến thức nền của mình bằng cách nghĩ "À, cái này có thể được sử dụng trong tình huống này," và tôi đã học được rất nhiều về những điều cần xem xét trong giai đoạn đầu của một dự án thực tế. Sao bây giờ bạn mới xuất hiện…. Không chỉ vậy, tôi còn học được cách trình bày dự án của mình trong các buổi phỏng vấn với tư cách là một nhà phát triển backend. Tôi thực sự rất ngại việc làm tài liệu, nhưng từ giờ tôi sẽ cố gắng ghi lại các nội dung khắc phục sự cố đã thực hiện. Cảm ơn vì một khóa học thực sự tuyệt vời. Tài liệu ppt cũng rất dễ đọc, và thiết kế giáo trình cũng rất đẹp, tôi rất hài lòng! Tôi không biết bạn đang lên kế hoạch cho khóa học nào tiếp theo, nhưng tôi sẽ tin tưởng và đăng ký học :>

    • mindlantern
      Giảng viên

      dt10002, xin chân thành cảm ơn bạn đã để lại một bài đánh giá khóa học tâm huyết! Tôi đã tạo ra khóa học này với suy nghĩ rằng những kinh nghiệm mình tích lũy được trong quá trình phát triển có thể giúp ích cho ai đó. Khi đọc những phản hồi cho thấy khóa học thực sự hữu ích như thế này, tôi cảm thấy rất tự hào và tràn đầy năng lượng 😆. Trong tương lai, tôi sẽ tiếp tục phát triển khóa học này để nó có thể mang lại lợi ích thực tế cho nhiều người hơn nữa. Tôi xin chân thành ủng hộ hành trình tìm việc và thiết kế hệ thống sắp tới của dt10002! Nếu bạn có bất kỳ câu hỏi nào trong quá trình học, đừng ngần ngại đặt câu hỏi bất cứ lúc nào. Xin cảm ơn!

  • etd939114님의 프로필 이미지
    etd939114

    Đánh giá 20

    Đánh giá trung bình 5.0

    Đã chỉnh sửa

    5

    100% đã tham gia

    Đây là một bài giảng khiến tôi suy nghĩ về cấu trúc kiến trúc của dự án mà tôi đã tạo ra. Hơn nữa, tôi còn phải cân nhắc về những đánh đổi tùy thuộc vào việc chọn cấu trúc nào. Tôi rất hài lòng với bài giảng này nên tự nhiên mong chờ bài giảng tiếp theo. Khi xem các bình luận, thấy thầy có kế hoạch giảng dạy với nội dung chuyên sâu hơn nên tôi rất mong chờ. Tôi đã học được nhiều điều. Cảm ơn thầy.

    • aesol3643님의 프로필 이미지
      aesol3643

      Đánh giá 2

      Đánh giá trung bình 5.0

      5

      60% đã tham gia

      Đây là một khóa học rất tuyệt vời để vẽ nên bức tranh tổng thể về thiết kế hệ thống! Những khái niệm mà tôi từng nghe đâu đó nhưng không hiểu chính xác, giảng viên đã chỉ ra và giải thích rõ ràng, giúp mở rộng kiến thức của tôi lên một tầm cao mới. Đặc biệt, việc tập trung vào 'tại sao' hơn là 'như thế nào' đã giúp tôi nhận ra rằng trong thiết kế không có đáp án chuẩn và mọi thứ đều là kết quả của sự đánh đổi. Ngoài ra, thông qua khóa học này, tôi đã có thể nắm bắt được cảm giác về việc nên tập trung vào phần nào của dự án để thể hiện trong phỏng vấn. Tôi rất muốn giới thiệu khóa học này cho những ai lần đầu học thiết kế hệ thống hoặc đang chuẩn bị cho phỏng vấn!!

      • artline1412님의 프로필 이미지
        artline1412

        Đánh giá 4

        Đánh giá trung bình 5.0

        5

        100% đã tham gia

        Lần đầu làm dự án nhóm, tôi đã khổ sở vì không hiểu gì về kiến trúc nên đã đăng ký khóa học này, và tôi học được rất nhiều điều trước khi ra về.

        925.403 ₫

        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!