강의

멘토링

커뮤니티

Programming

/

Back-end

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) 7 đánh giá

245 học viên

Độ khó Cơ bản

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

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

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à

5,970

Học viên

391

Đánh giá

127

Trả lời

4.7

Xếp hạng

22

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 khi cảm thấy hứng thú với nó trong lúc đang rảnh rỗi ở nhà, và hiện tại tôi đang đảm nhận việc 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 tôi đã học cũng như những vấn đề và giải pháp đa dạng mà các bạn có thể gặp phải trong thực tế.

 

Bài giảng không chỉ được tạo nên 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 tất cả các bạn.

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 Sandbox IP

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

[Hiện tại] Là một nhà phát triển server 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

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ả

7 đánh giá

5.0

7 đánh giá

  • cchoii님의 프로필 이미지
    cchoii

    Đánh giá 11

    Đá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~~

  • warna97725274님의 프로필 이미지
    warna97725274

    Đánh giá 3

    Đá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!

  • dkim72409371님의 프로필 이미지
    dkim72409371

    Đánh giá 8

    Đánh giá trung bình 5.0

    5

    31% đã tham gia

    • arton7278님의 프로필 이미지
      arton7278

      Đánh giá 4

      Đánh giá trung bình 4.3

      5

      62% đã tham gia

      • hsk7413388님의 프로필 이미지
        hsk7413388

        Đánh giá 12

        Đánh giá trung bình 5.0

        5

        62% đã tham gia

        1.350.612 ₫

        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!