강의

멘토링

커뮤니티

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) 6 reviews

96 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 a non-major, when I first prepared for developeremployment, I focused solely on algorithms and coding tests. I gained confidence and passed most coding tests. However, I kept failing at technical interviews, the next hurdle.
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 weren't easy. At a certain company's interview, I was asked about floating-point numbers. It was content I had definitely read multiple times in books and thought I understood, but I couldn't utter a single word. That's when I realized it. Passive learning through simply reading and understanding cannot provide answers in real situations.

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 into just a few sentences and speaking them out loud. 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

Interviewer What 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 the conceptual framework is not 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 ensures safe transmission... like that...

This is a case where you only know the What, but are missing 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 need to be connected as one cohesive flow in your mind. If you don't organize the concepts concretely, you won't be able to handle follow-up questions.


3. Getting tongue-tied on 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 naturally into a coherent sentence.
This is because we've never practiced explaining from definition to principles in one continuous flow.
This isn't a lack of knowledge, but an absence of structure.


Just knowing is not enough. It only becomes real 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 articulate CS fundamentals verbally

A major student who needs to reorganize again

I've studied before, but
I can't bring myself to reorganize all that vast amount of CS knowledge again

Don't open those thick textbooks
again.
We'll organize only the essentials clearly.

Non-CS majors who find CS overwhelming

I'm preparing for a technical interview
for the first time and don't know
where to start

By following the roadmap, you can
focus on learning only
the core CS concepts.

Job seekers with no time

Enough, I don't have time.
I need to quickly review only the CS topics

that come up in interviews

You can quickly review on your own with
lecture materials and
interview chapters available.

⚡ 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've compiled and organized the essential concepts and principles you must review before your interview

  • While building fundamental skills, I ultimately structured it to be used for interview preparation

  • It's 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 key content while learning with understanding of why it's important.

3⃣ Practical Interview Practice Chapter 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 is 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 key 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 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 even 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 while thinking of my past self who stayed up all night worrying about fundamentals and felt anxious about 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-studying countless materials and building my own know-how, I eventually graduated from Seoul National University and now work as a 🧑🏻‍💻 Kakao developer.

From a young age, I was more confident than anyone else in combining and reconstructing various materials to create my own 'comprehensive study notes.' This course is exactly that 'ultimate self-study know-how' and a secret notebook born from 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 major corporation. I have included in this course all the methods for how to most efficiently understand complex and abstract concepts and make them your own.

  • 'Fundamentals' are key in any development field: Whether you're aiming for game development, AI, web/app development, or any other field, basic knowledge of computer science 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, plus easy explanations infused with my practical experience, I promise to make even complex concepts click with that "Ah, now I get it!" moment.

🚀 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 threads share among code/data/stack

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


    → Provides a clear and structured explanation of the definition and functions of an 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 for disk I/O and the components of file systems by connecting them to actual structures.

📌 At the end of the course, 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,

      Threads 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 the main concepts once more in a Q&A format

You'll learn this 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

  • Visual understanding structure from process creation to scheduling and memory virtualization, step by step

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

  • We cover process synchronization techniques such as semaphores and mutexes, along with 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⃣Key Question Summary for Technical Interview Preparation

  • Practice summarizing common interview questions in one or two sentences

  • Organized into an "explainable state" rather than memorization-focused

  • Interview practice chapter included

Process Core 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


Technical Interview Master Roadmap

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,526

Learners

91

Reviews

9

Answers

4.9

Rating

7

Courses

학력 및 경력

  • 서울대학교 졸업

  • 現 카카오 개발자

     

배경

  • 컴퓨터 비전공자 출신

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

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

주요 이력

강의 철학

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

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

블로그

Contact

  • yiyj1030@gmail.com

Curriculum

All

22 lectures ∙ (3hr 7min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

6 reviews

5.0

6 reviews

  • revi1337님의 프로필 이미지
    revi1337

    Reviews 7

    Average Rating 5.0

    Edited

    5

    100% enrolled

    1. A lecture that shows how much the author has thought and considered from the student's perspective (seems to consider the learner's understanding flow) 2. Various visual materials and examples make it easy to understand 3. When learning knowledge, it mentions and reminds previous content while connecting knowledge. Knowledge connects and the big picture is drawn. 4. The depth of knowledge is not shallow. I'm taking operating systems right after computer architecture, and the synergy is good. 5. It scratches the itch for "why" & "why is it used" questions. ps. Sorry to the author, but... this is a lecture I want to keep to myself.

    • yiyj10305235
      Instructor

      Thank you, PrivilegeEscalate. It feels so touching that you seem to understand all the parts I worried about and paid attention to while creating the course :)

  • yji09030350님의 프로필 이미지
    yji09030350

    Reviews 87

    Average Rating 4.5

    5

    32% enrolled

    It's good for establishing operating system theory.

    • algochemy님의 프로필 이미지
      algochemy

      Reviews 9

      Average Rating 5.0

      5

      55% enrolled

      You explain the core content so cleanly and with such great flow that it's been incredibly helpful for learning CS knowledge. Just when I was feeling overwhelmed about buying the operating systems dinosaur book and studying it on my own, thanks to this lecture I'm learning well-organized knowledge. Taking it after computer architecture makes it even better! Thank you for the excellent lecture!!

      • yiyj10305235
        Instructor

        Thank you for the course review. I hope this lecture isn't the end and that we can continue the learning journey together. I look forward to seeing you again in the next series :)

    • jjhgwx님의 프로필 이미지
      jjhgwx

      Reviews 606

      Average Rating 4.9

      5

      55% enrolled

      Long ago, when studying for the Information Processing Engineer certification, I memorized this content, but now as a backend developer, I want to deeply understand and work with OS.

      • yiyj10305235
        Instructor

        Thank you for the course review. I hope this lecture isn't the end and that we can continue the learning journey together. I look forward to seeing you again in the next series :)

    • adrik님의 프로필 이미지
      adrik

      Reviews 2

      Average Rating 5.0

      5

      64% enrolled

      $18.70

      yiyj10305235's other courses

      Check out other courses by the instructor!

      Similar courses

      Explore other courses in the same field!