What Interview Officials at Kakao Tell You: Distributed Environment You Must Know

This course explores microservice architecture and distributed environments not as a simple list of technologies, but from a 'design perspective' required in actual work and interviews. Starting from the differences between monolithic and MSA, it progressively covers incremental migration strategies, modular monoliths, clean architecture and hexagonal architecture, clearly explaining why each choice is necessary and the trade-offs involved. Through hands-on practice, you can directly verify the intent of the structure and learn about core issues inevitably encountered in distributed environments—such as data consistency, transactions, inter-service communication, and failure handling—through realistic scenarios. Based on actual questions and perspectives from Kakao interviewers, this course aims to go beyond simple knowledge acquisition and elevate your way of thinking about distributed systems to the next level.

(5.0) 9 reviews

262 learners

Level Basic

Course period Unlimited

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

Reviews from Early Learners

Reviews from Early Learners

5.0

5.0

Choi

93% enrolled

I'm a knowledge sharer who works as both an interviewer and developer at Kakao. This time, together with Hong, I've prepared a course that introduces various perspectives on distributed environments and several patterns you can reference when structuring your projects. I've tried to incorporate as much as possible the perspectives from which I typically ask questions in interviews. Representative examples include: 1. How do you debug in a distributed environment?? 2. Please explain the patterns you know. 3. How do you conduct testing according to architecture?? If you focus on these topics, you'll find this course even more beneficial. I hope you gain many insights. Thank you!

5.0

warna

90% enrolled

I really enjoyed this very informative lecture. The more I reflect on the content, the more I realize how beneficial it is and how many perspectives I can gain from this lecture. Additionally, you've organized various practical materials and theoretical resources, so I feel very fortunate to have been able to watch such a great lecture on Inflearn.

5.0

이병석

97% enrolled

I don't think there could be any better content for establishing a theoretical topic. While there is some code writing, it is great for organizing personal knowledge rather than focusing solely on that, and it offers various perspectives that allow for further new learning. I really enjoyed the great content.

What you will gain after the course

  • Design Perspective for Understanding Distributed Environments at a Glance

  • Clear criteria for deciding on MSA architecture

  • The ability to explain architectural trade-offs on your own

  • A design approach that naturally incorporates testability and scalability

  • Knowledge to confidently discuss design in interviews and practical work

How should we manage ACID in an MSA environment??🤔

  • The content below is from an actual conversation.

😄 Hong : I've been thinking about lectures lately - what do you think about covering MSA, you know, distributed environments in general?

😁 Kakao Interviewer (Developer) : Suddenly?? Why??

😄 Hong : It's tough to get a job these days... Even if you pass the document screening, many people fail at the interview stage, so I thought it might help those preparing if we cover theoretical aspects and approach things from a broader design perspective

😁 Kakao Interviewer (Developer) : Hmm... As I was preparing for interviews, I noticed that while people's specs and knowledge keep growing, it's a bit disappointing that they're stuck only within what they know, you know??

😁 Kakao Interviewer (Developer) : From this perspective, I think it would be good to cover various topics about distributed environments

😁 Toss Developer : I'm not an interviewer so I don't know about that part, but looking at new people coming in, the majority of cases are those who only know the common knowledge that everyone knows, without really understanding why we use this, what the pros and cons are, and such. They just think, "Isn't this just how you do it??"

😁 Toss Developer : There were many people who only explained it like this. That part is a bit disappointing.

😁 Kakao Interviewer (Developer) : Then I'll try making it with Hong. Since I haven't let go of being an interviewer yet, I think I can provide various perspectives when it comes to conducting interviews.

😄 Hong : Sounds good!! Then I'll prepare everything overall and let you know.

Are you using MSA, or a distributed environment?? 🤔

How do you write test code in the relationships between numerous service applications, and what concepts do you introduce to solve problems in distributed environments? Or how will you proceed with the migration process from monolithic to distributed environments?

In reality, you cannot solve these various problems from such a broad perspective by learning just one technique or pattern. In a real-world environment where there is no single correct answer, you need to learn about various problems and topics, and know how to consider and combine the trade-offs accordingly. Through these combination methods and approaches, what could be the way to ensure scalability and resilience even in distributed environments?

I hope you'll explore these various topics and their trade-offs while watching this course. 🚀

Features of This Course

📌 A course structured based on the know-how and interview questions of an actual Kakao interviewer (developer)

  • The content is structured based on actual interview questions asked by Kakao interviewers (developers). Rather than simply providing fixed answers to interview questions, it teaches you the trade-offs and pros and cons from a distributed systems perspective.

📌 Course structure with numerous diagrams, lecture summaries, and hands-on coding practice

  • This is not just a lecture that explains things with words alone, but one that enhances learning efficiency by providing actual code, diagrams, sequence diagrams, and additionally simple summary files of the lecture content.


📌 The shortcut from junior to senior..! Distributed environments

  • Through this course, you can clearly learn what problems exist in MSA or distributed environments, how to solve them accordingly, and what advantages and disadvantages they have.


I recommend this for: 👨‍🏫

🎯 Non-CS major developers who are curious about large-scale architecture design

  • Those who want to view services from an architectural perspective, not just as developers implementing business logic through programming

🎯 Those who have heard about MSA but didn't know the specific design methods

  • Those who are curious about the design approach of MicroService Architecture and its trade-offs

🎯 Backend developers at startups/large companies considering service scaling and distributed environments

  • Developers who are considering service architecture structure and database scaling as their service grows

🎯 Beyond simple microservices, developers who want to design complex distributed architectures

  • Those who are curious about complex distributed architectures implemented through MicroService Architecture and want to get a glimpse of the design process

Background of the Kakao developer (interviewer) who prepared this course 🤭

I'm Choi (abbreviated name), a backend server developer with 12 years of experience, currently working on server development at Kakao and also serving as an interviewer.

I connected with Hong at a Conference in the past, and since the middle of my teaching activities, we've been actively participating together and have created courses on various topics. Through creating these courses, conversing and communicating with various people has been very helpful in my developer career and I believe it's a time to learn diverse perspectives, so I'm striving to cover even more varied topics.

I don't think that a single credential of working at what is commonly called a large corporation proves that someone is a good developer, but I do believe it provides opportunities to experience and handle more traffic compared to typical platforms. I will always try to incorporate and share these aspects in my lectures. Thank you.

[Current] Server Developer at Kakao Headquarters

[Former] 4-year Computer Engineering major in Seoul

Notes

Practice Environment

  • I will write practice code using JavaScript.

  • Visual Studio Code is used as the IDE.

  • I used an Apple M3 Air


Recommended for
these people

Who is this course right for?

  • A developer who uses MSA but isn't confident about the architecture

  • People who get nervous whenever system design questions come up

  • Someone who is experiencing the limitations of monolithic architecture in practical work

  • For those who want to understand distributed environments through flow rather than formulas

  • Backend developers who want to take their skills to the next level

Hello
This is Hong

7,492

Learners

461

Reviews

142

Answers

4.7

Rating

25

Courses

Introduction

I started studying development after finding an interest in it while idling at home, and I am currently in charge of platform server development in Pangyo. I am continuing my activities as a knowledge sharer because I want to provide you with the methods I used to study, as well as the various problems and solutions you may encounter in practice.

 

These lectures are not created solely through my own knowledge. Every lecture is made together with others.

 

Instructor Experience

[Former] Blockchain developer related to Sandbox IP

[Former] Metaverse Backend Developer

[Current] A veteran server developer in Pangyo

 

Interview History

Other Inquiries

  • unduck2022@gmail.com

More

Curriculum

All

29 lectures ∙ (6hr 27min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

9 reviews

5.0

9 reviews

  • byeongseogi492130님의 프로필 이미지
    byeongseogi492130

    Reviews 7

    Average Rating 5.0

    5

    97% enrolled

    I don't think there could be any better content for establishing a theoretical topic. While there is some code writing, it is great for organizing personal knowledge rather than focusing solely on that, and it offers various perspectives that allow for further new learning. I really enjoyed the great content.

    • dkim72409371님의 프로필 이미지
      dkim72409371

      Reviews 10

      Average Rating 5.0

      5

      31% enrolled

      • warna97725274님의 프로필 이미지
        warna97725274

        Reviews 5

        Average Rating 5.0

        5

        90% enrolled

        I really enjoyed this very informative lecture. The more I reflect on the content, the more I realize how beneficial it is and how many perspectives I can gain from this lecture. Additionally, you've organized various practical materials and theoretical resources, so I feel very fortunate to have been able to watch such a great lecture on Inflearn.

        • jhong
          Instructor

          Hello warna, thank you for leaving this review. I will continue to provide more beneficial lectures and help broaden your insights. Have a great day!

      • cchoii님의 프로필 이미지
        cchoii

        Reviews 12

        Average Rating 5.0

        5

        93% enrolled

        I'm a knowledge sharer who works as both an interviewer and developer at Kakao. This time, together with Hong, I've prepared a course that introduces various perspectives on distributed environments and several patterns you can reference when structuring your projects. I've tried to incorporate as much as possible the perspectives from which I typically ask questions in interviews. Representative examples include: 1. How do you debug in a distributed environment?? 2. Please explain the patterns you know. 3. How do you conduct testing according to architecture?? If you focus on these topics, you'll find this course even more beneficial. I hope you gain many insights. Thank you!

        • jhong
          Instructor

          Let's prepare another more informative lecture next time haha Thank you~~

      • shrse님의 프로필 이미지
        shrse

        Reviews 13

        Average Rating 5.0

        5

        100% enrolled

        Hong's other courses

        Check out other courses by the instructor!

        Similar courses

        Explore other courses in the same field!

        $50.60