강의

멘토링

커뮤니티

Career

/

Job Search & Hunting

[CS Technical Interview 2] Operating Systems That Click

This is a core CS (computer science) course that selects only the operating system concepts frequently encountered in practical work and interviews, explaining and organizing them easily with a focus on diagrams. It's designed so that even beginners can grasp the flow and quickly continue their subsequent learning. The slides themselves are structured to serve as reviewable summary notes. This is a 'foundation-building course' that you can return to whenever your basics feel shaky.

(5.0) 8 reviews

178 learners

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

Reviews from Early Learners

What you will gain after the course

  • Understanding core operating system concepts like CPU scheduling and process state transitions through flow

  • Organizing interview staple concepts like threads, deadlocks, virtual memory, etc. with diagrams

  • Fundamental preparation to confidently answer frequently asked operating system questions in technical interviews

🥲 Getting a developer job, coding tests weren't the end of it.

As a non-major, when I first prepared for a developer job, 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 wasn't enough to answer questions 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 practicing to organize concepts in just a few sentences and articulate them verbally. 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 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 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. Without organizing concepts concretely, you cannot prepare for 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 out easily.
Words like request, response, server, and client come to mind, but they don't flow together into a natural sentence.
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

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 that thick textbook
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 fact 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 an interview.

  • I structured it to build fundamentals while ultimately being usable 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⃣ Appendix [Interview Practice] 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.

  • At the end of the lecture materials, we include "answering in one or two sentences" training to reduce the effort of summarizing.


📘 Technical Interview Practical WorkbookProvided

"How can I maximize my learning efficiency even more?"
"Will this course alone really be enough for speaking practice?"

After much deliberation, the Technical Interview Practice Workbook was born.
You can practice by speaking out loud as if in a real interview.

This is a file provided separately from the lecture materials,
and it focuses on enabling you to express
what you've understood in your own words.

Curious about the workbook structure or how to use it?
You can check it out in detail right now in the workbook introduction video at the beginning of the course.

Workbook PDF Preview

💡 Use it like this

1⃣ Download the materials and learn key concepts while listening to the lectures.
2⃣ Take notes on important parts to create your own CS interview notes.
3⃣ Save them on your phone and review them briefly whenever you have spare time.

If you have an interview coming up,
and don't have much time → Use the appendix [Interview Practice] in the course materials to quickly sharpen your interview skills.
If you have time → Complete your speaking practice like a real interview with the Technical Interview Practice Workbook.

💬 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 while thinking of my past self, who stayed up all night worrying about fundamentals and had my heart racing over a single interview question.

I started as a non-CS major and understand better than anyone the thirst for fundamentals (CS knowledge, programming languages, etc.). After diving into countless materials through self-study 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 comprehensive study notes.' This course is a secret notebook born from that '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-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 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 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, 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 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?


    → 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 cleanly organize complex concepts including confusing state diagrams, context switching, and multithreading with clear 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 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

  • 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 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 paging, segmentation, and other virtual memory operating principles 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 schematic examples

4⃣Key Questions 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 Technique Explanation

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

🔗 Technical Interview Master Roadmap


Technical Interview Mastery Roadmap

Pre-enrollment Reference Information

  • Learning materials format provided: PDF

Recommended for
these people

Who is this course right for?

  • Computer science (CS) beginners learning operating systems for the first time

  • Job seekers and career changers who want to quickly organize operating system theory for technical interview preparation

  • Developers who find OS concepts overwhelming or have fragmented knowledge and want to grasp the overall flow

Need to know before starting?

  • Taking the [Computer Architecture](free) course from this series beforehand would be even better!

Hello
This is

2,500

Learners

121

Reviews

14

Answers

4.9

Rating

7

Courses

About Me

  • 카카오에서 서버 개발자로 일하며, CS 개념을 빠르게 이해하고
    면접에서 말로 풀어낼 수 있도록 돕는 '말이 트이는 CS' 시리즈를 만들고 있습니다.

 

학력 및 경력

  • 서울대학교 졸업

  • 현 카카오 서버 개발자

 

강의 철학

컴퓨터 비전공자로 개발을 시작해 CS 기초부터 기술 면접까지 직접 정리하며 시행착오를 많이 겪었습니다. 그 과정에서 쌓인 학습법과 개념 정리 노하우를 바탕으로, 실무와 면접에서 꼭 마주치는 핵심만 선별해 도해와 쉬운 흐름으로 누구나 이해하고 설명할 수 있도록 만드는 콘텐츠를 제작하고 있습니다.
"그때의 저에게 필요했던 강의를 만들고 있습니다."

 

강의 스타일

  • 핵심만 3~4시간에 압축

  • 도해 중심의 구조적 설명

  • 면접 질문을 기준으로 구성

  • 워크북으로 실전 답변까지 연습

 

블로그

  • yiyj1030.tistory.com
    → CS, 알고리즘, 실무 개념을 쉽고 정리하는 기술 블로그 운영 중

     

 

Contact

yiyj1030@gmail.com

Curriculum

All

25 lectures ∙ (3hr 20min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

8 reviews

5.0

8 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 609

      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 :)

    • asd21123님의 프로필 이미지
      asd21123

      Reviews 11

      Average Rating 4.5

      5

      32% enrolled

      This is so good

      $18.70

      yiyj10305235's other courses

      Check out other courses by the instructor!

      Similar courses

      Explore other courses in the same field!