Inflearn brand logo image
Inflearn brand logo image
NEW
Career

/

Job Search & Hunting

Operating System: The Ultimate CS Study Notes to End Interview Failures

This is a core CS (computer-science) lecture, focusing on diagrams to easily explain and organize selected operating system concepts frequently encountered in practical work and interviews. It was designed so that even beginners can grasp the flow and quickly continue with subsequent learning. The slides themselves are structured to serve as reviewable summary notes. It is a 'foundation-building lecture' that you can revisit whenever your fundamentals waver.

5 students are taking this course

Interview
Operating System
Tech Interview
computer-science
Linux

What you will learn!

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

  • Common interview concepts: Thread, Deadlock, Virtual Memory, etc., with diagrams.

  • Foundational Summary to Confidently Answer Frequently Asked Operating System Questions in Technical Interviews

🚀 Introducing the second lecture of the CS Complete Conquest Roadmap [Operating System].


📕 Operating system, the core key for developers!

Operating systems are a key to understanding how the code developers write actually runs on the hardware, and are an essential subject that covers how computers "work."

  • Are you still confused about the difference between processes and threads ? ❓

  • Are you having trouble answering clearly which resources threads share: code/data/stack ? ❓

  • Are you having trouble explaining clearly what virtual memory is? Deadlock? Deadlock?

What if your head hurts just from looking at the word and you break out in a cold sweat when it comes up as an interview question?

This course is for those people, and it clearly organizes the core concepts of operating systems in a diagram-centered, flow-centered, and practical way. No more feeling lost!


🎯 This course will help you clearly answer the following questions:

  • What does an operating system do on a computer?


    → It clearly and structurally explains the definition and functions of the OS and its relationship with hardware.

  • How are processes and threads different, and how do states transition?
    → It neatly organizes complex concepts such as confusing state diagrams, context switching, and multithreading into diagrams.

  • How does the CPU select a process?
    → Intuitively compare and analyze the principles and pros and cons of various CPU scheduling algorithms such as preemptive/non-preemptive, FCFS, SJF, and round robin.

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

  • How does virtual memory work?
    → Paging, segmentation, page replacement algorithms, etc. are explained with rich visual aids so that even non-specialists can understand.

  • How are disks managed and scheduled?
    → It clearly organizes various scheduling techniques of disk I/O and the components of the file system by connecting them to the actual structure.

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

You can now practice answering core questions that frequently appear in technical interviews, such as “What is a deadlock?”, “Please give an example of a scheduling algorithm?”, and “Why is virtual memory necessary?”, in one or two sentences without hesitation.

💡 CS is the key to finding a successful developer job even for non-majors!

"I thought it would be over if I just passed the coding test. But it wasn't."

When I first started preparing for a developer job, I focused only on algorithms and coding tests. I gained some confidence and passed most of the coding tests. However, I continued to suffer defeat in the next hurdle, the technical interview.
What could have been the problem?

It was the lack of CS (computer science) knowledge . In interviews, CS fundamentals were considered much more important than algorithms. However, it was not necessary to delve into all CS subjects. There were core CS concepts that often appeared in technical interviews .

This course is a roadmap that systematically collects the scattered core CS knowledge. For those who were frustrated like me as a non-major, I have organized the complex CS theory clearly and concisely based on the flow. Furthermore, I have included a chapter on practicing key questions so that you can develop the 'explanatory ability' required in technical interviews. Now is the time to completely conquer CS and become a real developer.

Learn about these things

1⃣ Understanding core operating system concepts from a flow-oriented perspective

  • Provides a complete flow of how the operating system is connected to the CPU, memory, and disk.

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

Lecture Detail Table of Contents

2⃣ Complex OS concepts at a glance! Intuitive diagrams and handwriting usage

  • Complex OS concepts such as user mode/kernel mode, paging, and scheduling are explained step by step with handwritten notes on intuitive diagrams to help you understand them.

  • In particular, it aims for complete understanding rather than memorization of concepts by following the flow of how the CPU and operating system interact, execute programs, and process input/output with detailed diagrams.

Detailed process of executing program commands

3⃣ Complete analysis of 'deadlock' with code and diagram! In-depth analysis of OS core mechanisms

  • We cover process synchronization techniques such as semaphores and mutexes, as well as deadlock occurrence conditions and resolution strategies, in depth through actual code examples and resource allocation graph diagrams.

  • In addition, it provides essential knowledge required for interviews and practical work by analyzing complex algorithms and mechanisms in detail with visual materials, including virtual memory operation principles such as paging and segmentation , disk I/O scheduling, and file allocation methods .

Solving the critical section problem using semaphores

Process state transitions

Address translation technique of paging

Example of a file allocation scheme diagram

4⃣ Key Questions to Ask in Technical Interviews

  • Practice writing a sentence or two about common interview questions

  • Organize into an “explainable state” rather than a memorization-centered one

  • Includes interview practice chapter

Summary of key process questions

👀 Preview the lecture

If the video is frozen, please refresh :)

Description of the page replacement algorithm for virtual memory

Disk scheduling techniques explained

🖐 Hello! Let me introduce myself! 🙇

I created this course while thinking back to my past self, when I would stay up all night worrying about CS and feel anxious over a single interview question.

I started out as a non-major and I know better than anyone else the thirst for CS knowledge. I dug into countless materials on my own and built up my own know-how, and after graduating from Seoul National University, I ended up working as a Kakao developer .

Since I was young, I have been more confident than anyone else in combining and reorganizing various materials to create my own ‘one-volume notebook.’ This lecture is a secret notebook created by putting all of my passion and philosophy into it along with the ‘strongest self-study know-how .’

🔥 Why is this course special?

  • All my 'know-how' is included: I have put all my experience and know-how into this lecture, having studied CS on my own as a non-major and worked for a large company. I have included all the methods on how to most efficiently understand and internalize complex CS concepts.

  • In any development field, the 'basics' are key: Whether you're aiming for game development, AI, web/app development, or any other field, basic knowledge of computer science is not optional, it's essential. This course will help you become a real expert based on a solid foundation.

  • Compete with 'overwhelming quality': I extracted core keywords by referring to numerous references such as specialized books, lectures from famous universities, books on the market, and technical interview materials, and reorganized them in my own way. I promise to make even complex concepts "Ah, now I understand!" with intuitive diagrams and pictures, and easy explanations based on my practical experience.


🗣 Real Interviews, Why is 'Speaking Practice' Important? (My Vivid Experience)

Let me tell you about my experience. I was asked about floating point in a company interview. I thought I had read and understood it in the book many times, but I couldn't say a single word. I felt deeply that I couldn't answer in a real interview with just passive learning by reading and understanding.

You've probably experienced this at least once. You clearly studied and understood it well, but because you didn't organize it individually and practice speaking , your efforts were useless in real life.

In order to succeed in an interview, you need not only to accumulate a lot of knowledge, but also to be able to explain this knowledge. This 'ability to explain' is only cultivated through the practice of organizing concepts into just a few sentences and saying them out loud. In the process, you can also discover what you didn't know exactly.

My lectures don’t miss this point. After learning each key concept, we practice summarizing it into a few simple sentences in the interview format in the ‘Interview Practice’ chapter . Through this lecture, I will personally help you to make your knowledge shine in front of the interviewer.

💡 Curious about other CS lectures? Check out the roadmap below :)

Anyone can become a CS master! Pass the exam & improve your skills at the same time with the CS complete conquest roadmap !


From non-majors who have a vague understanding of CS concepts to candidates who desperately need to pass an interview in a short period of time!

It is designed to connect the core of computer science with an intuitive flow and to develop practical explanation skills that can be used immediately in interviews. Even complex concepts are explained with easy diagrams and explanations, so that even if you are studying alone, you can completely master them. It is designed so that even those who study alone can completely master the basic concepts, as it consists of slides that can be reviewed rather than presented.

The series structure is as follows:

Each course includes an interview practice chapter, so you can go beyond simple memorization and practice explaining and speaking. Join the roadmap now and take your development career to the next level!

Things to note before taking the class

  • Learning materials provided in the following formats: PDF

Recommended for
these people!

Who is this course right for?

  • CS beginners starting operating systems

  • Job/transfer applicants looking to quickly review OS theory for technical interviews.

  • A developer with vague or fragmented OS knowledge, wanting to grasp the flow.

Need to know before starting?

  • It's better if you take the [Computer Architecture] (free) lecture of this series first!

Hello
This is

학력 및 경력

  • 서울대학교 졸업

  • 現 카카오 개발자

     

배경

  • 컴퓨터 비전공자 출신

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

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

주요 이력

강의 철학

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

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

블로그

Curriculum

All

22 lectures ∙ (3hr 7min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

Not enough reviews.
Become the author of a review that helps everyone!

yiyj10305235's other courses

Check out other courses by the instructor!

Similar courses

Explore other courses in the same field!