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) 수강평 8개

강의소개.상단개요.수강생.short

난이도 초급

수강기한 무제한

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

강의상세_배울수있는것_타이틀

  • 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


강의소개.콘텐츠.추천문구

학습 대상은 누구일까요?

  • 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

강의소개.지공자소개

6,391

수강생

417

수강평

128

답변

4.7

강의 평점

23

강의_other

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

더보기

커리큘럼

전체

29개 ∙ (강의상세_런타임_시간 강의상세_런타임_분)

해당 강의에서 제공: [object Object]
강의 게시일: 
마지막 업데이트일: 

수강평

전체

8개

5.0

8개의 수강평

  • dkim72409371님의 프로필 이미지
    dkim72409371

    수강평 8

    평균 평점 5.0

    5

    31% 수강 후 작성

    • warna97725274님의 프로필 이미지
      warna97725274

      수강평 4

      평균 평점 5.0

      5

      90% 수강 후 작성

      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
        지식공유자

        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!

    • arton7278님의 프로필 이미지
      arton7278

      수강평 4

      평균 평점 4.3

      5

      62% 수강 후 작성

      • cchoii님의 프로필 이미지
        cchoii

        수강평 12

        평균 평점 5.0

        5

        93% 수강 후 작성

        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
          지식공유자

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

      • shrse님의 프로필 이미지
        shrse

        수강평 10

        평균 평점 5.0

        5

        100% 수강 후 작성

        Hong님의 다른 강의

        지식공유자님의 다른 강의를 만나보세요!

        비슷한 강의

        같은 분야의 다른 강의를 만나보세요!

        강의상세.할인문구

        6.254 ₫

        21%

        1.352.983 ₫