강의

멘토링

로드맵

Career

/

Job Search & Hunting

[CS Technical Interview 2] Operating Systems That Make Sense

Curated to include only operating system concepts frequently encountered in practice and interviews, this is a core CS (computer-science) lecture, easily explained and organized with a focus on diagrams. It was designed so that even those new to it can grasp the flow and quickly continue their learning. The slides themselves are structured to serve as reviewable summary notes. It's a 'foundational building lecture' that you can return to whenever your fundamentals are shaky.

(5.0) 4 reviews

84 learners

  • yiyj10305235
비전공자
운영체제
computer-science
면접
3시간 만에 완강할 수 있는 강의 ⏰
Operating System
Tech Interview
kakao-tech
kakao-recruitment

Reviews from Early Learners

What you will learn!

  • Understanding the flow of OS core concepts: CPU scheduling, process state transitions, etc.

  • Organizing common interview concepts like Thread, Deadlock, and Virtual Memory, along with diagrams.

  • Core OS Prep for Confident Tech Interview Answers

💬 Getting a developer job - coding tests weren't the end of it.

As someone from a non-computer science background, I initially focused only on algorithms and coding tests when preparing for my first developer job. I gained some confidence and passed most coding tests. However, I kept failing at the next hurdle: technical interviews.
What was the problem? It was the lack of CS (Computer Science) knowledge. In interviews, CS fundamentals were considered much more important than algorithms.

🗣 For actual interviews, 'speaking practice' was important.

Even after filling in my CS fundamentals, interviews were still not easy. In an interview at a certain company, I was asked about floating-point numbers. It was content I thought I had read and understood multiple times in books, but I couldn't utter a single word. I painfully realized that passive learning through simply reading and understanding wasn't enough to answer questions in real interviews.

To succeed in interviews, you need not only to accumulate a lot of knowledge but also the ability to explain this knowledge. This 'ability to explain' can only be developed through practice of organizing concepts in just a few sentences and verbalizing them. Through this process, you can also discover what you didn't know precisely. Without sufficient practice, you'll encounter the following problems.


1. Conceptual Confusion Type

InterviewerWhat are the characteristics of object-oriented programming?
💬 Candidate The SOLID principles. First, S is..(omitted)...

This is a case of confusing similar concepts.
SOLID is an OOP design principle, and the characteristics of object-oriented programming are abstraction, encapsulation, inheritance, and polymorphism.
The moment you mix up related concepts, the interviewer judges that 'your fundamentals are shaky.'
It's not just a simple mistake, but rather it's read as a signal that your conceptual framework is not solidly established.


2. Lack of Specificity Type

Interviewer What are the characteristics of TCP?
💬 Candidate It's a protocol that guarantees reliability.
Interviewer What are the mechanisms that guarantee reliability?
💬 Candidate Uh... well... it makes transmission secure... like that...

This is a case where you only know the What, but lack the How/Why.
You only know the superficial answers and aren't prepared to explain the underlying principles.
TCP establishes communication through connection (3-way handshake), ensures reliability through RDT (sequence numbers, ACK, retransmission, etc.), and maintains quality through flow control and congestion control.
These concepts should be connected as one coherent flow in your mind. Without organizing concepts concretely, you cannot prepare for follow-up questions.


3. Getting tongue-tied with basic questions

Interviewer What is HTTP?
💬 Candidate Um... it's for sending and receiving data on the web... something like that...?

It's such a familiar concept, but when asked to explain it in one sentence, the words don't come easily.
Words like request, response, server, and client come to mind, but they don't flow into natural sentences.
This is because we've never practiced explaining from definition to principles in one coherent flow.
This isn't a lack of knowledge, but an absence of structure.


Just knowing is not enough. It only becomes true skill when you can express it in words.

🎯 Recommended for these people

Non-majors · Job seekers · Career changers and others who are preparing for technical interviews and need to be able to verbally organize CS fundamentals

  • "I've studied before, but I can't bring myself to reorganize all that vast CS knowledge again"
    → You don't need to open your textbooks again. We'll structure and clearly organize only the core essentials.

  • "I need to prepare for technical interviews, but as a non-CS major, I don't know which subjects to study or how to approach them."


    Follow the roadmap to focus on learning only the core CS concepts.


  • "Enough, I don't have time. I need a way to quickly study only the core topics that are likely to be covered in interviews"
    → Detailed lecture materials and interview practice chapters are prepared that allow for quick self-study even when studying alone.

⚡ Lecture Core Kick

1⃣ Short and highly focused runtime

  • With a comfortable lecture duration, you can complete the course even with a busy schedule and quickly review right before interviews

  • Compressed to the essentials, designed so you can complete the entire course in a short amount of time

  • I focused on the point that the greatest learning effect comes from completing the course itself, rather than accumulating courses like shopping.

2⃣ Interview-focused lectures summarizing only the essentials

  • I have compiled and organized the essential concepts and principles that must be reviewed before interviews

  • I structured it to build fundamentals while ultimately being usable for interview preparation.

  • Not just a simple summary, but structured with diagrams and easy explanations so that even non-majors can fully understand it.

  • You can quickly organize the main content while learning with understanding of why it's important.

3⃣ Practical Interview Practice Chapters Included

  • In interviews, the ability to explain things clearly is much more important than simply knowing something

  • However, organizing and practicing on your own is not easy and can be a tedious task.

  • This course includes "answer in one or two sentences" training at the end of each section to reduce the effort of summarizing.


💡 Use it like this

1⃣ Download the materials and listen to the lectures to learn the core concepts.
2⃣ Take notes on the necessary parts to create your own CS interview notes.
3⃣ Save them on your phone and open them anytime for review.
4️⃣ You can improve your interview skills in a short amount of time.

💬 Q. The lecture time is short, but will I be able to learn properly?

This course is short, but it's 'not shallow'.
We've compressed vast content to organize only the core essentials that are actually asked in interviews.
We've removed unnecessary theory and cover topics deeply enough to answer follow-up questions.
If you want to use your limited time most efficiently, the short runtime will actually become your most powerful weapon.

🖐 Hello! Let me introduce myself! 🙇

I created this course thinking of my past self, who stayed up all night worrying about fundamentals and felt anxious over every single interview question.

I started as a non-CS major and understand better than anyone the thirst for fundamentals (CS knowledge, programming languages, etc.). Through self-study of countless materials and building my own know-how, I eventually graduated from Seoul National University and now work as a 🧑🏻‍💻 Kakao developer.

Since childhood, I've been more confident than anyone in combining and reconstructing various materials to create 'my own consolidated study notes.' This course is precisely that secret notebook born from my 'ultimate self-study know-how' and all my passion and philosophy.

🔥 What makes this course special?

  • All of my 'know-how' is included: As a non-CS major, I have fully incorporated my experience and know-how of self-studying CS and programming languages and getting hired at a large corporation. I have put all the methods of how to most efficiently understand complex and abstract concepts and make them your own into this course.

  • 'Fundamentals' are key in any development field: Whether you're aiming for game development, AI, web/app development, or any other field, basic computer science knowledge is not optional but essential. This course helps you become a true expert based on solid fundamentals.

  • We compete with 'overwhelming quality': I've referenced countless materials including textbooks, famous university lectures, commercial books, and technical interview resources to extract core keywords and reconstruct them in my own unique way. With intuitive diagrams and illustrations, combined with easy explanations infused with my practical experience, I promise to make even complex concepts feel like "Ah, now I get it!"

🚀 Introducing the second lecture [Operating Systems] from the Technical Interview Master Roadmap.


📕 Operating Systems, the Core Key for Developers!

Operating systems are the key to understanding how code written by developers actually runs on hardware, and an essential subject that deals with "how computers work."

  • Still confused about the difference between processes and threads

  • Is it difficult to clearly answer which resources among code/data/stack are shared by threads

  • Is it difficult to clearly explain what virtual memory is? Deadlock? Deadlock

If just seeing the word gives you a headache and you break out in cold sweat when it comes up as an interview question?

This course is designed specifically for those people, providing a clear and comprehensive overview of core operating system concepts through diagrams, flow-based explanations, and practical applications. No more feeling overwhelmed!


🎯 Through this course, you will be able to clearly answer the following questions.

  • What does an operating system do in a computer?


    → Structurally and clearly explains the definition and functions of the OS, as well as its relationship with hardware.

  • How are processes and threads different, and how do their states transition?
    → We'll clearly organize complex concepts including confusing state diagrams, context switching, and multithreading with clean diagrams.

  • How does the CPU select processes?
    → Intuitively compare and analyze the principles, advantages, and disadvantages of various CPU scheduling algorithms such as preemptive/non-preemptive, FCFS, SJF, round robin, etc.

  • Why does Deadlock occur and how can it be resolved?
    → Learn in-depth through various cases including resource allocation graphs, deadlock occurrence conditions, and avoidance/prevention/detection and recovery methods.

  • How does virtual memory work?
    → Explains paging, segmentation, page replacement algorithms, and more with rich visual materials so that even non-majors can understand.

  • How are disks managed and scheduled?
    → We clearly organize the various scheduling techniques of disk I/O and the components of file systems by connecting them to actual structures.

📌 At the end of the lecture, a practical interview practice chapter awaits you.

You can now practice answering core questions that frequently appear in technical interviews, such as "What is deadlock?", "Please explain examples of scheduling algorithms", and "Why is virtual memory necessary?", by training yourself to respond fluently in one or two sentences without hesitation.

📖 A curriculum packed with only the essentials

This is the table of contents and key keywords you will learn in this course.

If there are any unfamiliar keywords, make sure to master them thoroughly with this opportunity.

  1. What is an Operating System

    • Definition and Functions of Operating Systems,

      Hardware managed by the operating system


  2. Hardware Execution Process

    • Kernel mode and user mode, interrupts,

      System call,

      Program Execution Process

  3. Process

    • Process context and state,

      Process Control Block,

      Thread and Multi-threading

  4. CPU Scheduling

    • CPU scheduling performance metrics and various

      CPU Scheduling Algorithms,

      Context switching

  5. Process Synchronization and Deadlock

    • Race Condition, Critical Section,

      Semaphore, Mutex,

      Deadlock

  6. Memory Management & Virtual Memory

    • RAM, MMU,

      Paging,

      Segmentation, Virtual Memory, Page Replacement Algorithms


  7. File System & Disk Management

    • File protection, file allocation methods,

      Hard disk data components,

      Disk Scheduling Techniques

  8. [Appendix] Interview Practice

    • Review key concepts once more in Q&A format

You'll learn this kind of content

1⃣Understanding Core Operating System Concepts with a Flow-Centered Approach

  • Provide the overall flow of how the operating system is connected to the CPU, memory, and disk

  • Step-by-step visual understanding from process creation to scheduling and memory virtualization

Course Detailed Curriculum

2⃣Complex OS concepts at a glance! Using intuitive diagrams and handwritten notes

  • It helps you understand complex OS concepts such as user mode/kernel mode, paging, and scheduling step by step by adding handwritten notes directly on intuitive diagrams.

  • In particular, we will follow the flow of how the CPU and operating system interact to execute programs and handle input/output with detailed diagrams, aiming for complete understanding rather than rote memorization of concepts.

The detailed process of executing program instructions

3⃣ Perfect Dissection of 'Deadlock' with Code and Diagrams! In-depth Analysis of Core OS Mechanisms

  • It covers process synchronization techniques such as semaphores and mutexes, and deadlock occurrence conditions and resolution strategies in depth through actual code examples and resource allocation graph illustrations.

  • Additionally, from virtual memory operating principles such as paging and segmentation to disk I/O scheduling and file allocation methods, we provide detailed analysis of complex algorithms and mechanisms with visual materials to deliver essential knowledge needed for interviews and practical work.

Solving Critical Section Problems Through Semaphores

Process State Transitions

Address Translation Techniques in Paging

File Allocation Method Diagram Examples

4⃣Summary of Key Questions for Technical Interview Preparation

  • Practice summarizing common interview questions in one or two sentences

  • Organized into an "explainable state" rather than focusing on memorization

  • Interview Practice Chapter Included

Core Process Questions Summary

👀 Course Preview

If the video is frozen, please refresh the page :)

Explanation of Page Replacement Algorithms in Virtual Memory

Disk Scheduling Techniques Explanation

💡 Curious about other interview preparation courses? Check out the roadmap below :)

🔗 Technical Interview Master Roadmap


From non-majors unfamiliar with CS concepts to job seekers desperately needing to pass interviews in a short time!

This is designed to connect the core concepts of computer science(computer-science) through an intuitive flow and develop practical explanatory skills that can be immediately applied in interviews. This roadmap covers not only computer architecture, operating systems, networks, databases, and data structures, but also the fundamentals of programming languages like Java.


This complete roadmap consists of a total of 384 pagesof comprehensive core materials, 135lectures, and a total of 17 hours and 01 minutesof intensive curriculum. All lectures break down even complex concepts with easy-to-understand diagrams and explanations, allowing you to master them completely on your own. Composed of reviewable slidesrather than presentation materials, it helps you make fundamental concepts completely your own.


The series structure is as follows:

Pre-enrollment Reference Information

  • Learning materials format provided: PDF

Recommended for
these people

Who is this course right for?

  • First-time CS OS learner

  • Job/career changers seeking a swift OS theory review for technical interviews.

  • Developer who finds OS concepts vague or only knows them piecemeal, and wants to grasp the overall flow.

Need to know before starting?

  • It's better to take this series' [Computer Architecture] (free) lecture!

Hello
This is

1,353

Learners

82

Reviews

8

Answers

4.9

Rating

6

Courses

학력 및 경력

  • 서울대학교 졸업

  • 現 카카오 개발자

     

배경

  • 컴퓨터 비전공자 출신

  • 독학으로 개발을 시작해 CS 기초부터 기술 면접까지 직접 체계적으로 정리하며 준비

  • 시행착오를 겪으며 쌓은 학습법과 개념 정리 노하우를 꾸준히 콘텐츠로 제작해옴

주요 이력

강의 철학

  • 실무와 면접에서 꼭 마주치는 핵심만 선별해,
    쉬운 설명과 도해로 누구나 이해하고 확장할 수 있도록 설계

  • “그때의 저에게 필요했던 강의를 만들고 있습니다”

블로그

Contact

  • yiyj1030@gmail.com

Curriculum

All

22 lectures ∙ (3hr 7min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

4 reviews

5.0

4 reviews

  • PrivilegeEscalate님의 프로필 이미지
    PrivilegeEscalate

    Reviews 7

    Average Rating 5.0

    Edited

    5

    100% enrolled

    1. 저자가 수강생 입장에서 얼만큼 생각해봤고 고민해봤는지 보이는 강의 (학습자의 이해 흐름을 고려한거 같음) 2. 시각자료와 예제가 다양해 이해가 수월함 3. 지식을 배울 때, 이전에 배운 내용을 언급 및 상기시켜주며 지식을 연결시킴. 지식이 연결되며 큰 그림이 그려짐. 4. 지식의 깊이가 얕지 않음. 컴구 듣고 바로 운체듣는 중인데, 시너지가 좋음. 5. "왜" & "왜 사용하는지" 궁금한점을 벅벅 긁어줌. ps. 저자님한텐 죄송하지만.. 나 혼자만 알고싶은 강의임.

    • 이용준
      Instructor

      PrivilegeEscalate님 감사합니다. 강의를 제작하면서 고민하고 신경썼던 부분을 모두 알아주시는 느낌이라 감동이네요 :)

  • 바키라님의 프로필 이미지
    바키라

    Reviews 87

    Average Rating 4.5

    5

    32% enrolled

    운영체제 이론 정립에 좋습니다.

    • algochemy님의 프로필 이미지
      algochemy

      Reviews 9

      Average Rating 5.0

      5

      55% enrolled

      핵심이 되는 내용을 엄청 깔끔하고 흐름있게 잘 설명해주셔서 CS지식 학습에 정말 많은 도움이 되고 있습니다. 운영체제 공룡책을 사서 독학하기에는 부담스러웠던 찰나, 본 강의 덕분에 정리된 지식을 잘 배우고 있습니다. 컴퓨터 구조에 이어서 들으니 더 좋은 것 같습니다! 좋은 강의 감사드립니다!!

      • 이용준
        Instructor

        수강평 감사합니다. 이 강의에서 끝나지 않고 배움의 여정을 계속 함께하면 좋겠습니다. 다음 시리즈에서 또 뵙길 기다리겠습니다 :)

    • Jang Jaehoon님의 프로필 이미지
      Jang Jaehoon

      Reviews 597

      Average Rating 4.9

      5

      55% enrolled

      오래전 정보처리기사 공부를 하며, 외워서 공부하던 내용인데, 지금은 백엔드 개발자로서 OS를 깊게 이해하고 다루고 싶습니다.

      • 이용준
        Instructor

        수강평 감사합니다. 이 강의에서 끝나지 않고 배움의 여정을 계속 함께하면 좋겠습니다. 다음 시리즈에서 또 뵙길 기다리겠습니다 :)

    $18.70

    yiyj10305235's other courses

    Check out other courses by the instructor!

    Similar courses

    Explore other courses in the same field!