강의

멘토링

커뮤니티

Programming

/

Algorithm & Data Structure

# [CS Technical Interview 5] Data Structures That Click

This is a core CS (computer science) course that organizes essential data structure concepts required in both practical work and interviews, centered on intuitive flow and diagrams. It covers the full range from arrays and lists to trees, graphs, and heaps, carefully selecting only the core concepts. Rather than simple enumeration, it's designed with a connected structure so that even beginners can quickly understand the overall context. The slides are organized in a study note format suitable for review, and are especially recommended for those who want a final check before interviews or to solidify their foundational concepts.

(4.9) 14 reviews

168 learners

  • yiyj10305235
자료구조
면접
코딩테스트
알고리즘
3시간 만에 완강할 수 있는 강의 ⏰
Interview
computer-science
data-structure
kakao-tech
kakao-recruitment

Reviews from Early Learners

What you will gain after the course

  • Arrays, lists, stacks, queues, trees, graphs, heaps - the principles and implementation methods of major data structures

  • # Selection Criteria Through Comparison of Time/Space Complexity and Pros/Cons of Each Data Structure

  • Foundational Guide to Confidently Answer Common Data Structure 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 was obsessed only with algorithms and coding tests. I gained some 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.

🗣 In real interviews, 'speaking practice' was important.

Even after filling in my CS fundamentals, interviews were not easy. At a certain company's interview, I was asked about floating-point numbers. It was content I had definitely read and thought I understood multiple times in books, but I couldn't utter a single word. That's when I realized it. Passive learning through simply reading and understanding cannot help you answer in real situations.

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


1. Concept Confusion Type

InterviewerWhat are the characteristics of object-oriented programming?
💬 Candidate The SOLID principles. First, S stands for..(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 isn't solidly established.


2. Lack of Specificity Type

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

This is a case where you only know the What, but lack the How/Why.
You only know the superficial answer and aren't prepared to explain the underlying principles.
Communication is agreed upon through TCP connection (3-way handshake), reliability is guaranteed through RDT (sequence numbers, ACK, retransmission, etc.), and quality is maintained through flow control and congestion control.
These concepts need to be connected as a single flow in your mind. If you haven't organized the concepts concretely, you won't be able to handle follow-up questions.


3. Getting Stuck 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, yet when asked to explain it in one sentence, the words don't come easily.
Terms 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 principle in one continuous flow.
This isn't a lack of knowledge—it's an absence of structure.


Knowing alone is not enough. It becomes true skill only when you can explain it in words.

🎯 Recommended for

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

Students who need to reorganize their major studies

I've studied it before, but
I can't bring myself to organize all that 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 limited time

That's enough, I don't have time.
I just need to quickly review

the CS topics that come up in interviews

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

⚡ Course Essentials Kick

1⃣ Short and highly focused runtime

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

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

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

2⃣ Interview-focused lectures with only the essentials

  • I've gathered and organized all the essential concepts and principles you must review before your interview

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

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

  • You can quickly organize key content while understanding why it's important as you learn.

3⃣ Appendix [Interview Practice] Included

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

  • But organizing and practicing on your own is not easy and can be tedious work

  • At the end of the lecture materials, we include "Answer in One or Two Sentences" training to reduce the effort of summarizing.


📘 Technical Interview Practice 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 as if in a real interview by speaking out loud.

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 watching the lectures.
2⃣ Take notes on important parts to create your own CS interview notes.
3⃣ Save them on your phone and review briefly whenever you have 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 - will I be able to learn properly?

This course is short, but it's 'not shallow'.
We've condensed vast amounts of content to cover only the core topics actually asked in interviews.
We've removed unnecessary theory and cover topics in depth enough to answer follow-up questions.
If you want to use your limited time most efficiently, the short runtime will actually be your strongest advantage.

🖐 Hello! Let me introduce myself! 🙇

I created this course remembering my past self, who stayed up all night worrying about the fundamentals and felt anxious 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.

From a young age, I was more confident than anyone in combining and reconstructing various materials to create 'my own consolidated 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 contained here: As a non-major, I've fully incorporated my experience and know-how of self-studying CS and programming languages and getting hired at a large corporation. This course contains 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 pursuing game development, AI, web/app development, or any other field, foundational knowledge in computer science is not optional—it's essential. This course helps you become a true expert by building a solid foundation.

  • 'We compete with overwhelming quality': I've extracted key concepts by referencing numerous materials including textbooks, lectures from prestigious universities, commercial books, and technical interview resources, then reconstructed them in my own unique way. With intuitive diagrams and illustrations, combined with easy-to-understand explanations infused with my practical experience, I promise to make even complex concepts click with an "Ah, now I get it!" moment.

🚀 Introducing the fifth lecture [Data Structures] from the Technical Interview Master Roadmap.


📕 Data Structures: Develop Your Intuition for 'When to Use What!'

Data structures go beyond simply knowing the concepts,

  • Still confused about when to use stacks and queues

  • Are you struggling to understand how complex data structures like trees and graphs are applied to real-world problems

In other words, it's a subject where you need to develop an intuition for "when and which structure is best to use?" However, for beginners, various structures are scattered in fragments, and it often leads to frustration because they can't grasp where and how stacks/queues/trees/graphs are used.

This course is designed specifically for such individuals, delivering the core concepts of each data structure intuitively through diagram-centered visualization, and clearly comparing the pros and cons and selection criteria for each structure so you can easily understand and remember them for a long time. I strongly recommend this course to those who have done basic coding but found data structures overwhelming, and those who want to organize their CS theory knowledge.


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

How do arrays and linked lists differ in structure, and what situations is each suitable for?
→ Explains the core concepts visually, focusing on the differences in memory layout, access methods, and insertion/deletion operations.

How do stacks and queues process data according to their rules?
→ We organize the LIFO and FIFO principles with diagrams and examples, and also convey their practical application contexts.

What are the structural differences between trees and graphs?
→ We've organized the content to help you clearly understand and distinguish essential concepts such as hierarchical structure, presence of cycles, and traversal methods.

When is a heap useful?
→ Through priority queues and the principles and implementation methods of min/max heaps, we systematically explain how heaps work.
→ We also cover practical use cases such as sorting and scheduling.


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

"What is the difference between arrays and lists?", "What are the conditions for a good hash function?",
"What is a heap data structure?" - you can
practice organizing and articulating answers to frequently asked technical interview questions like these.

📖 A curriculum packed with 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 grasp them firmly this time.

  1. Data Structures Overview

    • Data Structure Classification, Time Complexity and Space Complexity

  2. Arrays and Lists

    • Advantages and disadvantages of arrays, advantages and disadvantages of lists, various types of lists

  3. Stack and Queue

    • Stack, Queue, Deque

  4. Hash Table

    • Hash Functions, Methods for Resolving Hash Function Collisions

  5. Graph

    • Types of Graphs, Graph Implementation, Graph Traversal (BFS, DFS)

  6. Tree

    • Types of Trees, Binary Search Tree, Binary Tree Traversal, AVL Tree, Trie Data Structure

  7. Heap

    • Heap Operations, Heap Implementation and Usage, Priority Queue

  8. [Appendix] Interview Practice

    • Review the key concepts once more in Q&A format

✏ Here's what you'll learn

1⃣ Understanding Data Structures Through Structure and Operational Flow

  • Arrays, lists, queues, stacks, hashes, graphs, trees, heaps, etc.
    Visualizing the basic structure and operating principles of each data structure with diagrams

  • Even those encountering it for the first time can understand how data flows as if looking at a diagram

The Principles of Heap Operations Explained with Diagrams

2⃣ Establishing criteria for choosing which data structure to use and when

  • Advantages and disadvantages, time complexity, and use cases of each data structure through comparative analysis

  • Which data structure to use for each problem situation
    Presented with both practical work intuition and algorithm problem-solving criteria

Comparison of Time Complexity and Space Complexity

3⃣ Analyzing the Implementation Code in Detail to Understand How It Works

  • Learn key data structures with code implementations

  • Instead of simply listing features, it follows the implementation flow
    explaining why it's designed this way and what logic is needed for which operations

Implementation Code for Heap Operations (Python)

Implementation of Queue Using Linked List

Implementing BST Insertion Using Recursive Structure

2⃣ Short Sentence Explanation Training for Technical Interviews

  • "What's the difference between a stack and a queue?", "Why do hash collisions occur and how do you resolve them?" etc.
    Includes practice explaining common interview questions in one or two sentences

  • 강의 말미에 [[STRONG_1]]인터뷰 연습 챕터[[/STRONG_1]] 수록[[BR]]개념 → 정리 → 실전 설명까지 이어지는 흐름 설계

Hash Table Core Questions Summary

👀 Course Preview

If the video is frozen, please refresh the page 😊

Explanation of Key Operations in Binary Search Trees

Heap Operation Implementation Explanation

💡 Looking for other interview preparation courses? Check out the roadmap below :)

🔗 Technical Interview Master Roadmap

Technical Interview Master Roadmap

Notes Before Taking the Course

Learning Materials

  • Learning materials format provided: PDF


Languages Used

  • Python

Prerequisites

  • It's helpful if you have experience learning a programming language.

Recommended for
these people

Who is this course right for?

  • I've tried coding but I'm confused about data structure concepts or lack confidence as a beginner developer

  • Job seekers and career changers who want to quickly review data structure concepts before technical interviews

  • Someone who gets stuck on choosing the right data structure or implementation approach while solving algorithm problems

  • For those who find structures like trees, graphs, and heaps too complex

Need to know before starting?

  • It's helpful if you've learned a programming language before!

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 14min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

14 reviews

4.9

14 reviews

  • 코코볼먹자님의 프로필 이미지
    코코볼먹자

    Reviews 7

    Average Rating 5.0

    Edited

    5

    53% enrolled

    자료구조 공부한걸 면접 전 리마인드 하기 좋은 강의입니다. 나머지도 완강하겠습니다!!

    • pray님의 프로필 이미지
      pray

      Reviews 11

      Average Rating 4.5

      5

      71% enrolled

      이해가 잘돼요!

      • joo님의 프로필 이미지
        joo

        Reviews 2

        Average Rating 5.0

        Edited

        5

        59% enrolled

        자료구조가 전반적으로 잘 정리되어 있어서 공부에 도움 되는 강의였습니다. 감사합니다!

        • 이용준
          Instructor

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

      • 100and님의 프로필 이미지
        100and

        Reviews 23

        Average Rating 4.8

        5

        53% enrolled

        전반적인 자료구조의 형태를 학습하기 좋은 강의입니다. 컴팩트한데 주요한 포인트들이 모두 녹아져 있어서 아주 좋았어요!

        • 이용준
          Instructor

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

      • aerolbn님의 프로필 이미지
        aerolbn

        Reviews 30

        Average Rating 5.0

        Edited

        5

        71% enrolled

        자료구조는 컴퓨터 프로그램의 기본이고 꽃이라고 생각합니다. 이 강의는 내용이 방대하고, 정리하기 어려운 자료구조를 필수 핵심내용을 중심으로 아주 잘 정리된 강의라 생각합니다. 열강해 주셔서 감사합니다. ^^

        • 이용준
          Instructor

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

      $17.60

      yiyj10305235's other courses

      Check out other courses by the instructor!

      Similar courses

      Explore other courses in the same field!