Môi trường phân tán (Distributed Environment) bạn nhất định phải biết - được chia sẻ bởi phỏng vấn viên Kakao

Khóa học này không chỉ liệt kê các công nghệ về kiến trúc microservices và môi trường phân tán, mà còn giải thích chúng từ 'góc nhìn thiết kế' được yêu cầu trong thực tế công việc và phỏng vấn. Bắt đầu từ sự khác biệt giữa Monolithic và MSA, khóa học đề cập từng bước đến chiến lược chuyển đổi dần dần, modular monolithic, clean architecture và hexagonal architecture, đồng thời giải thích rõ ràng tại sao mỗi lựa chọn lại cần thiết và những đánh đổi (trade-off) đi kèm. Ngoài ra, thông qua thực hành, bạn có thể trực tiếp xác nhận ý đồ của cấu trúc và học các vấn đề cốt lõi mà tất yếu phải đối mặt trong môi trường phân tán như tính nhất quán dữ liệu, transaction, giao tiếp giữa các service, và xử lý sự cố thông qua các kịch bản thực tế. Được xây dựng dựa trên các câu hỏi và quan điểm thực tế của phỏng vấn viên Kakao, khóa học này không chỉ dừng lại ở việc tiếp thu kiến thức, mà còn hướng đến mục tiêu nâng cao một bậc chính tư duy nhìn nhận hệ thống phân tán.

(5.0) 9 đánh giá

263 học viên

Độ khó Cơ bản

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

JavaScript
JavaScript
Design Pattern
Design Pattern
MSA
MSA
software-design
software-design
Government-Funded Bootcamp
Government-Funded Bootcamp
JavaScript
JavaScript
Design Pattern
Design Pattern
MSA
MSA
software-design
software-design
Government-Funded Bootcamp
Government-Funded Bootcamp

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

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

5.0

5.0

Choi

93% đã tham gia

Tôi là người chia sẻ kiến thức đang hoạt động với vai trò là interviewer và developer tại Kakao. Lần này, tôi đã cùng Hong chuẩn bị một khóa học giới thiệu các quan điểm đa dạng từ góc độ môi trường phân tán cũng như các pattern mà các bạn có thể tham khảo khi xây dựng dự án. Tôi đã cố gắng tối đa hóa những quan điểm mà tôi thường đặt ra trong các buổi phỏng vấn. Tiêu biểu như: 1. Làm thế nào để debug trong môi trường phân tán?? 2. Hãy giải thích các pattern mà bạn biết. 3. Bạn tiến hành test như thế nào tùy theo kiến trúc?? Nếu các bạn tập trung vào những nội dung này thì khóa học sẽ hữu ích hơn. Hy vọng các bạn sẽ thu được nhiều insight. Cảm ơn các bạn!

5.0

warna

90% đã tham gia

Tôi đã xem một bài giảng rất bổ ích. Càng suy ngẫm về nội dung thì càng thấy đây thực sự là một bài giảng hữu ích và giúp tôi hiểu được nhiều quan điểm khác nhau. Thêm vào đó, giảng viên còn tổng hợp đầy đủ cả tài liệu thực hành và tài liệu lý thuyết đa dạng, tôi thật may mắn khi có thể xem được một bài giảng tuyệt vời như thế này trên Inflearn.

5.0

이병석

97% đã tham gia

Có lẽ không có nội dung nào tốt hơn thế này để thiết lập một chủ đề mang tính lý thuyết. Mặc dù có phần viết mã, nhưng thay vì quá tập trung vào đó, nội dung này lại rất tốt để hệ thống lại kiến thức cá nhân, và xa hơn nữa là có nhiều góc nhìn đa dạng để học hỏi thêm những điều mới. Cảm ơn bạn, nội dung rất hay.

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

  • Tầm nhìn thiết kế giúp hiểu rõ môi trường phân tán trong nháy mắt

  • Tiêu chí đánh giá rõ ràng để lựa chọn kiến trúc MSA

  • Khả năng tự giải thích các đánh đổi về kiến trúc

  • Phương pháp thiết kế tích hợp tự nhiên khả năng kiểm thử và mở rộng

  • Kiến thức để có thể tự tin trình bày về thiết kế trong phỏng vấn và thực tế công việc

Làm thế nào để quản lý ACID trong môi trường MSA?🤔

  • Nội dung bên dưới là cuộc trò chuyện thực tế.

😄 Hong : Dạo này tôi đang băn khoăn về khóa học, bạn nghĩ sao về việc làm một khóa học tổng quan về MSA, tức là môi trường phân tán?

😁 Người phỏng vấn Kakao (lập trình viên) : Đột nhiên sao?? Tại sao??

😄 Hong : Dạo này xin việc cũng khó khăn.. Ngay cả khi vượt qua vòng hồ sơ thì cũng bị loại nhiều ở vòng phỏng vấn, nên tôi nghĩ nếu đề cập đến phần lý thuyết hay góc nhìn thiết kế tổng thể hơn thì sẽ giúp ích cho những người đang chuẩn bị

😁 Người phỏng vấn Kakao (lập trình viên) : Hmm... Tôi cũng thấy khi chuẩn bị phỏng vấn, mặc dù trình độ và kiến thức của mọi người ngày càng tăng lên nhưng họ chỉ bị giới hạn trong phạm vi kiến thức mà họ biết thôi, điều đó hơi đáng tiếc??

😁 Người phỏng vấn Kakao (Lập trình viên) : Theo quan điểm này thì có lẽ nên đề cập đến nhiều chủ đề khác nhau về môi trường phân tán

😁 Lập trình viên Toss : Tôi không phải là người phỏng vấn nên không rõ phần đó lắm, nhưng nhìn những người mới vào thì đa số chỉ biết những nội dung mà ai cũng biết thôi, không hiểu rõ tại sao phải sử dụng cái này, có ưu nhược điểm gì. Chỉ nghĩ rằng làm như vậy là được rồi phải không??

😁 Lập trình viên Toss : Có nhiều người chỉ giải thích như thế này thôi. Điều này thì hơi tiếc một chút.

😁 Người phỏng vấn Kakao (Lập trình viên) : Vậy thì để tôi thử làm một lần với Hong. Tôi vẫn chưa buông bỏ vai trò người phỏng vấn nên có thể cung cấp nhiều góc nhìn đa dạng hơn trong việc phỏng vấn.

😄 Hong : Có vẻ hay đấy!! Vậy mình sẽ chuẩn bị tổng thể rồi báo cho cậu nhé.

Bạn có đang sử dụng MSA tức là môi trường phân tán không?? 🤔

Trong mối quan hệ giữa vô số ứng dụng dịch vụ, bạn đang viết test code như thế nào và áp dụng khái niệm gì để giải quyết các vấn đề trong môi trường phân tán?? Hoặc bạn sẽ tiến hành quá trình migration từ monolithic sang môi trường phân tán như thế nào??

Những vấn đề đa dạng từ góc nhìn lớn như thế này thực tế không thể giải quyết chỉ bằng việc tìm hiểu một kỹ thuật và pattern duy nhất. Trong môi trường thực tế không tồn tại đáp án chính xác, bạn cần phải học hỏi các vấn đề và chủ đề đa dạng, đồng thời biết cách cân nhắc và kết hợp các trade-off tương ứng. Vậy phương pháp nào có thể đảm bảo khả năng mở rộng và khả năng phục hồi trong môi trường phân tán thông qua cách thức và phương pháp kết hợp như vậy??

Hãy khám phá những chủ đề đa dạng này và những đánh đổi (trade-off) liên quan thông qua khóa học này. 🚀

Đặc điểm của khóa học này

📌 Khóa học được xây dựng dựa trên kinh nghiệm và câu hỏi phỏng vấn thực tế từ phỏng vấn viên (lập trình viên) của Kakao

  • Được cấu trúc dựa trên những câu hỏi thực tế mà người phỏng vấn (developer) của Kakao đã hỏi trong buổi phỏng vấn. Không chỉ đơn thuần cung cấp câu trả lời cố định cho phỏng vấn, mà còn giải thích về trade-off cũng như ưu nhược điểm từ góc độ môi trường phân tán.

📌 Cấu trúc khóa học thông qua nhiều sơ đồ, tóm tắt bài giảng và thực hành code

  • Đây không phải là khóa học chỉ giải thích bằng lời nói đơn thuần, mà còn nâng cao hiệu quả học tập bằng cách cung cấp code thực tế, sơ đồ, sequence diagram, và thêm cả file tóm tắt ngắn gọn về nội dung bài giảng.


📌 Con đường tắt từ Junior đến Senior..! Môi trường phân tán

  • Thông qua khóa học này, bạn có thể tìm hiểu những vấn đề tồn tại trong MSA hoặc môi trường phân tán, cách giải quyết các vấn đề đó, đồng thời học một cách rõ ràng về ưu điểm và nhược điểm của chúng.


Khóa học này được đề xuất cho 👨‍🏫

🎯 Lập trình viên không chuyên ngành nhưng tò mò về thiết kế kiến trúc quy mô lớn

  • Những người muốn nhìn nhận dịch vụ từ góc độ kiến trúc, chứ không chỉ là một lập trình viên đơn thuần triển khai logic nghiệp vụ thông qua lập trình

🎯 Những người đã nghe về MSA nhưng chưa biết phương pháp thiết kế cụ thể

  • Những người tò mò về phương pháp thiết kế MicroService Architecture và sự đánh đổi đi kèm với nó

🎯 Lập trình viên backend đang quan tâm đến mở rộng dịch vụ và môi trường phân tán tại startup/doanh nghiệp lớn

  • Các nhà phát triển đang cân nhắc về cấu trúc kiến trúc dịch vụ và mở rộng cơ sở dữ liệu khi dịch vụ phát triển

🎯 Vượt qua microservice đơn giản, các developer muốn thiết kế kiến trúc phân tán phức tạp

  • Những người tò mò về kiến trúc phân tán phức tạp được triển khai thông qua MicroService Architecture và muốn tìm hiểu quy trình thiết kế này and want to get a glimpse of the design process

Lý lịch của nhà phát triển Kakao (người phỏng vấn) đã chuẩn bị khóa học này 🤭

Tôi là Choi (tên viết tắt), một lập trình viên backend server với 12 năm kinh nghiệm, hiện đang phát triển server tại Kakao và cũng hoạt động với vai trò là người phỏng vấn.

Tôi đã có dịp làm quen với Hong từ một Conference trước đây, và từ giữa chừng hoạt động giảng dạy, chúng tôi đã liên tục tích cực tham gia cùng nhau và tạo ra các khóa học với nhiều chủ đề khác nhau. Trong quá trình tạo ra các khóa học như vậy, việc trò chuyện và giao tiếp với nhiều người khác nhau là khoảng thời gian giúp ích rất nhiều cho sự nghiệp lập trình viên của tôi và có thể học hỏi được nhiều góc nhìn đa dạng, và tôi đang nỗ lực để đề cập đến nhiều chủ đề đa dạng hơn nữa.

Tôi nghĩ rằng chỉ có một lý lịch làm việc tại công ty lớn không chứng minh được bạn là một lập trình viên giỏi, nhưng ít nhất bạn có thể tiếp xúc với nhiều lưu lượng truy cập và kinh nghiệm hơn so với các nền tảng thông thường. Tôi sẽ luôn cố gắng lồng ghép và chia sẻ những phần này trong khóa học. Cảm ơn bạn.

[Hiện tại] Lập trình viên phát triển server tại trụ sở chính Kakao

[Trước] Chuyên ngành Công nghệ Máy tính 4 năm tại Seoul

Lưu ý

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

  • Viết code thực hành thông qua JavaScript.

  • Sử dụng Visual Studio Code làm IDE.

  • Tôi đã sử dụng Apple M3 Air


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

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

  • Lập trình viên đang sử dụng MSA nhưng không tự tin về kiến trúc

  • Người hay lo lắng mỗi khi gặp câu hỏi thiết kế hệ thống

  • Người đang cảm nhận được giới hạn của kiến trúc nguyên khối (monolithic) trong thực tế công việc

  • Dành cho những ai muốn hiểu môi trường phân tán theo luồng hơn là công thức

  • Lập trình viên backend muốn tiến thêm một bước như một nhà phát triển

Xin chào
Đây là Hong

7,535

Học viên

461

Đánh giá

142

Trả lời

4.7

Xếp hạng

25

Các khóa học

Giới thiệu bản thân

Tôi bắt đầu học lập trình sau một thời gian dài lười biếng ở nhà vì cảm thấy hứng thú với nó, và hiện tại tôi đang đảm nhận vai trò phát triển server nền tảng tại Pangyo. Tôi tiếp tục hoạt động với tư cách là người chia sẻ kiến thức vì muốn cung cấp cho các bạn phương pháp học tập của bản thân, cùng với những vấn đề và giải pháp thực tế mà các bạn có thể gặp phải trong công việc.

 

Bài giảng không chỉ được tạo ra từ kiến thức của riêng tôi. Mỗi bài giảng đều có sự đồng hành của những người cộng sự.

 

Kinh nghiệm của người chia sẻ kiến thức

[Cựu] Nhà phát triển Blockchain liên quan đến IP Sandbox

[Cựu] Nhà phát triển Backend Metaverse

[Hiện tại] Nhà phát triển máy chủ dày dặn kinh nghiệm tại Pangyo

 

Lịch sử phỏng vấn

Các thắc mắc khác

  • unduck2022@gmail.com

Thêm

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

Tất cả

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

9 đánh giá

5.0

9 đánh giá

  • shrse님의 프로필 이미지
    shrse

    Đánh giá 13

    Đánh giá trung bình 5.0

    5

    100% đã tham gia

    • byeongseogi492130님의 프로필 이미지
      byeongseogi492130

      Đánh giá 7

      Đánh giá trung bình 5.0

      5

      97% đã tham gia

      Có lẽ không có nội dung nào tốt hơn thế này để thiết lập một chủ đề mang tính lý thuyết. Mặc dù có phần viết mã, nhưng thay vì quá tập trung vào đó, nội dung này lại rất tốt để hệ thống lại kiến thức cá nhân, và xa hơn nữa là có nhiều góc nhìn đa dạng để học hỏi thêm những điều mới. Cảm ơn bạn, nội dung rất hay.

      • warna97725274님의 프로필 이미지
        warna97725274

        Đánh giá 5

        Đánh giá trung bình 5.0

        5

        90% đã tham gia

        Tôi đã xem một bài giảng rất bổ ích. Càng suy ngẫm về nội dung thì càng thấy đây thực sự là một bài giảng hữu ích và giúp tôi hiểu được nhiều quan điểm khác nhau. Thêm vào đó, giảng viên còn tổng hợp đầy đủ cả tài liệu thực hành và tài liệu lý thuyết đa dạng, tôi thật may mắn khi có thể xem được một bài giảng tuyệt vời như thế này trên Inflearn.

        • jhong
          Giảng viên

          Xin chào warna, cảm ơn bạn đã để lại đánh giá như vậy. Chúng tôi sẽ cố gắng cung cấp những khóa học bổ ích hơn nữa và mở rộng tầm nhìn cho các bạn. Chúc bạn một ngày tốt lành!

      • cchoii님의 프로필 이미지
        cchoii

        Đánh giá 12

        Đánh giá trung bình 5.0

        5

        93% đã tham gia

        Tôi là người chia sẻ kiến thức đang hoạt động với vai trò là interviewer và developer tại Kakao. Lần này, tôi đã cùng Hong chuẩn bị một khóa học giới thiệu các quan điểm đa dạng từ góc độ môi trường phân tán cũng như các pattern mà các bạn có thể tham khảo khi xây dựng dự án. Tôi đã cố gắng tối đa hóa những quan điểm mà tôi thường đặt ra trong các buổi phỏng vấn. Tiêu biểu như: 1. Làm thế nào để debug trong môi trường phân tán?? 2. Hãy giải thích các pattern mà bạn biết. 3. Bạn tiến hành test như thế nào tùy theo kiến trúc?? Nếu các bạn tập trung vào những nội dung này thì khóa học sẽ hữu ích hơn. Hy vọng các bạn sẽ thu được nhiều insight. Cảm ơn các bạn!

        • jhong
          Giảng viên

          Lần sau cũng chuẩn bị bài giảng bổ ích hơn nữa nhé hehe Cảm ơn~~

      • dkim72409371님의 프로필 이미지
        dkim72409371

        Đánh giá 10

        Đánh giá trung bình 5.0

        5

        31% đã tham gia

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

        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!

        1.370.182 ₫