강의

멘토링

커뮤니티

Programming

/

Algorithm & Data Structure

Data Structures That Make Sense

This is a core CS (computer-science) lecture that organizes essential data structure concepts, which are required for practical work and interviews, centered around intuitive flow and diagrams. It covers the entire range from arrays and lists to trees, graphs, and heaps, selecting only the key parts. It's designed to help even first-time learners quickly grasp the overall context by explaining concepts in a connected structure rather than a simple enumeration. The slides are structured in an organized note format suitable for review, and are especially recommended for those looking for a final review before an interview or who wish to solidify their basic concepts.

(4.9) 14 reviews

161 learners

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

Reviews from Early Learners

What you will gain after the course

  • Principles and implementation methods of major data structures like Array, List, Stack, Queue, Tree, Graph, Heap, etc.

  • Data Structure Selection Criteria: Time/Space Complexity & Pros/Cons Comparison

  • Basic Review for Confidently Answering 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 only focused on algorithms and coding tests. 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 not easy. During 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. 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 in 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

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 unstable.'
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 safe... 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 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 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 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 point that the greatest learning effect comes from completing the course itself, rather than hoarding 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 a clear 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 is a tedious task.

  • This course includes "answering 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 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 while 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-studying 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 reorganizing various materials to create 'my own comprehensive 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-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 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 fifth lecture [Data Structures] from the Technical Interview Master Roadmap.


📕 Data Structures, 'When to Use What?' Develop That Intuition!

Data structures go beyond simply knowing the concepts,

  • Still confused about when to use stacks and queues

  • Are you feeling overwhelmed about how complex data structures like trees or graphs are actually applied to real-world problems

In other words, it's a subject where you need to develop intuition about "when and which structure to use". However, for beginners, various structures are scattered in fragments, and it's often frustrating because they can't get a sense of where and how stacks/queues/trees/graphs are used.

This course is designed specifically for those people, 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 CS theory.


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

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

How do stacks and queues process data according to what 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 structured it so you can clearly distinguish and understand essential concepts such as hierarchical structure, presence of cycles, and traversal methods.

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


📌 At the end of the lecture, 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?" and other
training to organize and articulate answers to frequently asked technical interview questions can be practiced.

📖 A curriculum packed with only the essentials

Here are 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 around.

  1. Data Structure 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

  6. Tree

    • Types of Trees, Binary Search Trees, Binary Tree Traversal

  7. Hip

    • Heap Operations, Heap Implementation and Usage, Priority Queue

  8. [Appendix] Interview Practice

    • Review the main concepts once more in a Q&A format

✏ Here's what you'll learn

1⃣ Data Structures: Getting a Feel Through Structure and Flow

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

  • Structured so that even beginners can understand how data flows like a picture

Explaining the principles of heap operations with diagrams

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

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

  • Which data structures to use for different problem situations
    Practical insights and algorithm problem-solving criteria presented together

Comparison of Time Complexity and Space Complexity

3⃣ Detailed analysis of how it works by examining the actual implementation code

  • Learning major data structures with directly implemented code

  • Rather than 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 stack and queue?", "Why do hash collisions occur and how do you resolve them?" etc.
    Includes training to explain frequently asked interview questions in one or two sentences

  • At the end of the lecture, interview practice chapter included
    Flow designed from concept → summary → practical explanation

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

💡 Curious about another interview preparation course? Check out the roadmap below :)

🔗 Technical Interview Master Roadmap

Technical Interview Master Roadmap

Pre-enrollment Reference Information

Learning Materials

  • Learning materials format provided: PDF


Language Used

  • Python

Prerequisites

  • It would be great if you have experience learning programming languages.

Recommended for
these people

Who is this course right for?

  • Dev beginners who've coded, yet data structures confuse them or they lack confidence.

  • Job seekers and career changers looking to quickly review data structure concepts ahead of a technical interview.

  • People getting stuck on data structure selection criteria or implementation methods while solving algorithm problems.

  • People who find structures like trees, graphs, and heaps too complex.

Need to know before starting?

  • Learned programming language? Great!

Hello
This is

2,427

Learners

121

Reviews

12

Answers

4.9

Rating

7

Courses

About Me

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

 

학력 및 경력

  • 서울대학교 졸업

  • 현 카카오 서버 개발자

 

강의 철학

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

 

강의 스타일

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

  • 도해 중심의 구조적 설명

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

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

 

블로그

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

     

 

Contact

yiyj1030@gmail.com

Curriculum

All

17 lectures ∙ (2hr 21min)

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!