강의

멘토링

로드맵

Programming

/

Algorithm & Data Structure

[CS Technical Interview 5] 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) 8 reviews

92 learners

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

Reviews from Early Learners

What you will learn!

  • 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 someone from a non-computer science background, I initially focused only on algorithms and coding tests when preparing for my first developer job. I gained 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 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. I painfully realized that passive learning through simply reading and understanding wasn't enough to answer questions in real interviews.

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

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, while 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 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 should be connected as one coherent 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 preparing for technical interviews who need to be able to articulate CS fundamentals verbally

  • "I've studied before, but I can't bring myself to reorganize all that vast CS knowledge again"
    → You don't need to open your textbooks again. We'll structure and clearly organize only the core essentials.

  • "I need to prepare for technical interviews, but as a non-CS major, I don't know which subjects to study or how to approach them."


    Follow the roadmap to focus on learning only the core CS concepts.


  • "Enough, I don't have time. I need a way to quickly study only the core topics that are likely to be covered in interviews"
    → Detailed lecture materials and interview practice chapters are prepared that allow for quick self-study even when studying alone.

⚡ 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

  • We focused on the fact that completing the entire course itself provides the greatest learning effect, 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.

  • While building fundamental skills, it's ultimately structured 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 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 "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 learn core concepts while listening to the lectures.
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 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 reconstructing various materials to create 'my own consolidated 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-CS 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, combined with 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 is best to use?" However, for beginners, various structures are scattered in fragments, and it often causes frustration 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 advantages, disadvantages, 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 to those who want to organize CS theory.


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

How are arrays and linked lists structurally different, 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 the content to help you 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

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 thoroughly this time.

  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, Hash Function Collision Resolution Methods

  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 key concepts once more in Q&A format

✏ Here's what you'll learn

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

  • Arrays, lists, queues, stacks, hashes, 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 structure to use for different problem situations
    Practical sense and algorithm problem-solving criteria presented together

Comparison of Time Complexity and Space Complexity

3⃣ Analyze the operation method in detail by looking at the direct implementation code

  • Learn 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 other interview preparation courses? Check out the roadmap below :)

🔗 Technical Interview Master Roadmap


From non-majors unfamiliar with CS concepts to job seekers desperately needing to pass interviews in a short time!

I designed this to connect the core concepts of computer science(computer-science) through an intuitive flow and develop practical explanation skills that you can immediately apply in interviews. This roadmap covers not only computer architecture, operating systems, networks, databases, and data structures, but also the fundamentals of programming languages like Java.


This complete roadmap consists of a total of 384 pagesof comprehensive core materials, 135lectures, and a total of 17 hours and 01 minutesof intensive curriculum. All lectures break down even complex concepts with easy-to-understand diagrams and explanations, allowing you to master them completely on your own. Composed of reviewable slidesrather than presentation materials, it helps you make fundamental concepts completely your own.


The series structure is as follows:

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

1,359

Learners

82

Reviews

8

Answers

4.9

Rating

6

Courses

학력 및 경력

  • 서울대학교 졸업

  • 現 카카오 개발자

     

배경

  • 컴퓨터 비전공자 출신

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

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

주요 이력

강의 철학

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

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

블로그

Contact

  • yiyj1030@gmail.com

Curriculum

All

17 lectures ∙ (2hr 21min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

8 reviews

4.9

8 reviews

  • joo님의 프로필 이미지
    joo

    Reviews 2

    Average Rating 5.0

    Edited

    5

    59% enrolled

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

    • 이용준
      Instructor

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

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

    Reviews 22

    Average Rating 4.8

    5

    53% enrolled

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

    • 이용준
      Instructor

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

  • aerolbn님의 프로필 이미지
    aerolbn

    Reviews 29

    Average Rating 5.0

    Edited

    5

    71% enrolled

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

    • 이용준
      Instructor

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

  • HeeYaa님의 프로필 이미지
    HeeYaa

    Reviews 10

    Average Rating 5.0

    5

    88% enrolled

    자료구조 내용 정리하는데 큰 도움이 됐습니다 감사합니다 !

    • 이용준
      Instructor

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

  • nhs1325님의 프로필 이미지
    nhs1325

    Reviews 6

    Average Rating 5.0

    5

    100% enrolled

    좋은 강의 덕분에 발걸음을 뗄 수 있었습니다. 앞으로 여정을 시작해보겠습니다. 감사합니다!

    • 이용준
      Instructor

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

$17.60

yiyj10305235's other courses

Check out other courses by the instructor!

Similar courses

Explore other courses in the same field!